view libmpcodecs/ad_internal.h @ 29770:db80b9d20406

demuxer.c: Add initialization missing from previous commit Reimar's previous commit ("Unbreak the demuxer-specific code in video.c with e.g.") added the new field "non_interleaved" in demux_stream structs, but this field was not initialized anywhere. Under suitable circumstances this could cause a "Too many video/audio packets in the buffer" error and failing playback. Fix the problem by cleaning up the code that creates new instances of the struct. Now fields will be initialized to 0 by default.
author uau
date Mon, 02 Nov 2009 01:40:09 +0000
parents 4129c8cfa742
children bbb6ebec87a0
line wrap: on
line source

#ifndef MPLAYER_AD_INTERNAL_H
#define MPLAYER_AD_INTERNAL_H

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

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

#include "ad.h"

extern int audio_output_channels;
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\
};

#endif /* MPLAYER_AD_INTERNAL_H */