Merge commit '56dc46a1893251e74be1ad63e54fb38d754bb1fe'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 6 Nov 2014 12:18:42 +0000 (13:18 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 6 Nov 2014 12:19:26 +0000 (13:19 +0100)
* commit '56dc46a1893251e74be1ad63e54fb38d754bb1fe':
  riffenc: do not fall back on AVCodecContext.frame_size for MP3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/riffenc.c

@@@ -104,18 -94,12 +102,16 @@@ int ff_put_wav_header(AVIOContext *pb, 
                 enc->bits_per_coded_sample, bps);
      }
  
-     if (enc->codec_id == AV_CODEC_ID_MP2 ||
-         enc->codec_id == AV_CODEC_ID_MP3) {
-         /* This is wrong, but it seems many demuxers do not work if this
-          * is set correctly. */
+     if (enc->codec_id == AV_CODEC_ID_MP2) {
          blkalign = frame_size;
-         // blkalign = 144 * enc->bit_rate/enc->sample_rate;
+     } else if (enc->codec_id == AV_CODEC_ID_MP3) {
+         blkalign = 576 * (enc->sample_rate <= 24000 ? 1 : 2);
      } else if (enc->codec_id == AV_CODEC_ID_AC3) {
          blkalign = 3840;                /* maximum bytes per frame */
 +    } else if (enc->codec_id == AV_CODEC_ID_AAC) {
 +        blkalign = 768 * enc->channels; /* maximum bytes per frame */
 +    } else if (enc->codec_id == AV_CODEC_ID_G723_1) {
 +        blkalign = 24;
      } else if (enc->block_align != 0) { /* specified by the codec */
          blkalign = enc->block_align;
      } else