summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/qtdemux/qtdemux.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 134188e04..a744fbc00 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -3248,6 +3248,11 @@ gst_qtdemux_combine_flows (GstQTDemux * demux, QtDemuxStream * stream,
/* store the value */
stream->last_ret = ret;
+ /* any other error that is not-linked or eos can be returned right away */
+ if (G_LIKELY (ret != GST_FLOW_UNEXPECTED && ret != GST_FLOW_NOT_LINKED))
+ goto done;
+
+ /* only return NOT_LINKED if all other pads returned NOT_LINKED */
for (i = 0; i < demux->n_streams; i++) {
QtDemuxStream *ostream = demux->streams[i];