view libmpcodecs/ad_internal.h @ 23295:ab885f928444

Fix double free() in demux_asf.c If demux_open_asf() fails it frees the demuxer->priv field before returning. Then demuxer.c calls demux_close_asf() which frees the field again. Fix by removing the free() in demux_open_asf().
author uau
date Mon, 14 May 2007 01:23:54 +0000
parents ed8f90096c65
children f29d31547c31
line wrap: on
line source


#include "codec-cfg.h"
#include "libaf/af_format.h"

#include "stream/stream.h"
#include "libmpdemux/demuxer.h"
#include "libmpdemux/stheader.h"

#include "ad.h"

static int init(sh_audio_t *sh);
static int preinit(sh_audio_t *sh);
static void uninit(sh_audio_t *sh);
static int control(sh_audio_t *sh,int cmd,void* arg, ...);
static int decode_audio(sh_audio_t *sh,unsigned char *buffer,int minlen,int maxlen);

#define LIBAD_EXTERN(x) ad_functions_t mpcodecs_ad_##x = {\
	&info,\
	preinit,\
	init,\
        uninit,\
	control,\
	decode_audio\
};