matroska-demux: Don't handle seek until ready
authorLinus Svensson <linussn@axis.com>
Tue, 23 Feb 2016 14:57:18 +0000 (15:57 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 23 Feb 2016 15:54:43 +0000 (17:54 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=762542

gst/matroska/matroska-demux.c

index 40535f0..81f60d2 100644 (file)
@@ -1578,6 +1578,12 @@ gst_matroska_demux_element_send_event (GstElement * element, GstEvent * event)
   g_return_val_if_fail (event != NULL, FALSE);
 
   if (GST_EVENT_TYPE (event) == GST_EVENT_SEEK) {
+    /* no seeking until we are (safely) ready */
+    if (demux->common.state != GST_MATROSKA_READ_STATE_DATA) {
+      GST_DEBUG_OBJECT (demux, "not ready for seeking yet");
+      gst_event_unref (event);
+      return FALSE;
+    }
     res = gst_matroska_demux_handle_seek_event (demux, NULL, event);
   } else {
     GST_WARNING_OBJECT (demux, "Unhandled event of type %s",