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
This commit is contained in:
Thiago Santos 2009-11-09 15:02:05 -03:00
parent a155733bff
commit b4007d3c76

View file

@ -834,9 +834,6 @@ gst_asf_demux_chain_headers (GstASFDemux * demux)
if (flow != GST_FLOW_OK) if (flow != GST_FLOW_OK)
goto parse_failed; goto parse_failed;
/* release old pads (only happens on chained asfs) */
gst_asf_demux_release_old_pads (demux);
/* calculate where the packet data starts */ /* calculate where the packet data starts */
demux->data_offset = obj.size + 50; demux->data_offset = obj.size + 50;
@ -1066,9 +1063,6 @@ gst_asf_demux_pull_headers (GstASFDemux * demux)
goto parse_failed; goto parse_failed;
} }
/* release old pads (only happens on chained asfs) */
gst_asf_demux_release_old_pads (demux);
/* calculate where the packet data starts */ /* calculate where the packet data starts */
demux->data_offset = demux->base_offset + obj.size + 50; 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; demux->activated_streams = TRUE;
GST_LOG_OBJECT (demux, "signalling no more pads"); GST_LOG_OBJECT (demux, "signalling no more pads");
gst_element_no_more_pads (GST_ELEMENT (demux)); gst_element_no_more_pads (GST_ELEMENT (demux));