Selaa lähdekoodia

Z991239-6192 #comment: 优化采集不到音频告警信息

80274480 5 kuukautta sitten
vanhempi
sitoutus
7d1e2a3e92

+ 1 - 0
Module/mod_mediacontroller/Event.h

@@ -31,6 +31,7 @@
 #define ERROR_MOD_MEDIACONTROLLER_RECORD_DISKFULL			0x20880031  //录像磁盘满,级别2
 #define ERROR_MOD_MEDIACONTROLLER_RECORD_WRITEFAIL			0x20880032  //录像写入失败,级别3
 
+#define ERROR_MOD_MEDIACONTROLLER_HANDFREEIN_BUG			0x20880040
 //warning
 #define ERROR_MOD_MEDIACONTROLLER_HANDFREE_OPENFAIL			0x20880041  //打开免提失败,级别3	
 

+ 23 - 0
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -619,6 +619,8 @@ void CMediaControllerEntity::OnTimeHandfreeMicroStatusCheck()
 	int audioin_n = -1;
 	unsigned int nHandfreeinAudioTime = 0;
 	static int iAudioInEmptyTimes = 0;
+	static bool bTimeout = false;
+	static bool bPost = false;
 
 	capture_detect_audioin_bug(m_capture, &audioin_n);
 	capture_get_last_audio_frametime(m_capture, &nHandfreeinAudioTime);
@@ -640,6 +642,27 @@ void CMediaControllerEntity::OnTimeHandfreeMicroStatusCheck()
 		}
 		iAudioInEmptyTimes = 0;
 	}
+
+	if (nHandfreeinAudioTime > 0)
+	{
+		if (((y2k_time_now() - nHandfreeinAudioTime) > 60) && !bTimeout)
+		{
+			bTimeout = true;
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("bTimeout.");
+		}
+		else if (((y2k_time_now() - nHandfreeinAudioTime) < m_iCamTimeout) && bTimeout)
+		{
+			bTimeout = false;
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("change handfree audio in from bTimeout to ok.");
+		}
+	}
+
+	if (((iAudioInEmptyTimes == AUDIO_BUG_THRESHOLD) || bTimeout)&& (!bPost))
+	{
+		LogWarn(Severity_Middle, Error_Hardware, ERROR_MOD_MEDIACONTROLLER_HANDFREEIN_BUG, "免提麦克风故障,采集不到音频");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setResultCode("RTA2820")("免提麦克风故障,采集不到音频");
+		bPost = true;
+	}
 }
 
 void CMediaControllerEntity::OnTimeCameraStatusCheck()