if (stream->pad) {
gst_flow_combiner_remove_pad (GST_TS_DEMUX_CAST (base)->flowcombiner,
stream->pad);
- if (stream->active && gst_pad_is_active (stream->pad)) {
- /* Flush out all data */
- GST_DEBUG_OBJECT (stream->pad, "Flushing out pending data");
- gst_ts_demux_push_pending_data ((GstTSDemux *) base, stream);
-
- GST_DEBUG_OBJECT (stream->pad, "Pushing out EOS");
- gst_pad_push_event (stream->pad, gst_event_new_eos ());
- GST_DEBUG_OBJECT (stream->pad, "Deactivating and removing pad");
- gst_pad_set_active (stream->pad, FALSE);
+ if (stream->active) {
+
+ if (gst_pad_is_active (stream->pad)) {
+ /* Flush out all data */
+ GST_DEBUG_OBJECT (stream->pad, "Flushing out pending data");
+ gst_ts_demux_push_pending_data ((GstTSDemux *) base, stream);
+
+ GST_DEBUG_OBJECT (stream->pad, "Pushing out EOS");
+ gst_pad_push_event (stream->pad, gst_event_new_eos ());
+ gst_pad_set_active (stream->pad, FALSE);
+ }
+
+ GST_DEBUG_OBJECT (stream->pad, "Removing pad");
gst_element_remove_pad (GST_ELEMENT_CAST (base), stream->pad);
stream->active = FALSE;
}