Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(873)

Issue 254983006: Fix: Adding list of supported codecs for MP4 containers (Closed)

Created:
6 years, 7 months ago by amogh.bihani
Modified:
6 years, 6 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, erikwright+watch_chromium.org, jshin+watch_chromium.org, xhwang
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Fix: Adding list of supported codecs for MP4 containers A table is added for MP4 mime types and their corresponding containers H.264 codecs vary according to the profile version. These are represented by hexadecimal numbers (RFC6381). These vary across platforms, hence a definite "probably" cannot be given for canPlayType query. The best we can say is a "maybe" if the codec is RFC compliant. New behaviour of the browser will be audio/mp4 -> avc1/ avc1./ avc1.4D4001 = "" audio/mp4 -> mp4a/ mp4a.40/ mp4a.40.2 = "maybe" audio/mp4 -> mp4a./ mp4a.50/ mp4a.40. = "" video/mp4 -> avc1/avc1.4D4001/ = "maybe" video/mp4 -> avc1./ avc1.NonHexDigits = "" (similar for mp4a and avc3) BUG=53193 TEST=out/Release/content_browsertests --gtest_filter=MediaCanPlayType* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277386

Patch Set 1 #

Total comments: 4

Patch Set 2 : Changing HigherCase to UpperCase #

Patch Set 3 : Adding testcases for EME #

Total comments: 13

Patch Set 4 : Removing extended codecs tests #

Total comments: 18

Patch Set 5 : Rebased, comments not addressed yet #

Patch Set 6 : Making IsSupportedStrictMediaMimeType return enum #

Total comments: 12

Patch Set 7 : Addressing comments, adding mp4a to list #

Total comments: 14

Patch Set 8 : Added test for wrong extended codecs #

Total comments: 8

Patch Set 9 : Addressing comments #

Total comments: 14

Patch Set 10 : Addressing some comments, changing '.' handling in next PS #

Patch Set 11 : Changing AreSupportedCodecsWithProfile() implementation #

Total comments: 9

Patch Set 12 : adding compile_assert, correcting mpeg audio codec values #

Total comments: 4

Patch Set 13 : Addressing comments #

Total comments: 6

Patch Set 14 : Changing mp4a.40 to mp4a.40.2 #

Total comments: 22

Patch Set 15 : adding more comments, adding tests for mp4a #

Total comments: 4

Patch Set 16 : Addressing comments #

Patch Set 17 : removing nit #

Total comments: 6

Patch Set 18 : Modifying comments #

Total comments: 1

Patch Set 19 : adding check for std::string::npos #

Unified diffs Side-by-side diffs Delta from patch set Stats (+635 lines, -560 lines) Patch
M chrome/browser/media/encrypted_media_istypesupported_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 chunks +78 lines, -15 lines 0 comments Download
M content/browser/media/media_canplaytype_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +394 lines, -512 lines 0 comments Download
M content/public/common/assert_matching_enums.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +11 lines, -0 lines 0 comments Download
M content/renderer/renderer_webkitplatformsupport_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -10 lines 0 comments Download
M net/base/mime_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +28 lines, -6 lines 0 comments Download
M net/base/mime_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 8 chunks +114 lines, -8 lines 0 comments Download
M net/base/mime_util_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -9 lines 0 comments Download

Messages

Total messages: 56 (0 generated)
amogh.bihani
PTAL.
6 years, 7 months ago (2014-04-28 13:38:56 UTC) #1
Ryan Sleevi
1) You'll need a base owner for base/ changes 2) I don't think you need ...
6 years, 7 months ago (2014-04-28 22:02:54 UTC) #2
amogh.bihani
https://codereview.chromium.org/254983006/diff/1/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/1/net/base/mime_util.cc#newcode466 net/base/mime_util.cc:466: "avc1,avc3,avc1.??????,avc3.??????,mp4a,mp4a.40,mp4a.40.?" } On 2014/04/28 22:02:55, Ryan Sleevi wrote: > ...
6 years, 7 months ago (2014-04-29 03:56:08 UTC) #3
amogh.bihani
ddorwin@ I have added test cases in encrypted_media_istypesupported_browsertest.cc as we had done in https://codereview.chromium.org/150653008/ (I'll ...
6 years, 7 months ago (2014-04-29 05:52:50 UTC) #4
ddorwin
I reviewed encrypted_media_istypesupported_browsertest.cc and a few other things. You'll need acolwell/scherkus to review the main ...
6 years, 7 months ago (2014-04-29 17:12:53 UTC) #5
amogh.bihani
acolwell@, scherkus@ The new behaviour is same as what we had discussed in https://codereview.chromium.org/216893002/ PTAL. ...
6 years, 7 months ago (2014-04-30 06:12:10 UTC) #6
amogh.bihani
acolwell@ PTAL.
6 years, 7 months ago (2014-05-12 05:42:14 UTC) #7
acolwell GONE FROM CHROMIUM
here is an initial round of comments. I agree with rsleevi that you shouldn't need ...
6 years, 7 months ago (2014-05-12 14:54:17 UTC) #8
Nico
I too agree that this doesn't have to be in base/.
6 years, 7 months ago (2014-05-14 10:58:14 UTC) #9
amogh.bihani
On 2014/05/14 10:58:14, Nico (traveling this week) wrote: > I too agree that this doesn't ...
6 years, 7 months ago (2014-05-14 11:15:35 UTC) #10
amogh.bihani
Thanks for the review. :) I have made the changes. https://codereview.chromium.org/254983006/diff/60001/content/browser/media/media_canplaytype_browsertest.cc File content/browser/media/media_canplaytype_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/60001/content/browser/media/media_canplaytype_browsertest.cc#newcode505 ...
6 years, 7 months ago (2014-05-15 09:05:53 UTC) #11
Ryan Sleevi
https://codereview.chromium.org/254983006/diff/100001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/100001/net/base/mime_util.cc#newcode516 net/base/mime_util.cc:516: // We check whether the suffix is hexadecimal or ...
6 years, 7 months ago (2014-05-15 22:48:34 UTC) #12
amogh.bihani
rsleevi@ comments are in PS#6 ddorwin@ and acolwell@ comments are in PS#7 https://codereview.chromium.org/254983006/diff/100001/net/base/mime_util.cc File net/base/mime_util.cc ...
6 years, 7 months ago (2014-05-16 11:25:29 UTC) #13
amogh.bihani
rsleevi@ I think you might need to expand the comment in https://codereview.chromium.org/254983006/diff/100001/net/base/mime_util.h?context=10&column_width=80. Otherwise it just ...
6 years, 7 months ago (2014-05-16 11:30:02 UTC) #14
ddorwin
https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc File content/renderer/renderer_webkitplatformsupport_impl.cc (right): https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc#newcode422 content/renderer/renderer_webkitplatformsupport_impl.cc:422: net::ParseCodecString(ToASCIIOrEmpty(codecs), &strict_codecs, true); On 2014/05/16 11:25:29, amogh.bihani wrote: > ...
6 years, 7 months ago (2014-05-16 17:26:24 UTC) #15
AmoghBihani
https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc File content/renderer/renderer_webkitplatformsupport_impl.cc (right): https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc#newcode422 content/renderer/renderer_webkitplatformsupport_impl.cc:422: net::ParseCodecString(ToASCIIOrEmpty(codecs), &strict_codecs, true); On 2014/05/16 17:26:24, ddorwin wrote: > ...
6 years, 7 months ago (2014-05-16 18:13:51 UTC) #16
ddorwin
https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc File content/renderer/renderer_webkitplatformsupport_impl.cc (right): https://codereview.chromium.org/254983006/diff/110001/content/renderer/renderer_webkitplatformsupport_impl.cc#newcode422 content/renderer/renderer_webkitplatformsupport_impl.cc:422: net::ParseCodecString(ToASCIIOrEmpty(codecs), &strict_codecs, true); On 2014/05/16 18:13:51, AmoghBihani wrote: > ...
6 years, 7 months ago (2014-05-16 18:49:49 UTC) #17
AmoghBihani
https://codereview.chromium.org/254983006/diff/110001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/110001/net/base/mime_util.cc#newcode506 net/base/mime_util.cc:506: for (size_t i = 0; i < codecs.size(); ++i) ...
6 years, 7 months ago (2014-05-16 19:18:00 UTC) #18
amogh.bihani
ddrowin@ I have filed the bug as you had asked. The bug id is 374751.
6 years, 7 months ago (2014-05-19 11:25:59 UTC) #19
amogh.bihani
acolwell@ I have made changes in IsSupportedStrictMediaMimeType to return enum. ddorwin@ I have added test ...
6 years, 7 months ago (2014-05-20 09:19:19 UTC) #20
ddorwin
I'm concerned about the structure of the code and the non-obvious corner cases. (Thankfully, we ...
6 years, 7 months ago (2014-05-20 17:47:27 UTC) #21
amogh.bihani
"Is there a better way to express these things? Maybe we should be able to ...
6 years, 7 months ago (2014-05-21 04:38:04 UTC) #22
amogh.bihani
Ping!
6 years, 7 months ago (2014-05-22 13:36:47 UTC) #23
Ryan Sleevi
On 2014/05/22 13:36:47, amogh.bihani wrote: > Ping! I am waiting to review until you gave ...
6 years, 7 months ago (2014-05-22 15:52:03 UTC) #24
ddorwin
On 2014/05/22 15:52:03, Ryan Sleevi wrote: > On 2014/05/22 13:36:47, amogh.bihani wrote: > > Ping! ...
6 years, 7 months ago (2014-05-22 17:06:32 UTC) #25
ddorwin
On 2014/05/22 17:06:32, ddorwin wrote: > On 2014/05/22 15:52:03, Ryan Sleevi wrote: > > On ...
6 years, 7 months ago (2014-05-22 17:07:28 UTC) #26
AmoghBihani
> Tips: When pinging, please specify who it is directed at. Also, it helps if ...
6 years, 7 months ago (2014-05-22 18:29:45 UTC) #27
acolwell GONE FROM CHROMIUM
https://codereview.chromium.org/254983006/diff/150001/content/browser/media/media_canplaytype_browsertest.cc File content/browser/media/media_canplaytype_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/150001/content/browser/media/media_canplaytype_browsertest.cc#newcode498 content/browser/media/media_canplaytype_browsertest.cc:498: EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a\"'")); Why is this one maybe? mp4a ...
6 years, 7 months ago (2014-05-22 20:21:41 UTC) #28
amogh.bihani
Thanks :) I have made the changes. acolwell@ - comments are in patchset 9 https://codereview.chromium.org/254983006/diff/150001/net/base/mime_util.cc ...
6 years, 7 months ago (2014-05-23 10:57:29 UTC) #29
acolwell GONE FROM CHROMIUM
https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40"); nit: Why is this called aac_codec_? mp4a.40 does ...
6 years, 6 months ago (2014-06-02 21:22:42 UTC) #30
amogh.bihani
Thanks :) Comments are in ps#12 https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40"); On 2014/06/02 ...
6 years, 6 months ago (2014-06-03 13:26:11 UTC) #31
amogh.bihani
On 2014/06/03 13:26:11, amogh.bihani wrote: > Thanks :) > Comments are in ps#12 Ah! sorry, ...
6 years, 6 months ago (2014-06-03 13:26:57 UTC) #32
Ryan Sleevi
https://codereview.chromium.org/254983006/diff/210001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/210001/net/base/mime_util.cc#newcode490 net/base/mime_util.cc:490: **/ Format this comment like the rest of the ...
6 years, 6 months ago (2014-06-03 20:36:51 UTC) #33
amogh.bihani
https://codereview.chromium.org/254983006/diff/230001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/230001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40"); acolwell@, reason for still keeping this name in ...
6 years, 6 months ago (2014-06-04 06:51:22 UTC) #34
amogh.bihani
acolwell@ Ping!
6 years, 6 months ago (2014-06-09 11:35:56 UTC) #35
amogh.bihani
https://codereview.chromium.org/254983006/diff/230001/content/public/common/assert_matching_enums.cc File content/public/common/assert_matching_enums.cc (right): https://codereview.chromium.org/254983006/diff/230001/content/public/common/assert_matching_enums.cc#newcode37 content/public/common/assert_matching_enums.cc:37: // SupportsType On 2014/06/04 06:51:22, amogh.bihani wrote: > I ...
6 years, 6 months ago (2014-06-09 11:36:12 UTC) #36
acolwell GONE FROM CHROMIUM
lgtm % comments https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/190001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40"); On 2014/06/03 13:26:12, amogh.bihani wrote: ...
6 years, 6 months ago (2014-06-09 23:50:32 UTC) #37
amogh.bihani
acolwell@ - done the changes. ddorwin@, rsleevi@, avi@ - PTAL. https://codereview.chromium.org/254983006/diff/230001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/230001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 ...
6 years, 6 months ago (2014-06-10 04:32:10 UTC) #38
Avi (use Gerrit)
content LGTM
6 years, 6 months ago (2014-06-10 04:36:14 UTC) #39
ddorwin
https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40.2"); aac without an extension is no longer tested. ...
6 years, 6 months ago (2014-06-10 05:41:05 UTC) #40
amogh.bihani
https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: aac_codec_.push_back("mp4a.40.2"); mp4a is not supported as it is not ...
6 years, 6 months ago (2014-06-10 05:55:57 UTC) #41
amogh.bihani
line 492 on https://codereview.chromium.org/254983006/diff/250001/net/base/mime_util.cc are allowed now.
6 years, 6 months ago (2014-06-10 05:58:54 UTC) #42
Ryan Sleevi
https://codereview.chromium.org/254983006/diff/250001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/250001/net/base/mime_util.cc#newcode108 net/base/mime_util.cc:108: static bool AreSupportedCodecsWithProfile( Document. https://codereview.chromium.org/254983006/diff/250001/net/base/mime_util.cc#newcode127 net/base/mime_util.cc:127: StrictExpressionMappings strict_mp4_format_map_; Document ...
6 years, 6 months ago (2014-06-10 19:15:43 UTC) #43
ddorwin
https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode115 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:115: avc1_codec_.push_back("avc1"); It's odd that the video codecs are not ...
6 years, 6 months ago (2014-06-11 00:46:10 UTC) #44
amogh.bihani
ddorwin@ I have addressed the comments regarding why avc1 and not mp4a in PS#14. (I ...
6 years, 6 months ago (2014-06-11 04:08:43 UTC) #45
amogh.bihani
Thanks for the review. I have made the changes. https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/250001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode127 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:127: ...
6 years, 6 months ago (2014-06-11 11:32:41 UTC) #46
ddorwin
Thanks for the pointers to the relevant discussion. encrypted_media_istypesupported_browsertest.cc LGTM with comments. https://codereview.chromium.org/254983006/diff/270001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc ...
6 years, 6 months ago (2014-06-11 22:33:23 UTC) #47
amogh.bihani
ddorwin@ just one question. (Please refer to comment.) https://codereview.chromium.org/254983006/diff/270001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/270001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode567 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:567: EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( ...
6 years, 6 months ago (2014-06-12 03:38:36 UTC) #48
ddorwin
https://codereview.chromium.org/254983006/diff/270001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc File chrome/browser/media/encrypted_media_istypesupported_browsertest.cc (right): https://codereview.chromium.org/254983006/diff/270001/chrome/browser/media/encrypted_media_istypesupported_browsertest.cc#newcode567 chrome/browser/media/encrypted_media_istypesupported_browsertest.cc:567: EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( On 2014/06/12 03:38:35, amogh.bihani wrote: > On 2014/06/11 ...
6 years, 6 months ago (2014-06-12 03:40:54 UTC) #49
amogh.bihani
Thanks. I have made the changes. Ryan: Please see if the comments are ok.
6 years, 6 months ago (2014-06-12 03:47:26 UTC) #50
Ryan Sleevi
https://codereview.chromium.org/254983006/diff/310001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/310001/net/base/mime_util.cc#newcode481 net/base/mime_util.cc:481: // Following is the list of RFC compliant codecs: ...
6 years, 6 months ago (2014-06-12 19:03:53 UTC) #51
amogh.bihani
rsleevi@ I have made the changes as suggested. PTAL. https://codereview.chromium.org/254983006/diff/310001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/310001/net/base/mime_util.cc#newcode493 net/base/mime_util.cc:493: ...
6 years, 6 months ago (2014-06-13 03:16:47 UTC) #52
Ryan Sleevi
LGTM, mod one bug. https://codereview.chromium.org/254983006/diff/330001/net/base/mime_util.cc File net/base/mime_util.cc (right): https://codereview.chromium.org/254983006/diff/330001/net/base/mime_util.cc#newcode545 net/base/mime_util.cc:545: wildcard_pos < supported_codecs[j].length(); BUG: if ...
6 years, 6 months ago (2014-06-13 22:58:04 UTC) #53
amogh.bihani
The CQ bit was checked by amogh.bihani@samsung.com
6 years, 6 months ago (2014-06-16 06:34:07 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/amogh.bihani@samsung.com/254983006/350001
6 years, 6 months ago (2014-06-16 06:34:47 UTC) #55
commit-bot: I haz the power
6 years, 6 months ago (2014-06-16 08:33:53 UTC) #56
Message was sent while issue was closed.
Change committed as 277386

Powered by Google App Engine
This is Rietveld 408576698