]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
use av_get_bits_per_sample, compute block align if not set
authorbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 11 Oct 2006 10:15:05 +0000 (10:15 +0000)
committerbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 11 Oct 2006 10:15:05 +0000 (10:15 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@6644 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/aiff.c

index efb4b28ee856d4c209ce3ea7e84580d28dca76aa..b1cc6625a685ff3c07514394dee5591d33520a87 100644 (file)
@@ -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);