asf: don't push on inactive streams
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 13 Jul 2012 09:36:40 +0000 (11:36 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 13 Jul 2012 09:36:40 +0000 (11:36 +0200)
gst/asfdemux/gstasfdemux.c

index 28ea579..01c4c4b 100644 (file)
@@ -1516,8 +1516,12 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
         GST_TIME_ARGS (GST_BUFFER_DURATION (payload->buf)),
         gst_buffer_get_size (payload->buf));
 
-    ret = gst_pad_push (stream->pad, payload->buf);
-    ret = gst_asf_demux_aggregate_flow_return (demux, stream, ret);
+    if (stream->active) {
+      ret = gst_pad_push (stream->pad, payload->buf);
+      ret = gst_asf_demux_aggregate_flow_return (demux, stream, ret);
+    } else {
+      ret = GST_FLOW_OK;
+    }
     payload->buf = NULL;
     g_array_remove_index (stream->payloads, 0);