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

Issue 10651006: Add Common Encryption support to BMFF, including subsample decryption. (Closed)

Created:
8 years, 6 months ago by strobe_
Modified:
8 years, 5 months ago
Reviewers:
fgalligan1, xhwang, ddorwin
CC:
chromium-reviews, feature-media-reviews_chromium.org, acolwell GONE FROM CHROMIUM
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Add Common Encryption support to BMFF, including subsample decryption. BUG=132351 TEST=AesDecryptorTest, plus manual playback in browser Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=148453

Patch Set 1 #

Patch Set 2 : Remove pipeline integration test (private file) #

Patch Set 3 : Remove references to non-public encrypted files in tests #

Total comments: 126

Patch Set 4 : Address review comments. #

Patch Set 5 : Fix another case issue #

Total comments: 53

Patch Set 6 : Add track_run_iterator_unittest #

Patch Set 7 : Add comment regarding initData #

Patch Set 8 : Add comment regarding initData #

Patch Set 9 : Fix lint errors #

Patch Set 10 : Add wrong subsample size test #

Total comments: 106

Patch Set 11 : Rebase #

Patch Set 12 : Address review comments #

Patch Set 13 : Address phantom comments #

Total comments: 2

Patch Set 14 : Fix rebase woes #

Patch Set 15 : Rebase #

Patch Set 16 : Convert key_id to string #

Total comments: 18

Patch Set 17 : More review comments #

Patch Set 18 : Use reinterpret_cast for string creation #

Total comments: 11

Patch Set 19 : Hopefully-final review comments #

Patch Set 20 : Rebase #

Patch Set 21 : Satisfy mac_rel buildbot #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1023 lines, -383 lines) Patch
M media/base/decrypt_config.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +51 lines, -29 lines 0 comments Download
M media/base/decrypt_config.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +13 lines, -19 lines 0 comments Download
M media/crypto/aes_decryptor.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -4 lines 0 comments Download
M media/crypto/aes_decryptor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7 chunks +113 lines, -67 lines 0 comments Download
M media/crypto/aes_decryptor_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 12 chunks +193 lines, -77 lines 0 comments Download
M media/filters/ffmpeg_video_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +9 lines, -4 lines 0 comments Download
M media/mp4/avc.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -2 lines 0 comments Download
M media/mp4/avc.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +13 lines, -14 lines 0 comments Download
M media/mp4/avc_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 5 chunks +7 lines, -8 lines 0 comments Download
M media/mp4/box_definitions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -1 line 0 comments Download
M media/mp4/box_definitions.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7 chunks +17 lines, -19 lines 0 comments Download
M media/mp4/cenc.h View 1 2 3 1 chunk +4 lines, -8 lines 0 comments Download
M media/mp4/cenc.cc View 1 2 3 4 5 2 chunks +18 lines, -9 lines 0 comments Download
M media/mp4/mp4_stream_parser.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +7 lines, -0 lines 0 comments Download
M media/mp4/mp4_stream_parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 9 chunks +118 lines, -35 lines 0 comments Download
M media/mp4/mp4_stream_parser_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +15 lines, -14 lines 0 comments Download
M media/mp4/track_run_iterator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +27 lines, -5 lines 0 comments Download
M media/mp4/track_run_iterator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 8 chunks +186 lines, -35 lines 0 comments Download
M media/mp4/track_run_iterator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 12 chunks +211 lines, -29 lines 0 comments Download
M media/webm/webm_cluster_parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +9 lines, -4 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
ddorwin
xhwang and fgalligan, please review. I'll have some comments later today.
8 years, 6 months ago (2012-06-25 19:48:28 UTC) #1
ddorwin
I'm not really qualified to review the ISO/MP4 changes and that code is pretty complex. ...
8 years, 6 months ago (2012-06-26 06:09:19 UTC) #2
ddorwin
https://chromiumcodereview.appspot.com/10651006/diff/15001/media/mp4/mp4_stream_parser.cc File media/mp4/mp4_stream_parser.cc (right): https://chromiumcodereview.appspot.com/10651006/diff/15001/media/mp4/mp4_stream_parser.cc#newcode238 media/mp4/mp4_stream_parser.cc:238: return need_key_cb_.Run(kid.Pass(), track_encryption.default_kid.size()); For ISO, the initData is supposed ...
8 years, 5 months ago (2012-06-26 23:16:20 UTC) #3
fgalligan1
https://chromiumcodereview.appspot.com/10651006/diff/15001/media/base/decrypt_config.cc File media/base/decrypt_config.cc (right): https://chromiumcodereview.appspot.com/10651006/diff/15001/media/base/decrypt_config.cc#newcode12 media/base/decrypt_config.cc:12: static const char kDefaultIV[] = "0000000000000000"; s/kDefaultIV/kDefaultIv/ https://chromiumcodereview.appspot.com/10651006/diff/15001/media/base/decrypt_config.cc#newcode13 media/base/decrypt_config.cc:13: ...
8 years, 5 months ago (2012-06-27 00:28:36 UTC) #4
strobe_
http://codereview.chromium.org/10651006/diff/15001/media/base/decrypt_config.cc File media/base/decrypt_config.cc (right): http://codereview.chromium.org/10651006/diff/15001/media/base/decrypt_config.cc#newcode12 media/base/decrypt_config.cc:12: static const char kDefaultIV[] = "0000000000000000"; On 2012/06/27 00:28:36, ...
8 years, 5 months ago (2012-06-27 02:01:21 UTC) #5
xhwang
http://codereview.chromium.org/10651006/diff/28001/media/base/decrypt_config.h File media/base/decrypt_config.h (right): http://codereview.chromium.org/10651006/diff/28001/media/base/decrypt_config.h#newcode8 media/base/decrypt_config.h:8: #include <vector> nit: usually we have empty line after ...
8 years, 5 months ago (2012-06-27 19:37:42 UTC) #6
xhwang
http://codereview.chromium.org/10651006/diff/28001/media/crypto/aes_decryptor_unittest.cc File media/crypto/aes_decryptor_unittest.cc (right): http://codereview.chromium.org/10651006/diff/28001/media/crypto/aes_decryptor_unittest.cc#newcode92 media/crypto/aes_decryptor_unittest.cc:92: void InitCBC() { Change to InitCbc(), to be consistent ...
8 years, 5 months ago (2012-06-27 22:38:35 UTC) #7
fgalligan1
media/crypto/aes_decryptor.cc:28: On 2012/06/27 00:28:36, fgalligan1 wrote: > Maybe add a TODO to support a key ...
8 years, 5 months ago (2012-06-27 22:52:10 UTC) #8
ddorwin
http://codereview.chromium.org/10651006/diff/15001/media/crypto/aes_decryptor.cc File media/crypto/aes_decryptor.cc (right): http://codereview.chromium.org/10651006/diff/15001/media/crypto/aes_decryptor.cc#newcode53 media/crypto/aes_decryptor.cc:53: if (size > input.GetDataSize()) { On 2012/06/27 02:01:21, strobe ...
8 years, 5 months ago (2012-07-03 21:03:46 UTC) #9
xhwang
http://codereview.chromium.org/10651006/diff/28001/media/base/decrypt_config.h File media/base/decrypt_config.h (right): http://codereview.chromium.org/10651006/diff/28001/media/base/decrypt_config.h#newcode19 media/base/decrypt_config.h:19: On 2012/07/03 21:03:47, ddorwin wrote: > On 2012/06/27 19:37:43, ...
8 years, 5 months ago (2012-07-03 21:17:12 UTC) #10
strobe_
https://chromiumcodereview.appspot.com/10651006/diff/15001/media/crypto/aes_decryptor.cc File media/crypto/aes_decryptor.cc (right): https://chromiumcodereview.appspot.com/10651006/diff/15001/media/crypto/aes_decryptor.cc#newcode53 media/crypto/aes_decryptor.cc:53: if (size > input.GetDataSize()) { On 2012/07/03 21:03:46, ddorwin ...
8 years, 5 months ago (2012-07-13 00:47:06 UTC) #11
ddorwin
Please upload changes before rebasing on test or WebM CL. http://codereview.chromium.org/10651006/diff/28001/media/mp4/cenc.cc File media/mp4/cenc.cc (right): http://codereview.chromium.org/10651006/diff/28001/media/mp4/cenc.cc#newcode40 ...
8 years, 5 months ago (2012-07-17 01:14:21 UTC) #12
strobe_
Sorry, I rebased on to the test CL before I saw your message. This doesn't ...
8 years, 5 months ago (2012-07-19 02:43:34 UTC) #13
ddorwin
It seems like some of the things you said are addressed weren't in the latest ...
8 years, 5 months ago (2012-07-19 06:11:10 UTC) #14
strobe_
https://chromiumcodereview.appspot.com/10651006/diff/31007/media/crypto/aes_decryptor_unittest.cc File media/crypto/aes_decryptor_unittest.cc (right): https://chromiumcodereview.appspot.com/10651006/diff/31007/media/crypto/aes_decryptor_unittest.cc#newcode106 media/crypto/aes_decryptor_unittest.cc:106: std::string(kInitialIv, kInitialIv + arraysize(kInitialIv)), On 2012/07/19 06:11:10, ddorwin wrote: ...
8 years, 5 months ago (2012-07-19 16:55:02 UTC) #15
strobe_
Rebased on top of WebM decryption CL.
8 years, 5 months ago (2012-07-20 21:07:38 UTC) #16
ddorwin
Mostly nits, but the string construction seems odd. I will review aes_decryptor_unittest.cc and track_run_iterator_unittest.cc tomorrow. ...
8 years, 5 months ago (2012-07-24 01:00:09 UTC) #17
strobe_
http://codereview.chromium.org/10651006/diff/31007/media/crypto/aes_decryptor_unittest.cc File media/crypto/aes_decryptor_unittest.cc (right): http://codereview.chromium.org/10651006/diff/31007/media/crypto/aes_decryptor_unittest.cc#newcode106 media/crypto/aes_decryptor_unittest.cc:106: std::string(kInitialIv, kInitialIv + arraysize(kInitialIv)), On 2012/07/24 01:00:09, ddorwin wrote: ...
8 years, 5 months ago (2012-07-25 01:05:13 UTC) #18
ddorwin
LGTM % comments. Thanks. Most important comment is to add an additional test. http://codereview.chromium.org/10651006/diff/67005/media/mp4/mp4_stream_parser.cc File ...
8 years, 5 months ago (2012-07-25 07:13:47 UTC) #19
strobe_
https://chromiumcodereview.appspot.com/10651006/diff/67005/media/mp4/mp4_stream_parser.cc File media/mp4/mp4_stream_parser.cc (right): https://chromiumcodereview.appspot.com/10651006/diff/67005/media/mp4/mp4_stream_parser.cc#newcode291 media/mp4/mp4_stream_parser.cc:291: RCHECK(AVC::ConvertParameterSetsToAnnexB(avc_config, &param_sets)); On 2012/07/25 07:13:47, ddorwin wrote: > On ...
8 years, 5 months ago (2012-07-25 21:12:36 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/strobe@google.com/10651006/84005
8 years, 5 months ago (2012-07-25 21:13:35 UTC) #21
commit-bot: I haz the power
8 years, 5 months ago (2012-07-26 00:50:01 UTC) #22
Change committed as 148453

Powered by Google App Engine
This is Rietveld 408576698