Merge pull request #56 from lunds/aac_sbr_fix
Multiplex HE-AAC with explicit SBR signalling in MKV
This commit is contained in:
commit
b8778005b4
1 changed files with 13 additions and 4 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue