From 657185145236c12eb0fcf104b4712d8bb88efe16 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期六, 19 十月 2019 11:04:27 +0800 Subject: [PATCH] bug fix --- csrc/worker/rec.cpp | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff --git a/csrc/worker/rec.cpp b/csrc/worker/rec.cpp index d7ce012..49c3a97 100644 --- a/csrc/worker/rec.cpp +++ b/csrc/worker/rec.cpp @@ -20,8 +20,8 @@ { rec::rec() :recRef_(NULL) - ,minduration_(250) - ,maxduration_(750) + ,min_cache_len_(125) + ,time_offset_(4) {} rec::~rec() @@ -141,9 +141,6 @@ std::string rid(id); std::string dir(output); - minduration_ = mindur * 25; - maxduration_ = maxdur * 25; - { std::lock_guard<std::mutex> l(mtx_rec_); if (map_rec_.find(rid) != map_rec_.end()){ @@ -197,10 +194,19 @@ shrinkCache(); } + void rec::SetRecMinCacheTime(const int min){ + // 鐢变簬鏁翠釜娴佺▼鑰楁椂,琛ュ伩time_offset_,鍥犱负鏄渶灏忕殑涓�鍗�,鍙湁time_offset_/2 + int fps = 25; + if (recRef_){ + fps = recRef_->getFPS(); + } + min_cache_len_ = (min + time_offset_) * fps; + } + int rec::shrinkCache(){ //瓒呰繃鏈�澶х紦瀛�,涓㈠純gop //缂撳瓨鏈�灏忛暱搴︾殑,鐢ㄤ簬璁板綍 - int md = minduration_ < 201 ? 200 : minduration_; + int md = min_cache_len_ < 200 ? 200 : min_cache_len_; while (list_pkt_.size() > md/2) { list_pkt_.pop_front(); while(!list_pkt_.empty()){ -- Gitblit v1.8.0