Permalink
Browse files

Merge pull request #56 from lunds/aac_sbr_fix

Multiplex HE-AAC with explicit SBR signalling in MKV
  • Loading branch information...
2 parents 4bb1566 + 3e3a197 commit b8778005b4d9c1cc173f970a67bdfb4f1d7550e8 @andoma committed Feb 22, 2012
Showing with 13 additions and 4 deletions.
  1. +13 −4 src/parser_latm.c
View
17 src/parser_latm.c
@@ -63,19 +63,28 @@ read_audio_specific_config(elementary_stream_t *st, latm_private_t *latm,
int aot, sr;
aot = read_bits(bs, 5);
- if(aot != 2)
- return;
latm->sample_rate_index = read_bits(bs, 4);
if(latm->sample_rate_index == 0xf)
- return;
+ sr = read_bits(bs, 24);
+ else
+ sr = sri_to_rate(latm->sample_rate_index);
- sr = sri_to_rate(latm->sample_rate_index);
st->es_frame_duration = 1024 * 90000 / sr;
latm->channel_config = read_bits(bs, 4);
+ if (aot == 5) { // AOT_SBR
+ if (read_bits(bs, 4) == 0xf) { // extensionSamplingFrequencyIndex
+ skip_bits(bs, 24);
+ }
+ aot = read_bits(bs, 5); // this is the main object type (i.e. non-extended)
+ }
+
+ if(aot != 2)
+ return;
+
skip_bits(bs, 1); //framelen_flag
if(read_bits1(bs)) // depends_on_coder
skip_bits(bs, 14);

0 comments on commit b877800

Please sign in to comment.