From 7363d175bd62697a800a724f91795e87a5c6fd3c Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期五, 29 十一月 2019 17:21:41 +0800 Subject: [PATCH] add close push stream --- csrc/wrapper.cpp | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp index d1cbfbf..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; @@ -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