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