소스 검색

Z991239-5263 #comment 解决编译失败问题

80274480 1 년 전
부모
커밋
83fecd454f
2개의 변경된 파일30개의 추가작업 그리고 16개의 파일을 삭제
  1. 16 16
      Module/mod_mediacontroller/capture.cpp
  2. 14 0
      Module/mod_mediacontroller/capture.h

+ 16 - 16
Module/mod_mediacontroller/capture.cpp

@@ -10,6 +10,7 @@
 #include "video_common/ffmpeg_api_cpp_adapter.h"
 #else
 #include "imediadeviceinfo.h"
+#include <unistd.h>
 #endif // RVC_OS_WIN
 
 
@@ -101,6 +102,16 @@ static void __audiomgrlog(void* user_data, const char* fmt, va_list arg)
 }
 
 
+static void rvc_sleep(uint32_t umicroseconds) 
+{
+#ifdef RVC_OS_WIN
+	::Sleep(umicroseconds);
+#else
+	usleep(umicroseconds * 1000);
+#endif // RVC_OS_WIN
+}
+
+
 #ifdef RVC_OS_WIN
 static char* utf8togb2312(const char* utf8)
 {
@@ -1199,13 +1210,7 @@ static void video_capture_destroy(video_capture_t *video_cap)
 
 static int get_video_capture_fps(int icapfps)
 {
-	int ifps = REC_COMMON_VIDEO_PADRAW_FPS;
-	if (eMobilePadType == g_eDeviceType){
-		ifps = REC_COMMON_VIDEO_PADRAW_FPS;
-	}
-	else{
-		ifps = REC_COMMON_VIDEO_RAW_FPS;
-	}
+	int ifps = REC_COMMON_VIDEO_RAW_FPS;
 
 	if (icapfps <=30 && icapfps >=5){
 		ifps = icapfps;
@@ -1260,12 +1265,7 @@ static int video_capture_start_win(video_capture_t* video_cap)
 	param.frame_fmt = VIDEO_FORMAT_RGB24;
 	param.cap_frame_format = VIDEO_FORMAT_YUY2;
 	
-	if (eMobilePadType == g_eDeviceType){
-		param.fps = REC_COMMON_VIDEO_PADRAW_FPS;
-	} 
-	else{
-		param.fps = REC_COMMON_VIDEO_RAW_FPS;
-	}
+	param.fps = REC_COMMON_VIDEO_RAW_FPS;
 
 	param.on_frame = (video_cap->camera_type == CAMERA_TYPE_ENV ? &env_cap_on_frame : &opt_cap_on_frame);
 	param.user_data = video_cap;
@@ -1596,7 +1596,7 @@ namespace MediaController {
 				{
 					if (cap->env_video) 
 					{
-						::Sleep(3000);
+						rvc_sleep(cap->config.uintervaltime);
 					}
 					rc = video_capture_start(cap->opt_video);
 					if (rc != Error_Succeed) 
@@ -1630,7 +1630,7 @@ namespace MediaController {
 				{
 					if (cap->env_video) 
 					{
-						::Sleep(3000);
+						rvc_sleep(cap->config.uintervaltime);
 					}
 					rc = video_capture_start(cap->opt_video);
 					if (rc != Error_Succeed) 
@@ -1661,7 +1661,7 @@ namespace MediaController {
 			{
 				if (cap->env_video) 
 				{
-					::Sleep(3000);
+					rvc_sleep(cap->config.uintervaltime);
 				}
 				rc = video_capture_start(cap->opt_video);
 				if (rc != Error_Succeed) 

+ 14 - 0
Module/mod_mediacontroller/capture.h

@@ -35,6 +35,19 @@ extern "C"{
 #define CAPTURE_CLOCK		8000
 #endif
 
+#define  CAMERA_BUG_THRESHOLD   6
+#define  CAMERA_TIMEOUT        15
+#define  CAMERA_MIN_TIMEOUT	   5
+#define  CAMERA_RESTARTNUM     6
+
+#ifndef RVC_MAX_DELAY_TIME
+#define RVC_MAX_DELAY_TIME 180
+#endif // !RVC_MAX_DELAY_TIME
+
+#ifndef RVC_CAM_INTERVAL_TIME
+#define RVC_CAM_INTERVAL_TIME 3000
+#endif // !RVC_CAM_INTERVAL_TIME
+
 namespace MediaController {
 	typedef struct capture_t capture_t;
 	typedef struct rvc_sales_audio_capture_s rvc_sales_audio_capture_t;
@@ -53,6 +66,7 @@ namespace MediaController {
 		volatile LONG *ref_env_capture_count;
 		volatile LONG *ref_opt_capture_count;
 		volatile LONG *ref_envopt_capture_count;
+		unsigned int uintervaltime;
 #ifdef RVC_OS_LINUX
 		pthread_mutex_t* env_mutex;
 		pthread_mutex_t* opt_mutex;