Browse Source

Z991239-2910 #comment [mod_sipphone] 增加连线时图像渲染窗口创建和销毁告警信息

陈礼鹏80274480 3 năm trước cách đây
mục cha
commit
83970757b6

+ 6 - 0
Module/mod_sipphone/Event.h

@@ -78,6 +78,12 @@
 #define EVENT_MOD_SIP_PICKUP_IN_AUDIO_DEVICE_CLOSE					0x30190025
 #define EVENT_MOD_SIP_PICKUP_OUT_AUDIO_DEVICE_CLOSE					0x30190026
 
+
+#define EVENT_MOD_SIP_LOCAL_VIDEO_RENDER_CREATE						0x30190031
+#define EVENT_MOD_SIP_REMOTE_VIDEO_RENDER_CREATE					0x30190032
+#define EVENT_MOD_SIP_LOCAL_VIDEO_RENDER_DESTROY					0x30190033
+#define EVENT_MOD_SIP_REMOTE_VIDEO_RENDER_DESTROY					0x30190034
+
 //event
 #define EVENT_MOD_CONNECT_PICKUP_CALL	0x10303041	// 提机呼叫
 

+ 8 - 9
Module/mod_sipphone/video_session.cpp

@@ -1765,13 +1765,12 @@ static void stop_video(video_session_t *session)
 	}
 #endif // RVC_OS_WIN
 
-	if (session->rtp)
-	{
+	if (session->rtp){
 		Dbg("begin stop video rtp.");
 		videortp_stop(session->rtp);
 		videortp_destroy(session->rtp);
 		session->rtp = NULL;
-}
+	}
 	else {
 		Dbg("session->rtp == null");
 	}
@@ -1793,11 +1792,15 @@ static void stop_video(video_session_t *session)
 	if (session->plocal_render){
 		DestroyVideoRenderObj(session->plocal_render);
 		session->plocal_render = NULL;
+		LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_LOCAL_VIDEO_RENDER_DESTROY, "local video render destroy.");
+		Dbg("local video render destroy.");
 	}
 
 	if (session->premote_render){
 		DestroyVideoRenderObj(session->premote_render);
 		session->premote_render = NULL;
+		LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_REMOTE_VIDEO_RENDER_DESTROY, "remote video render destroy.");
+		Dbg("remote video render destroy.");
 	}
 #endif
 
@@ -2231,9 +2234,8 @@ void* videorender_func(void* arg)
 		tparam.icy = session->conf.local_video_view_y;
 		tparam.uwidth = session->conf.local_video_view_cx;
 		tparam.uheight = session->conf.local_video_view_cy;
-		//tparam.uvideowidth = REC_COMMON_VIDEO_PREVIEW_WIDTH;
-		//tparam.uvideoheight = REC_COMMON_VIDEO_PREVIEW_HEIGHT;
 		tparam.ivideoformat = VIDEO_FORMAT_RGB24;
+		LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_LOCAL_VIDEO_RENDER_CREATE, "local video render create.");
 		if (0 == session->plocal_render->VideoRenderSetParam(&tparam)){
 			session->plocal_render->HideVideoWindow();
 		}
@@ -2252,12 +2254,11 @@ void* videorender_func(void* arg)
 			tparam_remote.icy = session->conf.remote_video_view_y;
 			tparam_remote.uwidth = session->conf.remote_video_view_cx;
 			tparam_remote.uheight = session->conf.remote_video_view_cy;
-			//tparam_remote.uvideowidth = REC_COMMON_VIDEO_DSM_AGENT_WIDTH;
-			//tparam_remote.uvideoheight = REC_COMMON_VIDEO_DSM_AGENT_HEIGHT;
 			tparam_remote.ivideoformat = VIDEO_FORMAT_RGB24;
 			if (0 == session->premote_render->VideoRenderSetParam(&tparam_remote)) {
 				//session->premote_render->ShowVideoWindow();
 			}
+			LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_REMOTE_VIDEO_RENDER_CREATE, "remote video render create.");
 		}
 		else {
 			Dbg("session remote video render is null.");
@@ -2266,10 +2267,8 @@ void* videorender_func(void* arg)
 
 	if (session->plocal_render){
 		start_video(session);
-		//session->plocal_render->ShowVideoWindow();
 		bool bshow_local = false;
 		bool bset = true;
-		//session->premote_render->ShowVideoWindow();
 		
 		session->plocal_render->StartVideoRender();
 		for (; ; ) {

+ 4 - 2
Other/libvideorender/libvideorender.cpp

@@ -37,19 +37,20 @@ VideoRenderImpl::~VideoRenderImpl()
 	if (NULL != m_rending_texture) {
 		SDL_DestroyTexture(m_rending_texture);
 		m_rending_texture = NULL;
+		RenderLog("DestroyTexture.");
 	}
 
 	if (NULL != m_renderer) {
 		SDL_DestroyRenderer(m_renderer);
 		m_renderer = NULL;
+		RenderLog("DestroyRenderer.");
 	}
 
 	if (NULL != m_sdl_window) {
 		SDL_DestroyWindow(m_sdl_window);
 		m_sdl_window = NULL;
+		RenderLog("DestroyWindow.");
 	}
-		
-	//SDL_Quit();
 }
 
 int VideoRenderImpl::SetWindowProperty(videorender_param_t* tparam)
@@ -343,6 +344,7 @@ int VideoRenderImpl::StopVideoRender()
 	RenderLog("%s:%d m_refresh_thread is 0x%08x.",__FUNCTION__, __LINE__, m_refresh_thread);
 	if (NULL != m_refresh_thread){
 		SDL_WaitThread(m_refresh_thread, NULL);
+		m_refresh_thread = NULL;
 		RenderLog("%s:%d video refresh thread exit.",__FUNCTION__, __LINE__);
 	}