| Index: net/base/mime_util.cc
|
| diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc
|
| index 4679dcc02e06e94a52641e6f388088eec5f9f313..9c8e8931b819b924c3e150cc36494303750d4bd8 100644
|
| --- a/net/base/mime_util.cc
|
| +++ b/net/base/mime_util.cc
|
| @@ -82,6 +82,8 @@ class MimeUtil : public PlatformMimeUtil {
|
| const std::string& mime_type,
|
| const std::vector<std::string>& codecs) const;
|
|
|
| + bool MimeTypeDoesNotNeedCodecs(const std::string& mime_type) const;
|
| +
|
| void RemoveProprietaryMediaTypesAndCodecsForTests();
|
|
|
| private:
|
| @@ -438,7 +440,10 @@ static const MediaFormatStrict format_codec_mappings[] = {
|
| { "audio/x-wav", "1" },
|
| { "video/ogg", "opus,theora,vorbis" },
|
| { "audio/ogg", "opus,vorbis" },
|
| - { "application/ogg", "opus,theora,vorbis" }
|
| + { "application/ogg", "opus,theora,vorbis" },
|
| + { "audio/mpeg", "" },
|
| + { "audio/mp3", "" },
|
| + { "audio/x-mp3", "" }
|
| };
|
|
|
| MimeUtil::MimeUtil() {
|
| @@ -710,6 +715,11 @@ bool MimeUtil::IsSupportedStrictMediaMimeType(
|
| AreSupportedCodecs(it->second, codecs);
|
| }
|
|
|
| +bool MimeUtil::MimeTypeDoesNotNeedCodecs(const std::string& mime_type) const {
|
| + StrictMappings::const_iterator it = strict_format_map_.find(mime_type);
|
| + return (it != strict_format_map_.end()) && it->second.empty();
|
| +}
|
| +
|
| void MimeUtil::RemoveProprietaryMediaTypesAndCodecsForTests() {
|
| for (size_t i = 0; i < arraysize(proprietary_media_types); ++i) {
|
| non_image_map_.erase(proprietary_media_types[i]);
|
| @@ -790,6 +800,10 @@ bool IsSupportedStrictMediaMimeType(const std::string& mime_type,
|
| return g_mime_util.Get().IsSupportedStrictMediaMimeType(mime_type, codecs);
|
| }
|
|
|
| +bool MimeTypeDoesNotNeedCodecs(const std::string& mime_type) {
|
| + return g_mime_util.Get().MimeTypeDoesNotNeedCodecs(mime_type);
|
| +}
|
| +
|
| void ParseCodecString(const std::string& codecs,
|
| std::vector<std::string>* codecs_out,
|
| const bool strip) {
|
|
|