summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2010-12-09 13:49:04 +0100
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2010-12-09 13:57:49 +0100
commitdf2982ce7da4f3b425fe3e7901b7a9960a39b1eb (patch)
tree1595895f65211d696010ee226a26e87fc87b4db6
parent5239e19e9cb33e9072af4fc700ec9901ae67f601 (diff)
qtdemux: fix flow return aggregation
-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];