From a2d19baaa3996bc63edc042230074fb84a2433a1 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期二, 03 十二月 2019 19:57:03 +0800 Subject: [PATCH] 修改bug --- csrc/wrapper.cpp | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp index 19357c5..cd82a90 100644 --- a/csrc/wrapper.cpp +++ b/csrc/wrapper.cpp @@ -47,6 +47,7 @@ ,cpu_(0) ,run_dec_(false) ,run_stream_(true) + ,run_rec_(false) ,thread_(nullptr) ,stop_stream_(false) ,stream_(nullptr) @@ -65,6 +66,7 @@ ,cpu_(0) ,run_dec_(false) ,run_stream_(true) + ,run_rec_(false) ,thread_(nullptr) ,stop_stream_(false) ,stream_(nullptr) @@ -170,7 +172,7 @@ int flag = 0; if (run_stream_ && stream_) stream_->SetPacket(pkt); if (run_dec_ && decoder_) flag = decoder_->SetFrame(pkt); - if (rec_->Loaded()) rec_->SetPacket(pkt); + if (run_rec_ && rec_->Loaded()) rec_->SetPacket(pkt); return flag; } @@ -251,6 +253,10 @@ rec_->SetRecMinCacheTime(mind); } + void Wrapper::OpenRecorder(){ + run_rec_ = true; + } + void Wrapper::BuildRecorder(const char* id, const char *output, const int64_t &fid, const int mindur, const int maxdur, const bool audio){ bool a = audio; if (gb_) a = false; @@ -275,7 +281,7 @@ } } ////////decoder - void Wrapper::BuildDecoder(){ + void Wrapper::OpenDecoder(){ run_dec_ = true; } @@ -397,5 +403,26 @@ return flag; } + + int GetGb28181Pic(const char *rtspUrl, char *retData, int *retDataLen){ + int ret = 0; + std::string fn = rtspUrl; + + auto handle_gb28181 = new GB28181API; + if(handle_gb28181->addCamera(fn) == -1){ + delete(handle_gb28181); + logIt("do addCamera Error\n"); + return -1; + } + + int retLen = handle_gb28181->capturePic(handle_gb28181, retData, retDataLen); + if(retLen == 0){ + logIt("do capturePic failed:%d"); + ret = -1; + } + + handle_gb28181->deleteCamera(); + return ret; + } } -- Gitblit v1.8.0