Преглед на файлове

demux: adaptive: enforce minimal deadline

or breaks with slavedemuxers
Francois Cartegnie преди 8 години
родител
ревизия
648a5e5d84
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      modules/demux/adaptive/Streams.cpp

+ 3 - 2
modules/demux/adaptive/Streams.cpp

@@ -349,8 +349,9 @@ AbstractStream::buffering_status AbstractStream::doBufferize(mtime_t nz_deadline
             return AbstractStream::buffering_suspended;
         }
 
-        nz_deadline = commandsqueue->getBufferingLevel() +
-                     (i_total_buffering - commandsqueue->getDemuxedAmount()) / (CLOCK_FREQ/4);
+        mtime_t nz_extdeadline = commandsqueue->getBufferingLevel() +
+                                (i_total_buffering - commandsqueue->getDemuxedAmount()) / (CLOCK_FREQ/4);
+        nz_deadline = std::max(nz_deadline, nz_extdeadline);
 
         /* need to read, demuxer still buffering, ... */
         vlc_mutex_unlock(&lock);