matroskademux: restrict resyncing to subtitle tracks
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 31 Mar 2010 15:54:21 +0000 (17:54 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 7 Apr 2010 10:40:13 +0000 (12:40 +0200)
This should prevent skipping audio or video in not so well interleaved
cases.

Fixes #614460.

gst/matroska/matroska-demux.c

index 414d6a3..9ca9e50 100644 (file)
@@ -3636,6 +3636,11 @@ gst_matroska_demux_sync_streams (GstMatroskaDemux * demux)
         "Checking for resync on stream %d (%" GST_TIME_FORMAT ")", stream_nr,
         GST_TIME_ARGS (context->pos));
 
+    if (G_LIKELY (context->type != GST_MATROSKA_TRACK_TYPE_SUBTITLE)) {
+      GST_LOG_OBJECT (demux, "Skipping sync on non-subtitle stream");
+      continue;
+    }
+
     /* does it lag? 0.5 seconds is a random threshold...
      * lag need only be considered if we have advanced into requested segment */
     if (GST_CLOCK_TIME_IS_VALID (context->pos) &&