# HG changeset patch # User reimar # Date 1212338456 0 # Node ID cbd9c19ce4d8bf435699bfe5bb632b999a5557c5 # Parent cfad7bcf91cc8864c239d0d81257e30b3b4506a8 Properly free memory allocate by liba52. diff -r cfad7bcf91cc -r cbd9c19ce4d8 libmpcodecs/ad_hwac3.c --- a/libmpcodecs/ad_hwac3.c Sun Jun 01 07:45:22 2008 +0000 +++ b/libmpcodecs/ad_hwac3.c Sun Jun 01 16:40:56 2008 +0000 @@ -128,14 +128,17 @@ } if(ac3dts_fillbuff(sh_audio) < 0) { + a52_free(a52_state); mp_msg(MSGT_DECAUDIO, MSGL_ERR, "AC3/DTS sync failed\n"); return 0; } + sh_audio->context = a52_state; return 1; } static void uninit(sh_audio_t *sh) { + a52_free(sh->context); } static int control(sh_audio_t *sh,int cmd,void* arg, ...) diff -r cfad7bcf91cc -r cbd9c19ce4d8 libmpcodecs/ad_liba52.c --- a/libmpcodecs/ad_liba52.c Sun Jun 01 07:45:22 2008 +0000 +++ b/libmpcodecs/ad_liba52.c Sun Jun 01 16:40:56 2008 +0000 @@ -253,6 +253,7 @@ static void uninit(sh_audio_t *sh) { + a52_free(a52_state); } static int control(sh_audio_t *sh,int cmd,void* arg, ...)