dashdemux: If a fragment contains no sync samples, disable key-unit mode
authorSebastian Dröge <sebastian@centricular.com>
Fri, 29 Jul 2016 09:50:58 +0000 (12:50 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 11 Aug 2016 09:56:55 +0000 (11:56 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=741104

ext/dash/gstdashdemux.c

index bee085a3390d5907094111e80d3245c572a31ea0..547d0f2db9d7817bed8f5b21596943b865b5931c 100644 (file)
@@ -2210,6 +2210,14 @@ gst_dash_demux_find_sync_samples (GstAdaptiveDemux * demux,
     }
   }
 
+  if (dash_stream->moof_sync_samples->len == 0) {
+    GST_LOG_OBJECT (stream->pad, "No sync samples found in fragment");
+    g_array_free (dash_stream->moof_sync_samples, TRUE);
+    dash_stream->moof_sync_samples = NULL;
+    dashdemux->allow_trickmode_key_units = FALSE;
+    return FALSE;
+  }
+
   return TRUE;
 }