diff --git a/libmpcodecs/dec_audio.c b/libmpcodecs/dec_audio.c index 03f5d532f3..335c01831a 100644 --- a/libmpcodecs/dec_audio.c +++ b/libmpcodecs/dec_audio.c @@ -415,7 +415,8 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen) // copy filter==>out: if(maxlen < pafd->len) { - maxlen -= maxlen % (sh_audio->channels * sh_audio->samplesize); + af_stream_t *afs = sh_audio->afilter; + maxlen -= maxlen % (afs->output.nch * afs->output.bps); mp_msg(MSGT_DECAUDIO,MSGL_WARN,"%i bytes of audio data lost due to buffer overflow, len = %i\n", pafd->len - maxlen,pafd->len); } else