aiffdec: try #2 to fix bps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-08-27 16:50:59 +02:00
parent 4abb88d7e8
commit 99f5090714
1 changed files with 2 additions and 2 deletions

View File

@ -105,7 +105,7 @@ static unsigned int get_aiff_header(AVFormatContext *s, int size,
codec->codec_type = AVMEDIA_TYPE_AUDIO; codec->codec_type = AVMEDIA_TYPE_AUDIO;
codec->channels = avio_rb16(pb); codec->channels = avio_rb16(pb);
num_frames = avio_rb32(pb); num_frames = avio_rb32(pb);
codec->bits_per_coded_sample = avio_rb16(pb) / FFMAX(codec->channels, 1); codec->bits_per_coded_sample = avio_rb16(pb);
exp = avio_rb16(pb); exp = avio_rb16(pb);
val = avio_rb64(pb); val = avio_rb64(pb);
@ -160,7 +160,7 @@ static unsigned int get_aiff_header(AVFormatContext *s, int size,
/* Block align needs to be computed in all cases, as the definition /* Block align needs to be computed in all cases, as the definition
* is specific to applications -> here we use the WAVE format definition */ * is specific to applications -> here we use the WAVE format definition */
if (!codec->block_align) if (!codec->block_align)
codec->block_align = (codec->bits_per_coded_sample * codec->channels) >> 3; codec->block_align = (av_get_bits_per_sample(codec->codec_id) * codec->channels) >> 3;
if (aiff->block_duration) { if (aiff->block_duration) {
codec->bit_rate = codec->sample_rate * (codec->block_align << 3) / codec->bit_rate = codec->sample_rate * (codec->block_align << 3) /