From 0560a8fce4c9d005655fce5025bc0fda8c58bff8 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 02 十二月 2019 16:15:47 +0800
Subject: [PATCH] update

---
 csrc/wrapper.cpp |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp
index 373ec37..19357c5 100644
--- a/csrc/wrapper.cpp
+++ b/csrc/wrapper.cpp
@@ -46,6 +46,7 @@
     ,gb_(0)
     ,cpu_(0)
     ,run_dec_(false)
+    ,run_stream_(true)
     ,thread_(nullptr)
     ,stop_stream_(false)
     ,stream_(nullptr)
@@ -63,6 +64,7 @@
     ,gb_(0)
     ,cpu_(0)
     ,run_dec_(false)
+    ,run_stream_(true)
     ,thread_(nullptr)
     ,stop_stream_(false)
     ,stream_(nullptr)
@@ -150,7 +152,7 @@
 
         stream_ = new stream(in, 3 * in->getFPS());
         // stream_->AudioSwitch(audio_);
-
+        
         decoder_ = new decoder(in);
 
         rec_->Load(in);
@@ -166,8 +168,8 @@
             p.pts = p.dts = AV_NOPTS_VALUE;
         }
         int flag = 0;
-        if (stream_) stream_->SetPacket(pkt);
-        if (decoder_ && run_dec_) flag = decoder_->SetFrame(pkt);
+        if (run_stream_ && stream_) stream_->SetPacket(pkt);
+        if (run_dec_ && decoder_) flag = decoder_->SetFrame(pkt);
         if (rec_->Loaded()) rec_->SetPacket(pkt);
 
         return flag;
@@ -202,7 +204,7 @@
             int64_t v_id = id;
             int64_t a_id = id;
 
-            bool exist = access(input_url_.c_str(), 0) == 0 ? true : false;
+            bool exist = access(input_url_.c_str(), 0) == 0;
 
             while(!stop_stream_.load()){
                 auto data(std::make_shared<CodedData>());
@@ -261,7 +263,6 @@
             [=]{rec_->NewRec(rid.c_str(), dir.c_str(), fid, mindur, maxdur, a);};
         }
     }
-
     int Wrapper::FireRecorder(const char* sid,const int64_t &id){
         if (rec_->Loaded()){
             rec_->FireRecSignal(sid, id);
@@ -284,6 +285,10 @@
         }
     }
     
+    void Wrapper::CloseStream(){
+        run_stream_ = false;
+    }
+
     void Wrapper::GetPacket(unsigned char **pktData, int *size, int *key){
         if (stream_){
             stream_->GetPacket(pktData, size, key);

--
Gitblit v1.8.0