qtdemux: fix flow return aggregation
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 9 Dec 2010 12:49:04 +0000 (13:49 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 9 Dec 2010 12:57:49 +0000 (13:57 +0100)
gst/qtdemux/qtdemux.c

index 134188e..a744fbc 100644 (file)
@@ -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];