瀏覽代碼

Z991239-4787 #comment 优化摄像头故障时异常处理流程

80274480 2 年之前
父節點
當前提交
7e0d84a433

+ 1 - 1
Module/mod_counterconnector/ConnectorFSM.cpp

@@ -361,7 +361,7 @@ int ACMCallFSM::GetCallRouteList()
 			}
 
 			char strmsg[MAX_PATH] = { 0 };
-			_snprintf(strmsg, MAX_PATH, "call type is %d, http call route queue name is %s, and client level is %s.", m_CallingParam.nCallType, http_callinfo.strQueueName.GetData(), http_callinfo.strAddClientLevel.GetData());
+			snprintf(strmsg, MAX_PATH, "call type is %d, http call route queue name is %s, and client level is %s.", m_CallingParam.nCallType, http_callinfo.strQueueName.GetData(), http_callinfo.strAddClientLevel.GetData());
 			LogWarn(Severity_Low, Error_Debug, LOG_WARN_COUNTERCONNECT_CALL_QUEUE_INFO, strmsg);
 
 			http_callinfo.strTerminalNo = m_strTerminalId;

+ 5 - 5
Module/mod_interactivecontrol/mod_interactivecontrol.cpp

@@ -1303,7 +1303,7 @@ ErrorCodeEnum CITCtrlEntity::SaveVideo(CSimpleStringA strVideoName)
 	}
 	else{
 		char strmsg[MAX_PATH] = { 0 };
-		_snprintf(strmsg, MAX_PATH, "Save video failed for 0x%08x", rc);
+		snprintf(strmsg, MAX_PATH, "Save video failed for 0x%08x", rc);
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(strmsg);
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040230BZ70301").setResultCode("RTA3B3B")(strmsg);
 	}
@@ -1345,7 +1345,7 @@ ErrorCodeEnum CITCtrlEntity::StartRemoteRecord(CSimpleStringA strVideoName)
 	}
 	else{
 		char strmsg[MAX_PATH] = { 0 };
-		_snprintf(strmsg, MAX_PATH, "start remote record failed for 0x%08x", rc);
+		snprintf(strmsg, MAX_PATH, "start remote record failed for 0x%08x", rc);
 		LogWarn(Severity_Middle, Error_Debug, LOG_EVT_START_REMOTERECORD_FAILED, strmsg);
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040230BZ70101").setResultCode("RTA3B34")(strmsg);
 	}
@@ -1372,7 +1372,7 @@ ErrorCodeEnum CITCtrlEntity::StopRecord(CSimpleStringA strVideoName)
 	}
 	else{
 		char strmsg[MAX_PATH] = {0};
-		_snprintf(strmsg, MAX_PATH, "Stop record failed for 0x%08x", rc);
+		snprintf(strmsg, MAX_PATH, "Stop record failed for 0x%08x", rc);
 		LogError(Severity_High, Error_Debug, LOG_EVT_STOP_REMOTERECORD_FAILED, strmsg);
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040230BZ70201").setResultCode("RTA3B39")(strmsg);
 	}
@@ -1788,7 +1788,7 @@ ErrorCodeEnum CITCtrlEntity::StartTransactionRecord(CSimpleStringA strVideoName)
 	}
 	else {
 		char strmsg[MAX_PATH] = { 0 };
-		_snprintf(strmsg, MAX_PATH, "start transaction record failed for 0x%08x", rc);
+		snprintf(strmsg, MAX_PATH, "start transaction record failed for 0x%08x", rc);
 		LogWarn(Severity_Middle, Error_Debug, LOG_EVT_START_TRANSACTIONRECORD_FAILED, strmsg);
 	}
 
@@ -1812,7 +1812,7 @@ ErrorCodeEnum CITCtrlEntity::StopTransactionRecord(CSimpleStringA strVideoName)
 	}
 	else {
 		char strmsg[MAX_PATH] = { 0 };
-		_snprintf(strmsg, MAX_PATH, "stop transaction record failed for 0x%08x", rc);
+		snprintf(strmsg, MAX_PATH, "stop transaction record failed for 0x%08x", rc);
 		LogWarn(Severity_Middle, Error_Debug, LOG_EVT_STOP_TRANSACTIONRECORD_FAILED, strmsg);
 	}
 

+ 1 - 1
Module/mod_localmediaplay/AdvertManage/BaseFun.cpp

@@ -245,7 +245,7 @@ bool createDir(const string &filePath)
 BOOL IsDirectory(const char *pDir)
 {
 	char szCurPath[500] = {0};
-    sprintf_s(szCurPath, 500, "%s//*", pDir);
+    snprintf(szCurPath, 500, "%s//*", pDir);
 #ifdef RVC_OS_WIN
 	WIN32_FIND_DATAA FindFileData;
 	ZeroMemory(&FindFileData, sizeof(WIN32_FIND_DATAA));

+ 3 - 5
Module/mod_mediacontroller/capture.cpp

@@ -2709,28 +2709,26 @@ namespace MediaController {
 		if (strDeviceName.GetLength() > 0){
 			const char* strCameraName = strDeviceName.GetData();
 			char strBuffer[MAX_PATH] = {0};
-			if (sprintf_s(strBuffer, MAX_PATH, "%s", strCameraName) > 0){
+			if (snprintf(strBuffer, MAX_PATH, "%s", strCameraName) > 0){
 				char *pIndex = NULL;
 				if (pIndex = (char*)strstr(strBuffer, ";")){
 					*pIndex = '\0';
 				}
 			}
-			
 			if (NULL != strErrorMessage){
 				size_t uDataLen = strlen(strBuffer);
 				size_t uErrorLen = strlen(strErrorMessage);
 				if (uLen > uDataLen + uErrorLen + 10){
-					iRet = sprintf_s(pBuffer, uLen, "[%s] %s", strBuffer, strErrorMessage);
+					iRet = snprintf(pBuffer, uLen, "[%s] %s", strBuffer, strErrorMessage);
 				}
 			}
 		}
 
 		if (0 == iRet){
 			if (NULL != strErrorMessage){
-				iRet = sprintf_s(pBuffer, uLen, "%s", strErrorMessage);
+				iRet = snprintf(pBuffer, uLen, "%s", strErrorMessage);
 			}
 		}
-
 		return iRet;
 	}
 }

+ 19 - 8
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -31,7 +31,7 @@ static void __audiomgrlog(void* user_data, const char* fmt, va_list arg)
 CMediaControllerEntity::CMediaControllerEntity(): m_capture(NULL), m_salesaudio_capture(NULL), m_lCaptureEnvCount(0), m_nCameraErrorCode(Error_Succeed),
 m_lCaptureEnvOptCount(0), m_lCaptureOptCount(0), m_iEnvEmptyTimes(0), m_iOptEmptyTimes(0), m_bSendCameraError(false),
 m_nEnvCameraRestartNum(0), m_nOptCameraRestartNum(0), m_nCameraCount(2), m_pSelfcheckClient(NULL),
-strFrontCam("$"), strRearCam("$"), strEnvCam("$"), strUSBCam("$"), strEwsCam("$"), m_bCustomerwareBegin(false),
+strFrontCam("$"), strRearCam("$"), strEnvCam("$"), strUSBCam("$"),  m_bCustomerwareBegin(false),
 m_bRecordPCM(false), m_bIsRemoteRecord(false), m_bHasStartSpeakerRender(false), m_bConnectedAssist(FALSE){
 
 #ifdef RVC_OS_LINUX
@@ -645,8 +645,8 @@ void CMediaControllerEntity::OnTimeout(DWORD dwTimerID)
 
 void CMediaControllerEntity::OnTimeCameraStatusCheck()
 {
-	int env_n, opt_n;
-	DWORD nLastEnvTime, nLastOptTime;
+	int env_n = -1, opt_n = -1;
+	unsigned int nLastEnvTime = 0, nLastOptTime = 0;
 	bool bEnvTimeout = false;
 	bool bOptTimeout = false;
 
@@ -691,15 +691,21 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("change env camera from bEnvTimeout to OK");
 		}
 	}
+
 	//env是否30S没有图像或者图像20秒没有更新
 	if(((m_iEnvEmptyTimes == CAMERA_BUG_THRESHOLD)||bEnvTimeout)&&(m_nCameraErrorCode!=Error_EnvCamera)&&(m_nCameraErrorCode!=Error_AllCamera))
 	{
 		char strMessage[MAX_PATH*2] = {0};
 		get_camera_exception_message(strMessage, MAX_PATH*2, conf.strVideoEnv, "Env camera bug detected!");
 		char strInfo[MAX_PATH*2] = {0};
-		snprintf(strInfo, MAX_PATH*2, "%s and current time = %u, env last capture time = %u, video queue LastEnvTime = %u.",strMessage, y2k_time_now(), m_capture->env_video->ulastcaptime, nLastEnvTime);
+		if ((NULL != m_capture) && (NULL != m_capture->env_video)) {
+			snprintf(strInfo, MAX_PATH * 2, "%s and current time = %u, env last capture time = %u, video queue LastEnvTime = %u.", strMessage, y2k_time_now(), m_capture->env_video->ulastcaptime, nLastEnvTime);
+		}
+		else {
+			snprintf(strInfo, MAX_PATH * 2, "%s", strMessage);
+		}
+		
 		LogWarn(Severity_Middle, Error_Hardware, ERROR_MOD_MEDIACONTROLLER_ENVCAMERA_BUG, strInfo);
-
 		if ((ePadtype == m_eDeviceType)||(eMobilePadType == m_eDeviceType)||(eDesk2SType == m_eDeviceType)||(eDesk1SType == m_eDeviceType)||(eDesk2SIntegratedType == m_eDeviceType))
 		{
 			m_nCameraErrorCode = Error_AllCamera;
@@ -786,13 +792,20 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("change opt camera from bOptTimeout to OK");
 		}
 	}
+
 	//opt是否100S没有图像或者图像20秒没有更新
 	if(((m_iOptEmptyTimes == CAMERA_BUG_THRESHOLD)||bOptTimeout)&&(m_nCameraErrorCode!=Error_OptCamera)&&(m_nCameraErrorCode!=Error_AllCamera)&&(eStand2sType == m_eDeviceType))
 	{
 		char strMessage[MAX_PATH*2] = {0};
 		get_camera_exception_message(strMessage, MAX_PATH*2, conf.strVideoOpt, "Opt camera bug detected!");
 		char strInfo[MAX_PATH*2] = {0};
-		_snprintf(strInfo, MAX_PATH*2, "%s and current time = %u, opt last capture time = %u, video queue LastOptTime = %u.",strMessage, y2k_time_now(), m_capture->opt_video->ulastcaptime, nLastOptTime);
+		if (NULL != m_capture && NULL != m_capture->opt_video) {
+			snprintf(strInfo, MAX_PATH * 2, "%s and current time = %u, opt last capture time = %u, video queue LastOptTime = %u.", strMessage, y2k_time_now(), m_capture->opt_video->ulastcaptime, nLastOptTime);
+		}
+		else {
+			snprintf(strInfo, MAX_PATH * 2, "%s.", strMessage);
+		}
+		
 		LogWarn(Severity_Middle, Error_Hardware, ERROR_MOD_MEDIACONTROLLER_OPECAMERA_BUG, strInfo);
 		if (m_nCameraErrorCode == Error_Succeed)
 		{
@@ -1214,7 +1227,6 @@ ErrorCodeEnum CMediaControllerEntity::LoadConfig(capture_config_t *conf)
 	CSmartPointer<IEntityFunction> spFunction = GetFunction();
 	CSmartPointer<IConfigInfo> spConfig;
 	SpIniMappingTable table;
-	strEwsCam = "$";
 	ErrorCodeEnum Error = spFunction->OpenConfig(Config_Root, spConfig);
 	if (Error == Error_Succeed) {
 		int imtu = 0;
@@ -1222,7 +1234,6 @@ ErrorCodeEnum CMediaControllerEntity::LoadConfig(capture_config_t *conf)
 		table.AddEntryString("Audio", "handfree_out_dev", conf->strAudioOut, "$");
 		table.AddEntryString("Video", "EnvCamera", conf->strVideoEnv, "$");
 		table.AddEntryString("Video", "OptCamera", conf->strVideoOpt, "$");
-		table.AddEntryString("Video", "EwsCamera", strEwsCam, "$");
 		table.AddEntryInt("Video", "EnvRotate", conf->video_env_rotate, 0);
 		table.AddEntryInt("Video", "OptRotate", conf->video_opt_rotate, 0);
 		table.AddEntryInt("Video", "EnvFps", conf->video_env_fps, 0);

+ 0 - 1
Module/mod_mediacontroller/mod_mediacontroller.h

@@ -137,7 +137,6 @@ public:
 	CSimpleStringA strRearCam;
 	CSimpleStringA strEnvCam;
 	CSimpleStringA strUSBCam;
-	CSimpleStringA strEwsCam;
 	int m_nCameraCount;  
 	int m_nSysCallType;
 	capture_t* m_capture;

+ 2 - 2
Module/mod_recorder/mod_recorder.cpp

@@ -248,13 +248,13 @@ void CRecorderEntity::OnRecordFailed(eRvcRecordFailedCase eCase, const char *psz
 	if (!bRecordDevFault){
 		LogEvent(Severity_Middle,LOG_EVT_RECORDFAILED,"0");
 		char strmsg[MAX_PATH] = {0};
-		_snprintf(strmsg, MAX_PATH, "{%s} 本地录音录像失败,已停止!", pszMessage ? pszMessage : " ");
+		snprintf(strmsg, MAX_PATH, "{%s} 本地录音录像失败,已停止!", pszMessage ? pszMessage : " ");
 		LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDING_FAILED, strmsg);
 	}
 	else{
 		LogEvent(Severity_Middle,LOG_EVT_RECORDFAILED,"1");
 		char strinfo[MAX_PATH] = {0};
-		_snprintf(strinfo, MAX_PATH, "{%s} 本地录音录像设备故障,尝试恢复中(预计10s内),请稍等", pszMessage ? pszMessage : " ");
+		snprintf(strinfo, MAX_PATH, "{%s} 本地录音录像设备故障,尝试恢复中(预计10s内),请稍等", pszMessage ? pszMessage : " ");
 		LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDING_FAILED, strinfo);
 	}
 }

+ 2 - 2
Other/libsharememory/libsharememory.cpp

@@ -77,8 +77,8 @@ public:
 			char szBuf[MAX_PATH] = {0};
 			const char* szFile = tmpnam(szBuf);
 			if (szFile != NULL) {
-				sprintf_s(m_strshmname, MAX_PATH, "%s", szName);
-				sprintf_s(m_strsemname, MAX_PATH, "/mutex.%s", szName);
+				snprintf(m_strshmname, MAX_PATH, "%s", szName);
+				snprintf(m_strsemname, MAX_PATH, "/mutex.%s", szName);
 				m_shid = shm_open(szName, O_CREAT | O_RDWR | O_EXCL, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
 				if (m_shid >= 0) {
 					//Debug("%s:%d shm_open O_CREAT|O_RDWR|O_EXCL success and share memory %s and size is %d", __FUNCTION__, __LINE__, szName, dwBytes);

+ 2 - 2
Other/libvideorecord/libvideorecord_impl.cpp

@@ -1866,7 +1866,7 @@ int libvideorecord_impl::WriteVideoFrame()
 			}
 
 			char strmsg[MAX_PATH] = { 0 };
-			sprintf_s(strmsg, MAX_PATH, "视频流写入失败, remote_audio_length = %d, nVideoFrameSize = %d, noldvideoNum = %d", iremote_audio_length, m_iVideoFrameSize, m_iRecordVideoNum);
+			snprintf(strmsg, MAX_PATH, "视频流写入失败, remote_audio_length = %d, nVideoFrameSize = %d, noldvideoNum = %d", iremote_audio_length, m_iVideoFrameSize, m_iRecordVideoNum);
 			if (0 == iremote_audio_length) {
 				LogFailedEvent(eRemoteAudioGetFailed, strmsg);
 			}
@@ -2100,7 +2100,7 @@ int libvideorecord_impl::WriteAudioFrame()
 	}
 	else {
 		char strinfo[MAX_PATH] = { 0 };
-		sprintf_s(strinfo, MAX_PATH, "音频流写入失败, m_iAudioBufferLen = %d, m_iRecordAudioNum = %d.", m_iAudioBufferLen, m_iRecordAudioNum);
+		snprintf(strinfo, MAX_PATH, "音频流写入失败, m_iAudioBufferLen = %d, m_iRecordAudioNum = %d.", m_iAudioBufferLen, m_iRecordAudioNum);
 		LogFailedEvent(eAudioStreamWriteFailed, strinfo);
 		return -1;
 	}