summaryrefslogtreecommitdiffstats
path: root/gst/matroska/ebml-read.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/matroska/ebml-read.c')
-rw-r--r--gst/matroska/ebml-read.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/matroska/ebml-read.c b/gst/matroska/ebml-read.c
index db5d4a5c..6face5ad 100644
--- a/gst/matroska/ebml-read.c
+++ b/gst/matroska/ebml-read.c
@@ -350,7 +350,11 @@ gst_ebml_read_seek (GstEbmlRead * ebml, guint64 offset)
GST_WARNING ("No discontinuity event after seek - seek failed");
break;
} else if (GST_EVENT_TYPE (event) != GST_EVENT_DISCONTINUOUS) {
+ GstEventType type = GST_EVENT_TYPE (event);
+
gst_pad_event_default (ebml->sinkpad, event);
+ if (type == GST_EVENT_EOS || type == GST_EVENT_INTERRUPT)
+ return NULL;
event = NULL;
}
}
@@ -389,8 +393,9 @@ gst_ebml_read_skip (GstEbmlRead * ebml)
return gst_bytestream_flush (ebml->bs, length);
if (!(event = gst_ebml_read_seek (ebml,
- gst_bytestream_tell (ebml->bs) + length)))
+ gst_bytestream_tell (ebml->bs) + length))) {
return FALSE;
+ }
gst_event_unref (event);