view libmpcodecs/ad_internal.h @ 7358:bb40478265df

I experienced several segfaults when trying to play (unencrypted) DVDs from harddisk using xine/ogle/mplayer with the respective libdvdnav support feature. I found that while libdvdnav itself may do something wrong by trying to read beyond the end of the files, it was actually the fault of libdvdread that a segfault resulted. The following tiny patch fixes the problem and it seems that libdvdnav can very well live with the "short read" result it gets then - navigation worked fine after applying the patch: patch by Peter Niemayer <niemayer@isg.de> & H}kan Hjort <d95hjort@dtek.chalmers.se>
author arpi
date Tue, 10 Sep 2002 20:33:31 +0000
parents 0f12fb7c1c5d
children 815f03b7cee5
line wrap: on
line source


#include "codec-cfg.h"
#include "../libao2/afmt.h"

#include "stream.h"
#include "demuxer.h"
#include "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\
};