From eb354f009a3678930b95bd3f160f2de3c0804e5d Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期六, 19 十月 2019 14:24:29 +0800 Subject: [PATCH] update rec offset --- csrc/worker/rec.cpp | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/csrc/worker/rec.cpp b/csrc/worker/rec.cpp index 49c3a97..2e02903 100644 --- a/csrc/worker/rec.cpp +++ b/csrc/worker/rec.cpp @@ -21,7 +21,7 @@ rec::rec() :recRef_(NULL) ,min_cache_len_(125) - ,time_offset_(4) + ,time_offset_(5) {} rec::~rec() @@ -195,7 +195,7 @@ } void rec::SetRecMinCacheTime(const int min){ - // 鐢变簬鏁翠釜娴佺▼鑰楁椂,琛ュ伩time_offset_,鍥犱负鏄渶灏忕殑涓�鍗�,鍙湁time_offset_/2 + // 鐢变簬鏁翠釜娴佺▼鑰楁椂,琛ュ伩time_offset_ int fps = 25; if (recRef_){ fps = recRef_->getFPS(); @@ -206,8 +206,14 @@ int rec::shrinkCache(){ //瓒呰繃鏈�澶х紦瀛�,涓㈠純gop //缂撳瓨鏈�灏忛暱搴︾殑,鐢ㄤ簬璁板綍 - int md = min_cache_len_ < 200 ? 200 : min_cache_len_; - while (list_pkt_.size() > md/2) { + int fps = 25; + if (recRef_){ + fps = recRef_->getFPS(); + } + // 鏈�灏�5绉掗暱搴� + int mincache = fps * 5; + int md = min_cache_len_ < mincache ? mincache : min_cache_len_; + while (list_pkt_.size() > md) { list_pkt_.pop_front(); while(!list_pkt_.empty()){ auto &i = list_pkt_.front(); -- Gitblit v1.8.0