diff options
author | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-26 01:01:09 +0000 |
---|---|---|
committer | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-26 01:01:09 +0000 |
commit | d2cc9336d655b8bc9820bee703cd26adf7f17180 (patch) | |
tree | 01bb3d53c8b494261c6f2a8af5c92a137b09f3b7 /dec_audio.c | |
parent | 5be35902531f1aff6b90ea38f2e0018563353757 (diff) | |
download | mpv-d2cc9336d655b8bc9820bee703cd26adf7f17180.tar.bz2 mpv-d2cc9336d655b8bc9820bee703cd26adf7f17180.tar.xz |
Fix aac decoded size.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5347 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_audio.c')
-rw-r--r-- | dec_audio.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/dec_audio.c b/dec_audio.c index 488a062e78..8cf576a8ca 100644 --- a/dec_audio.c +++ b/dec_audio.c @@ -900,6 +900,7 @@ case AFM_AAC: { mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %dHz channels: %d\n", faac_samplerate, faac_channels); sh_audio->channels = faac_channels; sh_audio->samplerate = faac_samplerate; + //sh_audio->o_bps = sh_audio->samplesize*faac_channels*faac_samplerate; if(!sh_audio->i_bps) { mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n"); sh_audio->i_bps = 128*1000/8; // XXX: HACK!!! ::atmos @@ -1079,7 +1080,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ case AFM_AAC: { int /*i,*/ k, j = 0; void *faac_sample_buffer; - + len = 0; while(len < minlen) { /* update buffer */ @@ -1110,9 +1111,12 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){ } else if (faac_finfo.samples == 0) mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FAAD: Decoded zero samples!\n"); else { - mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FAAD: Successfully decoded frame (%dBytes)!\n", faac_finfo.samples*faac_finfo.channels); - memcpy(buf+len,faac_sample_buffer, faac_finfo.samples*faac_finfo.channels); - len += faac_finfo.samples*faac_finfo.channels; + /* XXX: samples already multiplied by channels! */ + mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"FAAD: Successfully decoded frame (%d Bytes)!\n", + sh_audio->samplesize*faac_finfo.samples); + memcpy(buf+len,faac_sample_buffer, sh_audio->samplesize*faac_finfo.samples); + len += sh_audio->samplesize*faac_finfo.samples; + //printf("FAAD: buffer: %d bytes consumed: %d \n", k, faac_finfo.bytesconsumed); } } |