summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>2009-11-09 15:02:05 -0300
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>2009-11-09 15:02:05 -0300
commitb4007d3c7602acc99362e8440739e7e71c0b9e76 (patch)
treec84b13e65c010f17145b563ef02974771dc838c1
parenta155733bff1f6016be3aef1c6a58f613f8f9547d (diff)
asfdemux: Remove old pads when new ones are added
The old pads were being removed before adding the new ones, we should add the new ones first. Fixes #599718
-rw-r--r--gst/asfdemux/gstasfdemux.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index 63941ba7..f2d0d995 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -834,9 +834,6 @@ gst_asf_demux_chain_headers (GstASFDemux * demux)
if (flow != GST_FLOW_OK)
goto parse_failed;
- /* release old pads (only happens on chained asfs) */
- gst_asf_demux_release_old_pads (demux);
-
/* calculate where the packet data starts */
demux->data_offset = obj.size + 50;
@@ -1066,9 +1063,6 @@ gst_asf_demux_pull_headers (GstASFDemux * demux)
goto parse_failed;
}
- /* release old pads (only happens on chained asfs) */
- gst_asf_demux_release_old_pads (demux);
-
/* calculate where the packet data starts */
demux->data_offset = demux->base_offset + obj.size + 50;
@@ -1209,6 +1203,8 @@ gst_asf_demux_check_activate_streams (GstASFDemux * demux, gboolean force)
}
}
+ gst_asf_demux_release_old_pads (demux);
+
demux->activated_streams = TRUE;
GST_LOG_OBJECT (demux, "signalling no more pads");
gst_element_no_more_pads (GST_ELEMENT (demux));