Mercurial > mplayer.hg
view libmpcodecs/ad_internal.h @ 29385:f9ae25067fe0
Fix 24bit audio playback.
The reordering channels code had reoccurring bug
where in switch(samplesize) block the
case 3 (3 bytes) doesn't end with break;
leading to execution of the next case 4 too.
This mangles the already processed data and
causes massive memory corruption.
author | iive |
---|---|
date | Sun, 19 Jul 2009 09:55:29 +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 */