asfdemux: Allow at least 500ms of preroll.
authorEdward Hervey <bilboed@bilboed.com>
Wed, 23 Jun 2010 09:05:11 +0000 (11:05 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 23 Jun 2010 09:06:54 +0000 (11:06 +0200)
Some files have insanely low preroll values which break the
all_streams_prerolled() logic.

Fixes #622407

gst/asfdemux/gstasfdemux.c

index 174db45..2e86a43 100644 (file)
@@ -1112,7 +1112,8 @@ all_streams_prerolled (GstASFDemux * demux)
   GstClockTime preroll_time;
   guint i, num_no_data = 0;
 
-  preroll_time = demux->preroll;
+  /* Allow at least 500ms of preroll_time  */
+  preroll_time = MAX(demux->preroll, 500 * GST_MSECOND);
 
   /* returns TRUE as long as there isn't a stream which (a) has data queued
    * and (b) the timestamp of last piece of data queued is < demux->preroll