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

Issue 11226019: Encrypted Media: Replace DecryptorClient with key event callbacks. (Closed)

Created:
8 years, 2 months ago by xhwang
Modified:
7 years, 10 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, darin-cc_chromium.org, Ami GONE FROM CHROMIUM, tfarina
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Encrypted Media: Replace DecryptorClient with key event callbacks. - Removed DecryptorClient and use key event callbacks. - Renamed Decryptor::KeyAddedCB to Decryptor::NewKeyCB. - ProxyDecryptor implements key event callbacks and WebMediaPlayerProxy does not handle key events anymore. - PpapiDecryptor implements key event callbacks as well so ContentDecryptorDelegate doesn't call ProxyDecryptor directly. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=174495

Patch Set 1 #

Total comments: 10

Patch Set 2 : prototype cl of new approach #

Total comments: 2

Patch Set 3 : tests updated; ready for review #

Total comments: 22

Patch Set 4 : rebase only #

Patch Set 5 : resolve scherkus's comments #

Patch Set 6 : add spec link #

Total comments: 31

Patch Set 7 : rebase only #

Patch Set 8 : resolve ddorwin's comments #

Total comments: 2

Patch Set 9 : rebase only #

Patch Set 10 : rebase again #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+411 lines, -456 lines) Patch
M media/base/decryptor.h View 1 2 3 4 5 6 7 2 chunks +28 lines, -6 lines 2 comments Download
D media/base/decryptor_client.h View 1 1 chunk +0 lines, -52 lines 0 comments Download
M media/base/mock_filters.h View 1 3 chunks +2 lines, -34 lines 0 comments Download
M media/base/mock_filters.cc View 1 1 chunk +0 lines, -12 lines 0 comments Download
M media/crypto/aes_decryptor.h View 1 2 4 chunks +14 lines, -11 lines 0 comments Download
M media/crypto/aes_decryptor.cc View 1 5 chunks +21 lines, -16 lines 0 comments Download
M media/crypto/aes_decryptor_unittest.cc View 1 2 5 chunks +19 lines, -8 lines 0 comments Download
M media/filters/audio_decoder_selector_unittest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M media/filters/decrypting_audio_decoder.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M media/filters/decrypting_audio_decoder_unittest.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M media/filters/decrypting_demuxer_stream.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M media/filters/decrypting_demuxer_stream_unittest.cc View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M media/filters/decrypting_video_decoder.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M media/filters/decrypting_video_decoder_unittest.cc View 1 2 3 4 3 chunks +4 lines, -4 lines 0 comments Download
M media/filters/pipeline_integration_test.cc View 1 2 3 4 5 6 7 9 chunks +79 lines, -73 lines 0 comments Download
M media/filters/video_decoder_selector_unittest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 9 1 chunk +0 lines, -1 line 0 comments Download
M webkit/media/crypto/ppapi/clear_key_cdm.h View 1 2 3 chunks +16 lines, -18 lines 0 comments Download
M webkit/media/crypto/ppapi/clear_key_cdm.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M webkit/media/crypto/ppapi_decryptor.h View 1 2 3 4 5 6 7 4 chunks +29 lines, -11 lines 0 comments Download
M webkit/media/crypto/ppapi_decryptor.cc View 1 2 7 chunks +56 lines, -18 lines 0 comments Download
M webkit/media/crypto/proxy_decryptor.h View 1 2 4 chunks +29 lines, -9 lines 0 comments Download
M webkit/media/crypto/proxy_decryptor.cc View 1 2 6 chunks +53 lines, -13 lines 0 comments Download
M webkit/media/webmediaplayer_impl.h View 1 1 chunk +1 line, -1 line 0 comments Download
M webkit/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +13 lines, -10 lines 0 comments Download
M webkit/media/webmediaplayer_proxy.h View 1 2 4 chunks +1 line, -49 lines 0 comments Download
M webkit/media/webmediaplayer_proxy.cc View 1 1 chunk +0 lines, -77 lines 0 comments Download
M webkit/plugins/ppapi/content_decryptor_delegate.h View 1 2 3 chunks +10 lines, -3 lines 0 comments Download
M webkit/plugins/ppapi/content_decryptor_delegate.cc View 1 2 3 4 5 6 5 chunks +21 lines, -18 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
xhwang
Note: This is low priority. Don't review this if you have high priority task to ...
8 years, 2 months ago (2012-10-22 02:56:57 UTC) #1
Ami GONE FROM CHROMIUM
> Note: This is low priority. Don't review this if you have high priority task ...
8 years, 2 months ago (2012-10-23 06:46:24 UTC) #2
Ami GONE FROM CHROMIUM
Hokay, now I've looked at the code, too :) http://codereview.chromium.org/11226019/diff/1/media/crypto/aes_decryptor.cc File media/crypto/aes_decryptor.cc (right): http://codereview.chromium.org/11226019/diff/1/media/crypto/aes_decryptor.cc#newcode242 media/crypto/aes_decryptor.cc:242: ...
8 years, 2 months ago (2012-10-23 06:52:21 UTC) #3
xhwang
On 2012/10/23 06:46:24, Ami Fischman wrote: > > Note: This is low priority. Don't review ...
8 years, 2 months ago (2012-10-23 07:23:32 UTC) #4
xhwang
http://codereview.chromium.org/11226019/diff/1/media/crypto/aes_decryptor.cc File media/crypto/aes_decryptor.cc (right): http://codereview.chromium.org/11226019/diff/1/media/crypto/aes_decryptor.cc#newcode242 media/crypto/aes_decryptor.cc:242: const OnKeyAddedCB& key_added_cb) { On 2012/10/23 06:52:22, Ami Fischman ...
8 years, 2 months ago (2012-10-23 07:32:13 UTC) #5
Ami GONE FROM CHROMIUM
> > > Can you point out this code specifically? http://code.google.com/**searchframe#OAMlx_jo-ck/src/** > media/webm/webm_stream_parser.**cc&exact_package=chromium&q=** > NeedKey&type=cs&l=476<http://code.google.com/searchframe#OAMlx_jo-ck/src/media/webm/webm_stream_parser.cc&exact_package=chromium&q=NeedKey&type=cs&l=476> ...
8 years, 2 months ago (2012-10-23 07:33:32 UTC) #6
Ami GONE FROM CHROMIUM
http://codereview.chromium.org/11226019/diff/1/webkit/media/crypto/proxy_decryptor.cc File webkit/media/crypto/proxy_decryptor.cc (right): http://codereview.chromium.org/11226019/diff/1/webkit/media/crypto/proxy_decryptor.cc#newcode277 webkit/media/crypto/proxy_decryptor.cc:277: } On 2012/10/23 07:32:13, xhwang wrote: > On 2012/10/23 ...
8 years, 2 months ago (2012-10-23 07:42:54 UTC) #7
xhwang
On 2012/10/23 07:33:32, Ami Fischman wrote: > > > > > Can you point out ...
8 years, 2 months ago (2012-10-23 07:46:39 UTC) #8
Ami GONE FROM CHROMIUM
Probably worth talking w/ strobe@ about the length of the actual expected init_data segments here ...
8 years, 2 months ago (2012-10-23 07:57:38 UTC) #9
scherkus (not reviewing)
Seems like fischman@ has this review down. I believe the original motivation for DecryptorClient was ...
8 years, 2 months ago (2012-10-23 21:10:39 UTC) #10
xhwang
Hi, after 1 month and 4 week, I am updating this CL again. As suggested ...
8 years ago (2012-12-19 04:16:21 UTC) #11
Ami GONE FROM CHROMIUM
On 2012/12/19 04:16:21, xhwang wrote: > Please review other files from a design perspective and ...
8 years ago (2012-12-19 19:01:07 UTC) #12
xhwang
This CL is ready for a full review now. PTAL! https://codereview.chromium.org/11226019/diff/15001/media/base/decryptor.h File media/base/decryptor.h (right): https://codereview.chromium.org/11226019/diff/15001/media/base/decryptor.h#newcode94 ...
8 years ago (2012-12-20 00:06:01 UTC) #13
scherkus (not reviewing)
lgtm w/ nits+q's https://codereview.chromium.org/11226019/diff/15001/media/filters/decrypting_video_decoder_unittest.cc File media/filters/decrypting_video_decoder_unittest.cc (right): https://codereview.chromium.org/11226019/diff/15001/media/filters/decrypting_video_decoder_unittest.cc#newcode222 media/filters/decrypting_video_decoder_unittest.cc:222: IsNullCallback())) indent https://codereview.chromium.org/11226019/diff/15001/media/filters/pipeline_integration_test.cc File media/filters/pipeline_integration_test.cc (right): ...
8 years ago (2012-12-20 15:18:55 UTC) #14
xhwang
scherkus's comments resolved. https://codereview.chromium.org/11226019/diff/15001/media/filters/decrypting_video_decoder_unittest.cc File media/filters/decrypting_video_decoder_unittest.cc (right): https://codereview.chromium.org/11226019/diff/15001/media/filters/decrypting_video_decoder_unittest.cc#newcode222 media/filters/decrypting_video_decoder_unittest.cc:222: IsNullCallback())) On 2012/12/20 15:18:55, scherkus wrote: ...
8 years ago (2012-12-20 18:06:31 UTC) #15
Ami GONE FROM CHROMIUM
I'll defer to scherkus@ for review of the details. (unless someone wants me to do ...
8 years ago (2012-12-20 18:33:55 UTC) #16
xhwang
ddorwin: PTAL at the CL! https://codereview.chromium.org/11226019/diff/11001/media/base/decryptor.h File media/base/decryptor.h (right): https://codereview.chromium.org/11226019/diff/11001/media/base/decryptor.h#newcode219 media/base/decryptor.h:219: // Key events callbacks. ...
8 years ago (2012-12-20 19:27:51 UTC) #17
ddorwin
Reviewed PS6, but 3 replies in PS3. https://codereview.chromium.org/11226019/diff/15001/media/crypto/aes_decryptor.h File media/crypto/aes_decryptor.h (right): https://codereview.chromium.org/11226019/diff/15001/media/crypto/aes_decryptor.h#newcode32 media/crypto/aes_decryptor.h:32: const NeedKeyCB& ...
8 years ago (2012-12-21 04:19:06 UTC) #18
xhwang
PTAL again! https://codereview.chromium.org/11226019/diff/15001/media/crypto/aes_decryptor.h File media/crypto/aes_decryptor.h (right): https://codereview.chromium.org/11226019/diff/15001/media/crypto/aes_decryptor.h#newcode32 media/crypto/aes_decryptor.h:32: const NeedKeyCB& need_key_cb); On 2012/12/21 04:19:06, ddorwin ...
8 years ago (2012-12-21 05:50:06 UTC) #19
scherkus (not reviewing)
still lgtm
8 years ago (2012-12-21 15:21:24 UTC) #20
dmichael (off chromium)
webkit/plugins/ppapi lgtm
8 years ago (2012-12-21 17:33:57 UTC) #21
ddorwin
LGTM. We can fix the name later in a smaller CL. https://codereview.chromium.org/11226019/diff/15002/media/filters/pipeline_integration_test.cc File media/filters/pipeline_integration_test.cc (right): ...
8 years ago (2012-12-21 20:05:30 UTC) #22
xhwang
https://codereview.chromium.org/11226019/diff/15002/media/filters/pipeline_integration_test.cc File media/filters/pipeline_integration_test.cc (right): https://codereview.chromium.org/11226019/diff/15002/media/filters/pipeline_integration_test.cc#newcode81 media/filters/pipeline_integration_test.cc:81: current_session_id_ = session_id; On 2012/12/21 20:05:30, ddorwin wrote: > ...
8 years ago (2012-12-22 00:46:33 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/xhwang@chromium.org/11226019/29002
8 years ago (2012-12-22 01:00:10 UTC) #24
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
8 years ago (2012-12-22 01:04:19 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/xhwang@chromium.org/11226019/27006
8 years ago (2012-12-22 01:22:47 UTC) #26
tfarina
https://codereview.chromium.org/11226019/diff/25007/media/base/decryptor.h File media/base/decryptor.h (right): https://codereview.chromium.org/11226019/diff/25007/media/base/decryptor.h#newcode94 media/base/decryptor.h:94: typedef base::Callback<void()> NewKeyCB; base::Closure?
7 years, 11 months ago (2013-01-26 16:05:23 UTC) #27
xhwang
7 years, 10 months ago (2013-01-30 04:25:07 UTC) #28
Message was sent while issue was closed.
https://codereview.chromium.org/11226019/diff/25007/media/base/decryptor.h
File media/base/decryptor.h (right):

https://codereview.chromium.org/11226019/diff/25007/media/base/decryptor.h#ne...
media/base/decryptor.h:94: typedef base::Callback<void()> NewKeyCB;
On 2013/01/26 16:05:23, tfarina wrote:
> base::Closure?

You are right. Thanks for pointing this out. I'll update it.

Powered by Google App Engine
This is Rietveld 408576698