فهرست منبع

Z991239-1683 #comment other 解决座席端对端视频背景色不对问题

陈礼鹏80274480 4 سال پیش
والد
کامیت
17fc8e3bad

+ 1 - 0
Module/mod_sipphone/video_session.cpp

@@ -23,6 +23,7 @@
 #pragma comment(lib, "dbghelp.lib")
 #else
 #include "videorenderobj.h"
+#include "../../Other/libvideocapture/ivideocaptureinterface.h"
 #include <signal.h>
 #endif // RVC_OS_WIN
 

+ 1 - 4
Other/libvideoframework/video_common/videocommon.c

@@ -20,13 +20,10 @@
 int videoframework_init()
 {
 	//avcodec_init();
+	avcodec_register_all();
 #ifdef _WIN32
 	WSADATA wsaData;
-	avcodec_register_all();
 	WSAStartup(0x0202, &wsaData);
-#else
-	av_register_all();
-	avcodec_register_all();
 #endif // _WIN32
 	return 0;
 }

+ 2 - 2
Other/libvideoframework/video_common/videoutil.c

@@ -456,8 +456,8 @@ int video_frame_fill_black(video_frame *frame)
 {
 	if (frame->format == VIDEO_FORMAT_I420) {
 		memset(frame->data[0], 0, frame->linesize[0]*frame->height);
-		memset(frame->data[1], 0, frame->linesize[1]*frame->height/2);
-		memset(frame->data[2], 0, frame->linesize[2]*frame->height/2);
+		memset(frame->data[1], 128, frame->linesize[1]*frame->height/2);
+		memset(frame->data[2], 128, frame->linesize[2]*frame->height/2);
 	} else if (frame->format == VIDEO_FORMAT_RGB24) {
 		memset(frame->data[0], 0, frame->linesize[0]*frame->height);
 	} else {

+ 4 - 2
Other/libvideoframework/videoframework.h

@@ -4,10 +4,12 @@
 #pragma once
 
 #include "videoutil.h"
+#ifdef _WIN32
 #include "videocap.h"
+#endif
 #include "videoclock.h"
-#include "videorender.h"
-#include "videoview.h"
+//#include "videorender.h"
+//#include "videoview.h"
 #include "videocommon.h"
 
 #endif // VIDEOFRAMEWORK_H

+ 1 - 1
Other/libvideoframework/videoplayer.c

@@ -9,7 +9,7 @@
 #define av_always_inline __inline
 #define inline __inline
 
-#include <libswscale\swscale.h>
+#include <libswscale/swscale.h>
 #include "video_common/ffmpeg_api_adapter.h"
 
 #define WM_MSG_INIT		(WM_APP+1)

+ 17 - 11
Other/libvideoframework/videortp.c

@@ -1176,9 +1176,12 @@ void* recv_proc(void* arg)
 			{
 				unsigned rtcp_flags = 0;
 				int result = rtp_session_recv_rtcp(vrtp->rtp_sess, &rtcp_flags);
+#ifdef _WIN32
 				if (result >= 0) {
-					//receiver_process_rtcp_packet(vrtp, rtcp_flags);
+					receiver_process_rtcp_packet(vrtp, rtcp_flags);
 				}
+#endif
+
 			}
 			do {
 				unsigned short seq = 0;
@@ -1228,16 +1231,19 @@ void* recv_proc(void* arg)
 					}
 
 					//huchen add for video cc
-					//{
-					//	sim_segment_t seg = {0};
-					//	seg.transport_seq = seq;
-					//	//注意,cc中的ts是以真实时间毫秒为单位,rtp的时间戳是90000为1秒,这里需要转换
-					//	seg.timestamp = (send_time==0 ? (ts/(VIDEO_CLOCK/1000)) : send_time);
-					//	seg.data_size = n;
-					//	rtpDbg(vrtp,"%s:%d ", __FUNCTION__, __LINE__);
-					//	sim_recv_video(&seg);
-					//	rtpDbg(vrtp,"%s:%d ", __FUNCTION__, __LINE__);
-					//}
+#ifdef _WIN32
+					{
+						sim_segment_t seg = { 0 };
+						seg.transport_seq = seq;
+						//注意,cc中的ts是以真实时间毫秒为单位,rtp的时间戳是90000为1秒,这里需要转换
+						seg.timestamp = (send_time == 0 ? (ts / (VIDEO_CLOCK / 1000)) : send_time);
+						seg.data_size = n;
+						rtpDbg(vrtp, "%s:%d ", __FUNCTION__, __LINE__);
+						sim_recv_video(&seg);
+						rtpDbg(vrtp, "%s:%d ", __FUNCTION__, __LINE__);
+					}
+#endif
+
 					}
 					video_stats_bandwidth_update_recv_rtp_bytes(n);
 					video_stats_receiver_on_incoming_packet(TimeInMilliseconds());