diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-06 10:46:50 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-06 10:46:50 +0000 |
commit | a4147be5f7d8e7c407d85fad9a6411b8a5881e1a (patch) | |
tree | 9c83efacb410994db65f5c29d12cc0b3f9070497 /libmpdemux/demux_ogg.c | |
parent | dd4bc174218dae680b06572a4fb9eb52d804dc30 (diff) | |
download | mpv-a4147be5f7d8e7c407d85fad9a6411b8a5881e1a.tar.bz2 mpv-a4147be5f7d8e7c407d85fad9a6411b8a5881e1a.tar.xz |
Fix memleaks caused by missing vorbis/theora_info/comment_clear calls.
Code still seems wrong to me for multiple audio tracks, since there is
only one vorbis comment/info entry for the demuxer, not one per track?
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21516 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ogg.c')
-rw-r--r-- | libmpdemux/demux_ogg.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c index 3fcffb2ace..6bb5f8ccaa 100644 --- a/libmpdemux/demux_ogg.c +++ b/libmpdemux/demux_ogg.c @@ -994,6 +994,8 @@ int demux_ogg_open(demuxer_t* demuxer) { n_video - 1); if( mp_msg_test(MSGT_HEADER,MSGL_V) ) print_video_header(sh_v->bih,MSGL_V); } + theora_comment_clear(&cc); + theora_info_clear(&inf); # endif /* HAVE_OGGTHEORA */ } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) { sh_a = new_sh_audio_aid(demuxer,ogg_d->num_sub, n_audio); @@ -1621,6 +1623,8 @@ static void demux_close_ogg(demuxer_t* demuxer) { if (ogg_d->text_langs[i]) free(ogg_d->text_langs[i]); free(ogg_d->text_langs); } + vorbis_info_clear(&ogg_d->vi); + vorbis_comment_clear(&ogg_d->vc); free(ogg_d); } |