Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 9 Jan 2015 20:25:26 +0000 (21:25 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 9 Jan 2015 20:25:49 +0000 (21:25 +0100)
* commit '51da7d02748cc54b7d009115e76efa940b99a8ef':
  matroskaenc: refuse to write AAC without valid extradata

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

@@@ -817,19 -746,18 +818,22 @@@ static int mkv_write_track(AVFormatCont
          return 0;
      }
  
 -    if (!bit_depth)
 +    if (!bit_depth && codec->codec_id != AV_CODEC_ID_ADPCM_G726)
          bit_depth = av_get_bytes_per_sample(codec->sample_fmt) << 3;
 +    if (!bit_depth)
 +        bit_depth = codec->bits_per_coded_sample;
  
-     if (codec->codec_id == AV_CODEC_ID_AAC)
-         get_aac_sample_rates(s, codec, &sample_rate, &output_sample_rate);
+     if (codec->codec_id == AV_CODEC_ID_AAC) {
+         ret = get_aac_sample_rates(s, codec, &sample_rate, &output_sample_rate);
+         if (ret < 0)
+             return ret;
+     }
  
      track = start_ebml_master(pb, MATROSKA_ID_TRACKENTRY, 0);
 -    put_ebml_uint (pb, MATROSKA_ID_TRACKNUMBER     , i + 1);
 -    put_ebml_uint (pb, MATROSKA_ID_TRACKUID        , i + 1);
 +    put_ebml_uint (pb, MATROSKA_ID_TRACKNUMBER,
 +                   mkv->is_dash ? mkv->dash_track_number : i + 1);
 +    put_ebml_uint (pb, MATROSKA_ID_TRACKUID,
 +                   mkv->is_dash ? mkv->dash_track_number : i + 1);
      put_ebml_uint (pb, MATROSKA_ID_TRACKFLAGLACING , 0);    // no lacing (yet)
  
      if ((tag = av_dict_get(st->metadata, "title", NULL, 0)))