diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-08-03 20:07:00 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-08-03 20:07:00 +0200 |
commit | cb4eb5714c7a3bb0b5caf4a57937c5e4e4e4018f (patch) | |
tree | fb09ff1636c9ac01404d5a97b1f277ad7dfe6cf6 | |
parent | 784b95ddbf8c3f3babe50c641d2ef8fe64442d15 (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.
-rw-r--r-- | gst/flv/gstflvmux.c | 9 |
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; } |