From e27d92773eca7ee3f56dca1d4ed199f458374604 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Wed, 11 Oct 2006 10:15:05 +0000 Subject: [PATCH] use av_get_bits_per_sample, compute block align if not set Originally committed as revision 6644 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/aiff.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavformat/aiff.c b/libavformat/aiff.c index efb4b28ee8..b1cc6625a6 100644 --- a/libavformat/aiff.c +++ b/libavformat/aiff.c @@ -208,7 +208,14 @@ static int aiff_write_header(AVFormatContext *s) put_be32(pb, 0); /* Number of frames */ if (!enc->bits_per_sample) - enc->bits_per_sample = (enc->block_align<<3) / enc->channels; + enc->bits_per_sample = av_get_bits_per_sample(enc->codec_id); + if (!enc->bits_per_sample) { + av_log(s, AV_LOG_ERROR, "could not compute bits per sample\n"); + return -1; + } + if (!enc->block_align) + enc->block_align = (enc->bits_per_sample * enc->channels) >> 3; + put_be16(pb, enc->bits_per_sample); /* Sample size */ sample_rate = av_dbl2ext((double)enc->sample_rate);