Răsfoiți Sursa

Z991239-5945 #comment 优化摄像头状态切换逻辑

80274480 9 luni în urmă
părinte
comite
366281dd49
1 a modificat fișierele cu 18 adăugiri și 3 ștergeri
  1. 18 3
      Module/mod_mediacontroller/mod_mediacontroller.cpp

+ 18 - 3
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -1656,13 +1656,28 @@ void CMediaControllerEntity::OnLog( const CAutoArray<CUUID> &SubIDs, const CUUID
 			char cdevid = pszMessage[0];
 			int idevid = cdevid - '0';
 			if (idevid == capture_get_video_device_id(conf.strVideoEnv)) {
-				m_nCameraErrorCode = Error_EnvCamera;
 				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env camera no mathed resolution.");
+				if (eStand1SPlusType == m_eDeviceType) {
+					m_nCameraErrorCode = Error_AllCamera;
+				}
+				else {
+					if (m_nCameraErrorCode == Error_Succeed) {
+						m_nCameraErrorCode = Error_EnvCamera;
+					}
+					else if (m_nCameraErrorCode == Error_OptCamera) {
+						m_nCameraErrorCode = Error_AllCamera;
+					}
+				}
 				ChangeSysvar(m_nCameraErrorCode);
 			}
 			else if(idevid == capture_get_video_device_id(conf.strVideoOpt)){
-				m_nCameraErrorCode = Error_OptCamera;
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env camera no mathed resolution.");
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("opt camera no mathed resolution.");
+				if (m_nCameraErrorCode == Error_Succeed){
+					m_nCameraErrorCode = Error_OptCamera;
+				}
+				else if (m_nCameraErrorCode == Error_EnvCamera){
+					m_nCameraErrorCode = Error_AllCamera;
+				}
 				ChangeSysvar(m_nCameraErrorCode);
 			}
 			else {