diff options
author | wolenetz <wolenetz@chromium.org> | 2014-12-10 11:45:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-10 19:46:02 +0000 |
commit | d8590e28fd83b265559479164499767f2f852b53 (patch) | |
tree | fc0fb910e73ff91a61d906b7dbfa4f7fd5222925 /net/base/mime_util.cc | |
parent | bcb30d6b5cc579153cec6267430c216bf3c599c6 (diff) | |
download | chromium_src-d8590e28fd83b265559479164499767f2f852b53.zip chromium_src-d8590e28fd83b265559479164499767f2f852b53.tar.gz chromium_src-d8590e28fd83b265559479164499767f2f852b53.tar.bz2 |
MSE and non-MSE: Relax mp4a mimetype to allow leading 0 in aud-oti
Adds codec string support for mp4a.40.02 and mp4a.40.05 to match
existing support (or lack thereof) for mp4a.40.2 and mp4a.40.5,
respectively.
To satisfy presubmit, also includes result of $ git cl format net
BUG=440607
R=servolk@chromium.org,rsleevi@chromium.org,dalecurtis@chromium.org
TEST=Updated MediaCanPlayTypeTest.CodecSupportTest_*
Review URL: https://codereview.chromium.org/791863002
Cr-Commit-Position: refs/heads/master@{#307743}
Diffstat (limited to 'net/base/mime_util.cc')
-rw-r--r-- | net/base/mime_util.cc | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc index c35e24c..cba37a4 100644 --- a/net/base/mime_util.cc +++ b/net/base/mime_util.cc @@ -530,17 +530,22 @@ struct MediaFormatStrict { // mp4a.69 - MPEG-2 extension to MPEG-1 // mp4a.6B - MPEG-1 audio // mp4a.40.2 - MPEG-4 AAC LC +// mp4a.40.02 - MPEG-4 AAC LC (leading 0 in aud-oti for compatibility) // mp4a.40.5 - MPEG-4 HE-AAC v1 (AAC LC + SBR) +// mp4a.40.05 - MPEG-4 HE-AAC v1 (AAC LC + SBR) (leading 0 in aud-oti for +// compatibility) // mp4a.40.29 - MPEG-4 HE-AAC v2 (AAC LC + SBR + PS) // // avc1.42E0xx - H.264 Baseline // avc1.4D40xx - H.264 Main // avc1.6400xx - H.264 High static const char kMP4AudioCodecsExpression[] = - "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.5,mp4a.40.29"; + "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.02,mp4a.40.5," + "mp4a.40.05,mp4a.40.29"; static const char kMP4VideoCodecsExpression[] = - "avc1.42E00A,avc1.4D400A,avc1.64000A," \ - "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.5,mp4a.40.29"; + "avc1.42E00A,avc1.4D400A,avc1.64000A," + "mp4a.66,mp4a.67,mp4a.68,mp4a.69,mp4a.6B,mp4a.40.2,mp4a.40.02,mp4a.40.5," + "mp4a.40.05,mp4a.40.29"; static const MediaFormatStrict format_codec_mappings[] = { { "video/webm", "opus,vorbis,vp8,vp8.0,vp9,vp9.0" }, @@ -571,24 +576,25 @@ struct CodecIDMappings { // // The "mp4a" strings come from RFC 6381. static const CodecIDMappings kUnambiguousCodecIDs[] = { - { "1", MimeUtil::PCM }, // We only allow this for WAV so it isn't ambiguous. - { "mp3", MimeUtil::MP3 }, - { "mp4a.66", MimeUtil::MPEG2_AAC_MAIN }, - { "mp4a.67", MimeUtil::MPEG2_AAC_LC }, - { "mp4a.68", MimeUtil::MPEG2_AAC_SSR }, - { "mp4a.69", MimeUtil::MP3 }, - { "mp4a.6B", MimeUtil::MP3 }, - { "mp4a.40.2", MimeUtil::MPEG4_AAC_LC }, - { "mp4a.40.5", MimeUtil::MPEG4_AAC_SBR_v1 }, - { "mp4a.40.29", MimeUtil::MPEG4_AAC_SBR_PS_v2 }, - { "vorbis", MimeUtil::VORBIS }, - { "opus", MimeUtil::OPUS }, - { "vp8", MimeUtil::VP8 }, - { "vp8.0", MimeUtil::VP8 }, - { "vp9", MimeUtil::VP9 }, - { "vp9.0", MimeUtil::VP9 }, - { "theora", MimeUtil::THEORA } -}; + {"1", MimeUtil::PCM}, // We only allow this for WAV so it isn't ambiguous. + {"mp3", MimeUtil::MP3}, + {"mp4a.66", MimeUtil::MPEG2_AAC_MAIN}, + {"mp4a.67", MimeUtil::MPEG2_AAC_LC}, + {"mp4a.68", MimeUtil::MPEG2_AAC_SSR}, + {"mp4a.69", MimeUtil::MP3}, + {"mp4a.6B", MimeUtil::MP3}, + {"mp4a.40.2", MimeUtil::MPEG4_AAC_LC}, + {"mp4a.40.02", MimeUtil::MPEG4_AAC_LC}, + {"mp4a.40.5", MimeUtil::MPEG4_AAC_SBR_v1}, + {"mp4a.40.05", MimeUtil::MPEG4_AAC_SBR_v1}, + {"mp4a.40.29", MimeUtil::MPEG4_AAC_SBR_PS_v2}, + {"vorbis", MimeUtil::VORBIS}, + {"opus", MimeUtil::OPUS}, + {"vp8", MimeUtil::VP8}, + {"vp8.0", MimeUtil::VP8}, + {"vp9", MimeUtil::VP9}, + {"vp9.0", MimeUtil::VP9}, + {"theora", MimeUtil::THEORA}}; // List of codec IDs that are ambiguous and don't provide // enough information to determine the codec and profile. |