From 67575bb2e1802ec81d69088285fd93a91c1ce932 Mon Sep 17 00:00:00 2001 From: "Weiwei.Zhou" Date: Tue, 24 Sep 2019 20:48:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Common/config.cpp | 4 ++++ src/Common/config.h | 2 ++ src/MediaFile/MediaReader.cpp | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/src/Common/config.cpp b/src/Common/config.cpp index b8cbc458..fa4a1c44 100644 --- a/src/Common/config.cpp +++ b/src/Common/config.cpp @@ -268,12 +268,16 @@ const string kFilePath = RECORD_FIELD"filePath"; //mp4文件写缓存大小 const string kFileBufSize = RECORD_FIELD"fileBufSize"; +//mp4文件是否重头循环读取 +const string kFileRepeat = RECORD_FIELD"fileRepeat"; + onceToken token([](){ mINI::Instance()[kAppName] = RECORD_APP_NAME; mINI::Instance()[kSampleMS] = RECORD_SAMPLE_MS; mINI::Instance()[kFileSecond] = RECORD_FILE_SECOND; mINI::Instance()[kFilePath] = RECORD_FILE_PATH; mINI::Instance()[kFileBufSize] = 64 * 1024; + mINI::Instance()[kFileRepeat] = false; },nullptr); } //namespace Record diff --git a/src/Common/config.h b/src/Common/config.h index 7e115263..89ed9cb1 100644 --- a/src/Common/config.h +++ b/src/Common/config.h @@ -268,6 +268,8 @@ extern const string kFileSecond; extern const string kFilePath; //mp4文件写缓存大小 extern const string kFileBufSize; +//mp4文件是否重头循环读取 +extern const string kFileRepeat; } //namespace Record ////////////HLS相关配置/////////// diff --git a/src/MediaFile/MediaReader.cpp b/src/MediaFile/MediaReader.cpp index 8bf100b8..a39d1354 100644 --- a/src/MediaFile/MediaReader.cpp +++ b/src/MediaFile/MediaReader.cpp @@ -200,6 +200,11 @@ bool MediaReader::readSample(int iTimeInc,bool justSeekSyncFrame) { if((bFlag0 || bFlag1) && bFlag2){ _alive.resetTime(); } + //重头开始循环读取 + GET_CONFIG(bool,fileRepeat,Record::kFileRepeat); + if (fileRepeat && !bFlag0 && !bFlag1) { + seek(0); + } //DebugL << "alive ..."; //3秒延时关闭 return _alive.elapsedTime() < 3 * 1000;