diff options
author | Julien Moutte <julien@moutte.net> | 2008-06-13 22:46:43 +0000 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-05-12 21:20:54 +0200 |
commit | f58f138c5508317baf88411e4b4ad0007c9a6fac (patch) | |
tree | cb0f78b157f7ef94f8f6429aa706485277ac5ebb /gst/flv/gstflvdemux.c | |
parent | 00be5791fe89f3ef26d89680f1e0e583a53c12d1 (diff) |
[MOVED FROM BAD 21/57] gst/flv/: Introduce demuxing support for AAC and
Original commit message from CVS:
2008-06-14 Julien Moutte <julien@fluendo.com>
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
(gst_flv_demux_dispose):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate),
(gst_flv_parse_tag_audio), (gst_flv_parse_video_negotiate),
(gst_flv_parse_tag_video): Introduce demuxing support for AAC
and
H.264/AVC inside FLV.
* sys/dshowdecwrapper/gstdshowaudiodec.c:
(gst_dshowaudiodec_init),
(gst_dshowaudiodec_chain), (gst_dshowaudiodec_push_buffer),
(gst_dshowaudiodec_sink_event), (gst_dshowaudiodec_setup_graph):
* sys/dshowdecwrapper/gstdshowaudiodec.h:
* sys/dshowdecwrapper/gstdshowvideodec.c:
(gst_dshowvideodec_init),
(gst_dshowvideodec_sink_event), (gst_dshowvideodec_chain),
(gst_dshowvideodec_push_buffer),
(gst_dshowvideodec_src_getcaps):
* sys/dshowdecwrapper/gstdshowvideodec.h: Lot of random fixes
to improve stability (ref counting, safety checks...)
Diffstat (limited to 'gst/flv/gstflvdemux.c')
-rw-r--r-- | gst/flv/gstflvdemux.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c index 045b3450..0f5e3f79 100644 --- a/gst/flv/gstflvdemux.c +++ b/gst/flv/gstflvdemux.c @@ -118,6 +118,16 @@ gst_flv_demux_cleanup (GstFLVDemux * demux) gst_adapter_clear (demux->adapter); + if (demux->audio_codec_data) { + gst_buffer_unref (demux->audio_codec_data); + demux->audio_codec_data = NULL; + } + + if (demux->video_codec_data) { + gst_buffer_unref (demux->video_codec_data); + demux->video_codec_data = NULL; + } + if (demux->audio_pad) { gst_element_remove_pad (GST_ELEMENT (demux), demux->audio_pad); gst_object_unref (demux->audio_pad); @@ -1098,6 +1108,16 @@ gst_flv_demux_dispose (GObject * object) demux->new_seg_event = NULL; } + if (demux->audio_codec_data) { + gst_buffer_unref (demux->audio_codec_data); + demux->audio_codec_data = NULL; + } + + if (demux->video_codec_data) { + gst_buffer_unref (demux->video_codec_data); + demux->video_codec_data = NULL; + } + if (demux->audio_pad) { gst_object_unref (demux->audio_pad); demux->audio_pad = NULL; |