--- libmpcodecs/ad_pcm.c.orig 2005-02-27 00:02:09.000000000 +0100 +++ libmpcodecs/ad_pcm.c 2005-08-27 00:11:02.000000000 +0200 @@ -96,8 +96,8 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen) { - int len=sh_audio->channels*sh_audio->samplesize-1; - len=(minlen+len)&(~len); // sample align + unsigned len = sh_audio->channels*sh_audio->samplesize; + len = maxlen - maxlen % len; // sample align len=demux_read_data(sh_audio->ds,buf,len); return len; }