Browse Source

Try to fix bug 0014392: 【手机】【分时诊断】视频图像查看页面,第一次查看视频图像需等待的时间较长,比如:时长1.8s 32帧的图像,打开时等待10s左右开始播放、播放至一大半后又等待10s左右继续播放

Jimmy 1 year ago
parent
commit
5bec5abe65
1 changed files with 15 additions and 0 deletions
  1. 15 0
      lib/view/player/buffer_waiter.dart

+ 15 - 0
lib/view/player/buffer_waiter.dart

@@ -98,12 +98,27 @@ class VidBufferWaiter {
 
         waitCount++;
         final bufferedSize = channel.getBufferSize();
+
         if (bufferedSize >= needBufferSize) {
           // 缓存足够
           return finishFn();
         }
 
+        if (channel.isBufferedDone) {
+          // 全部缓冲完成
+          return finishFn();
+        }
+
         if (waitCount >= waitCountLimit) {
+          //记录上方管理提前终止的逻辑未执行时的内存现场
+          var fileTotalSize = channel.getFileSize();
+          var fileDownloadedSize = channel.getBufferSize();
+          logger.i(
+              "VidPlayer - channel.isBufferedDone: ${channel.isBufferedDone}.");
+          logger.i("VidPlayer - BufferedSize: $bufferedSize.");
+          logger.i("VidPlayer - NeedBufferedSize: $needBufferSize.");
+          logger.i("VidPlayer - fileTotalSize: $fileTotalSize.");
+          logger.i("VidPlayer - filedownloaded: $fileDownloadedSize.");
           // 等待超时
           final bufferredSizeNow = channel.getBufferSize();
           if (bufferredSizeNow - bufferredSize < 1024) {