Extract bitrates in ES descriptor for AAC if available
Change-Id: I1aa53b519e8751400bea6b33936cb2e7a05958dc
This commit is contained in:
parent
734b4161f8
commit
4d8ce0ff5d
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -392,8 +392,19 @@ bool MP4MediaParser::ParseMoov(BoxReader* reader) {
|
||||||
|
|
||||||
switch (actual_format) {
|
switch (actual_format) {
|
||||||
case FOURCC_mp4a:
|
case FOURCC_mp4a:
|
||||||
|
max_bitrate = entry.esds.es_descriptor.max_bitrate();
|
||||||
|
avg_bitrate = entry.esds.es_descriptor.avg_bitrate();
|
||||||
|
|
||||||
codec = ObjectTypeToCodec(entry.esds.es_descriptor.object_type());
|
codec = ObjectTypeToCodec(entry.esds.es_descriptor.object_type());
|
||||||
if (codec == kUnknownCodec) {
|
if (codec == kCodecAAC) {
|
||||||
|
const AACAudioSpecificConfig& aac_audio_specific_config =
|
||||||
|
entry.esds.aac_audio_specific_config;
|
||||||
|
num_channels = aac_audio_specific_config.GetNumChannels();
|
||||||
|
sampling_frequency =
|
||||||
|
aac_audio_specific_config.GetSamplesPerSecond();
|
||||||
|
audio_object_type = aac_audio_specific_config.GetAudioObjectType();
|
||||||
|
codec_config = entry.esds.es_descriptor.decoder_specific_info();
|
||||||
|
} else if (codec == kUnknownCodec) {
|
||||||
// Intentionally not to fail in the parser as there may be multiple
|
// Intentionally not to fail in the parser as there may be multiple
|
||||||
// streams in the source content, which allows the supported stream
|
// streams in the source content, which allows the supported stream
|
||||||
// to be packaged. An error will be returned if the unsupported
|
// to be packaged. An error will be returned if the unsupported
|
||||||
|
@ -402,17 +413,6 @@ bool MP4MediaParser::ParseMoov(BoxReader* reader) {
|
||||||
<< static_cast<int>(
|
<< static_cast<int>(
|
||||||
entry.esds.es_descriptor.object_type())
|
entry.esds.es_descriptor.object_type())
|
||||||
<< " in stsd.es_desriptor.";
|
<< " in stsd.es_desriptor.";
|
||||||
} else if (codec == kCodecAAC) {
|
|
||||||
const AACAudioSpecificConfig& aac_audio_specific_config =
|
|
||||||
entry.esds.aac_audio_specific_config;
|
|
||||||
num_channels = aac_audio_specific_config.GetNumChannels();
|
|
||||||
sampling_frequency =
|
|
||||||
aac_audio_specific_config.GetSamplesPerSecond();
|
|
||||||
audio_object_type = aac_audio_specific_config.GetAudioObjectType();
|
|
||||||
codec_config = entry.esds.es_descriptor.decoder_specific_info();
|
|
||||||
} else {
|
|
||||||
max_bitrate = entry.esds.es_descriptor.max_bitrate();
|
|
||||||
avg_bitrate = entry.esds.es_descriptor.avg_bitrate();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case FOURCC_dtsc:
|
case FOURCC_dtsc:
|
||||||
|
|
Loading…
Reference in New Issue