Change pcm decode_audio to return data based on minlen instead of maxlen

to avoid demuxing unnecessarily much at once.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19389 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
uau 2006-08-13 23:09:17 +00:00
parent d067742bb2
commit e9b1adff17
1 changed files with 5 additions and 1 deletions

View File

@ -120,7 +120,11 @@ static int control(sh_audio_t *sh,int cmd,void* arg, ...)
static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
{
unsigned len = sh_audio->channels*sh_audio->samplesize;
len = maxlen - maxlen % len; // sample align
len = (minlen + len - 1) / len * len;
if (len > maxlen)
// if someone needs hundreds of channels adjust audio_out_minsize
// based on channels in preinit()
return -1;
len=demux_read_data(sh_audio->ds,buf,len);
return len;
}