summaryrefslogtreecommitdiffstats
path: root/gst/flv
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-08-03 20:07:00 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-08-03 20:07:00 +0200
commitcb4eb5714c7a3bb0b5caf4a57937c5e4e4e4018f (patch)
treefb09ff1636c9ac01404d5a97b1f277ad7dfe6cf6 /gst/flv
parent784b95ddbf8c3f3babe50c641d2ef8fe64442d15 (diff)
flvmux: Fix resetting of the element
Reset the have_video/have_audio flags and make sure to properly release the request pads. Partially fixes bug #590447.
Diffstat (limited to 'gst/flv')
-rw-r--r--gst/flv/gstflvmux.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c
index ab385f0e..fd7a76e4 100644
--- a/gst/flv/gstflvmux.c
+++ b/gst/flv/gstflvmux.c
@@ -183,12 +183,7 @@ gst_flv_mux_reset (GstElement * element)
while ((sl = mux->collect->data) != NULL) {
GstFlvPad *cpad = (GstFlvPad *) sl->data;
- if (cpad->audio_codec_data)
- gst_buffer_unref (cpad->audio_codec_data);
- if (cpad->video_codec_data)
- gst_buffer_unref (cpad->video_codec_data);
-
- gst_collect_pads_remove_pad (mux->collect, cpad->collect.pad);
+ gst_element_release_request_pad (element, cpad->collect.pad);
}
if (mux->tags)
@@ -200,6 +195,8 @@ gst_flv_mux_reset (GstElement * element)
mux->index = NULL;
mux->byte_count = 0;
+ mux->have_audio = mux->have_video = FALSE;
+
mux->state = GST_FLV_MUX_STATE_HEADER;
}