Przeglądaj źródła

Z991239-6387 #comment: 交易录像录制流程优化

80274480 1 miesiąc temu
rodzic
commit
a440e0df6a

+ 20 - 6
Other/libvideorecord/libvideorecord_impl.cpp

@@ -735,6 +735,11 @@ int libvideorecord_impl::VideoRecord()
 					ReNameVideo();
 				}
 			}
+
+			if (m_bPauseRecord) {
+				m_pHostApi->Debug(RECORD_LOG_DEBUG, "reset media queue.");
+				ResetMediaQueue();
+			}
 		}
 		else{
 			if (eStand2Agent == m_eRecordType) {
@@ -1746,6 +1751,7 @@ void libvideorecord_impl::vDebug(const char* str, va_list list)
 
 bool libvideorecord_impl::ContinueRecord()			//继续录像
 {
+	m_pHostApi->Debug(RECORD_LOG_DEBUG, "continue record");
 #ifdef _WIN32
 #else
 	InitAudioQueue();
@@ -1793,13 +1799,9 @@ bool libvideorecord_impl::StopVideoRecord()				//退出
 
 bool libvideorecord_impl::PauseRecord()				//暂停录像
 {
+	m_pHostApi->Debug(RECORD_LOG_DEBUG, "pause record");
 	m_bPauseRecord = true;
-#ifdef _WIN32
-#else
-	RECORD_SAFE_DELETE(m_local_audioqueue);
-	RECORD_SAFE_DELETE(m_env_videoqueue);
-	RECORD_SAFE_DELETE(m_opt_videoqueue);
-#endif
+
 	return true;
 }
 
@@ -2359,4 +2361,16 @@ bool libvideorecord_impl::InitVideoRecordParams()
 	bRet = true;
 
 	return bRet;
+}
+
+
+bool libvideorecord_impl::ResetMediaQueue()
+{
+#ifdef _WIN32
+#else
+	RECORD_SAFE_DELETE(m_local_audioqueue);
+	RECORD_SAFE_DELETE(m_env_videoqueue);
+	RECORD_SAFE_DELETE(m_opt_videoqueue);
+#endif
+	return true;
 }

+ 1 - 1
Other/libvideorecord/libvideorecord_impl.h

@@ -127,7 +127,7 @@ private:
 	int HandleLeftAudioData();
 	bool AddMuteAudioFrame(bool bLocal, int iAudioFrameSize);
 	bool InitDefaultAudioParams(audio_frame* paudio);
-
+	bool ResetMediaQueue();
 
 private:
 	bool m_bStopRecord;