--- 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;
 }
