Bug 1309079 - support mp3-in-mp4 in rust mp4 parser. r?kinetik
MozReview-Commit-ID: LieZ5O222LT
--- a/media/libstagefright/binding/MP4Metadata.cpp
+++ b/media/libstagefright/binding/MP4Metadata.cpp
@@ -740,16 +740,17 @@ MP4MetadataRust::GetTrackInfo(mozilla::T
const char* codec_string = "unrecognized";
switch (info.codec) {
case MP4PARSE_CODEC_UNKNOWN: codec_string = "unknown"; break;
case MP4PARSE_CODEC_AAC: codec_string = "aac"; break;
case MP4PARSE_CODEC_OPUS: codec_string = "opus"; break;
case MP4PARSE_CODEC_FLAC: codec_string = "flac"; break;
case MP4PARSE_CODEC_AVC: codec_string = "h.264"; break;
case MP4PARSE_CODEC_VP9: codec_string = "vp9"; break;
+ case MP4PARSE_CODEC_MP3: codec_string = "mp3"; break;
}
MOZ_LOG(sLog, LogLevel::Debug, ("track codec %s (%u)\n",
codec_string, info.codec));
#endif
// This specialization interface is crazy.
UniquePtr<mozilla::TrackInfo> e;
switch (aType) {
@@ -773,16 +774,18 @@ MP4MetadataRust::GetTrackInfo(mozilla::T
MOZ_LOG(sLog, LogLevel::Debug,
("Copying opus pre-skip value of %d as CodecDelay.",(int)preskip));
OpusDataDecoder::AppendCodecDelay(track->mCodecSpecificConfig,
mozilla::FramesToUsecs(preskip, 48000).value());
} else if (info.codec == MP4PARSE_CODEC_AAC) {
track->mMimeType = MEDIA_MIMETYPE_AUDIO_AAC;
} else if (info.codec == MP4PARSE_CODEC_FLAC) {
track->mMimeType = MEDIA_MIMETYPE_AUDIO_FLAC;
+ } else if (info.codec == MP4PARSE_CODEC_MP3) {
+ track->mMimeType = MEDIA_MIMETYPE_AUDIO_MPEG;
}
track->mCodecSpecificConfig->AppendElements(
audio.codec_specific_config.data,
audio.codec_specific_config.length);
track->mRate = audio.sample_rate;
track->mChannels = audio.channels;
track->mBitDepth = audio.bit_depth;
track->mDuration = info.duration;