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

Issue 2543623003: media: Allow config change between clear and encrypted streams (Closed)

Created:
4 years ago by xhwang
Modified:
3 years, 10 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, feature-media-reviews_chromium.org, jrummell
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

media: Allow config change between clear and encrypted streams In the demuxer, we allow DecryptConfig change upon config change, including but not limited to: - switching between clear and encrypted - encryption scheme change Media Renderer implementation should support such changes. The detailed requirement from the spec's perspective is tracked at: https://github.com/w3c/encrypted-media/issues/251 Currently the default media Renderer (RendererImpl) supports switching from encrypted to clear, because: - Decrypt-and-decode mode: Decrypting{Audio|Video}Decoder supports clear buffer. - Decrypt-only mode: DecryptingDemuxerStream supports clear buffer. However, switching from clear to encrypted is not supported in RendererImpl, because the clear decoder doesn't support decryption. This will be fixed in a later CL. BUG=597443 TEST=Updated pipeline_integration_tests. Review-Url: https://codereview.chromium.org/2543623003 Cr-Commit-Position: refs/heads/master@{#451212} Committed: https://chromium.googlesource.com/chromium/src/+/65c23034a1deaa9b221ef98928925bee36304fd6

Patch Set 1 #

Patch Set 2 : more changes #

Patch Set 3 : media: Allow config change between clear and encrypted streams #

Total comments: 16

Patch Set 4 : rebase only #

Patch Set 5 : comments addressed & tests added #

Patch Set 6 : rebase only #

Patch Set 7 : media: Allow config change between clear and encrypted streams #

Patch Set 8 : media: Allow config change between clear and encrypted streams #

Total comments: 36

Patch Set 9 : rebase only #

Patch Set 10 : disable clear-to-encrypted browser test #

Patch Set 11 : comments addressed #

Total comments: 2

Patch Set 12 : comments addressed #

Total comments: 4

Patch Set 13 : comments addressed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -177 lines) Patch
M chrome/browser/media/encrypted_media_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 18 chunks +74 lines, -32 lines 0 comments Download
M chrome/browser/media/media_browsertest.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/media/media_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -3 lines 0 comments Download
M content/browser/media/encrypted_media_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 8 chunks +58 lines, -19 lines 0 comments Download
M content/browser/media/media_browsertest.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/media/media_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +11 lines, -2 lines 0 comments Download
M content/browser/media/media_source_browsertest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/media/cdm/ppapi_decryptor.cc View 1 2 3 4 5 6 7 8 3 chunks +2 lines, -2 lines 0 comments Download
M content/renderer/pepper/content_decryptor_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +16 lines, -18 lines 0 comments Download
M media/cdm/ppapi/external_clear_key/clear_key_cdm.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +25 lines, -16 lines 0 comments Download
M media/filters/decoder_stream.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M media/filters/decrypting_audio_decoder.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +7 lines, -9 lines 0 comments Download
M media/filters/decrypting_audio_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +25 lines, -11 lines 0 comments Download
M media/filters/decrypting_demuxer_stream.cc View 1 2 3 4 3 chunks +18 lines, -11 lines 0 comments Download
M media/filters/decrypting_demuxer_stream_unittest.cc View 1 2 3 4 4 chunks +18 lines, -6 lines 0 comments Download
M media/filters/decrypting_video_decoder.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -2 lines 0 comments Download
M media/filters/decrypting_video_decoder_unittest.cc View 1 2 3 4 2 chunks +11 lines, -4 lines 0 comments Download
M media/filters/source_buffer_stream.cc View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -12 lines 0 comments Download
M media/test/data/eme_player.html View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M media/test/data/eme_player_js/globals.js View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -0 lines 0 comments Download
M media/test/data/eme_player_js/test_config.js View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M media/test/data/mse_config_change.html View 1 2 3 4 2 chunks +32 lines, -6 lines 0 comments Download
M media/test/pipeline_integration_test.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +21 lines, -23 lines 0 comments Download

Messages

Total messages: 84 (54 generated)
xhwang
This CL is working but I need to add more tests. Before that could you ...
4 years ago (2016-12-01 20:36:16 UTC) #9
xhwang
This CL is working but I need to add more tests. Before that could you ...
4 years ago (2016-12-01 20:36:16 UTC) #10
xhwang
In RendererImpl, long term, we should support switching decoders. I look at the current code ...
4 years ago (2016-12-01 20:38:04 UTC) #11
Joey Parrish
LGTM otherwise https://codereview.chromium.org/2543623003/diff/40001/media/filters/decrypting_audio_decoder.cc File media/filters/decrypting_audio_decoder.cc (right): https://codereview.chromium.org/2543623003/diff/40001/media/filters/decrypting_audio_decoder.cc#newcode76 media/filters/decrypting_audio_decoder.cc:76: DCHECK(config.is_encrypted()); This is protecting the renderer? Might ...
4 years ago (2016-12-01 22:28:10 UTC) #17
ddorwin
I reviewed the code. I have more general concerns about only implementing one direction and ...
4 years ago (2016-12-05 23:53:04 UTC) #20
xhwang
rebase only
4 years ago (2016-12-16 06:01:13 UTC) #21
xhwang
On 2016/12/05 23:53:04, ddorwin wrote: > I reviewed the code. I have more general concerns ...
4 years ago (2016-12-16 20:10:50 UTC) #25
xhwang
I think I addressed all comments and added more tests. ddorwin: Please take another look! ...
4 years ago (2016-12-16 20:12:29 UTC) #27
xhwang
kindly post-holiday ping!
3 years, 11 months ago (2017-01-04 22:15:41 UTC) #30
Joey Parrish
lgtm
3 years, 11 months ago (2017-01-04 22:47:43 UTC) #31
xhwang
rebase only
3 years, 11 months ago (2017-01-05 22:17:21 UTC) #32
xhwang
ddorwin: Would you like to finish the detailed review of this CL? Or shall I ...
3 years, 11 months ago (2017-01-09 17:54:26 UTC) #47
ddorwin
LG overall. We need to address the spec/interop, though. https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc File chrome/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc#newcode39 chrome/browser/media/encrypted_media_browsertest.cc:39: ...
3 years, 10 months ago (2017-02-12 04:28:53 UTC) #48
xhwang
rebase only
3 years, 10 months ago (2017-02-14 19:26:03 UTC) #49
xhwang
comments addressed
3 years, 10 months ago (2017-02-14 23:56:57 UTC) #54
xhwang
ddorwin: PTAL again! https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc File chrome/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc#newcode39 chrome/browser/media/encrypted_media_browsertest.cc:39: // Available key systems. On 2017/02/12 ...
3 years, 10 months ago (2017-02-14 23:59:33 UTC) #56
xhwang
bbudge: Please OWNERS review trivial changes in content/renderer/pepper/content_decryptor_delegate.cc
3 years, 10 months ago (2017-02-15 04:14:54 UTC) #61
bbudge
https://codereview.chromium.org/2543623003/diff/200001/content/renderer/pepper/content_decryptor_delegate.cc File content/renderer/pepper/content_decryptor_delegate.cc (right): https://codereview.chromium.org/2543623003/diff/200001/content/renderer/pepper/content_decryptor_delegate.cc#newcode121 content/renderer/pepper/content_decryptor_delegate.cc:121: return true; It seems strange to return true here, ...
3 years, 10 months ago (2017-02-15 15:46:13 UTC) #62
bbudge
3 years, 10 months ago (2017-02-15 15:46:15 UTC) #63
xhwang
comments addressed
3 years, 10 months ago (2017-02-15 17:29:15 UTC) #64
xhwang
https://codereview.chromium.org/2543623003/diff/200001/content/renderer/pepper/content_decryptor_delegate.cc File content/renderer/pepper/content_decryptor_delegate.cc (right): https://codereview.chromium.org/2543623003/diff/200001/content/renderer/pepper/content_decryptor_delegate.cc#newcode121 content/renderer/pepper/content_decryptor_delegate.cc:121: return true; On 2017/02/15 15:46:13, bbudge wrote: > It ...
3 years, 10 months ago (2017-02-15 17:30:20 UTC) #65
xhwang
bbudge: PTAL again!
3 years, 10 months ago (2017-02-15 17:30:35 UTC) #66
bbudge
Thanks. content/renderer/pepper lgtm
3 years, 10 months ago (2017-02-15 17:35:22 UTC) #69
ddorwin
LGTM with nits. One reply is in a previous PS. https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc File chrome/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc#newcode386 ...
3 years, 10 months ago (2017-02-16 20:26:21 UTC) #72
xhwang
comments addressed
3 years, 10 months ago (2017-02-17 00:45:02 UTC) #73
xhwang
https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc File chrome/browser/media/encrypted_media_browsertest.cc (right): https://codereview.chromium.org/2543623003/diff/140001/chrome/browser/media/encrypted_media_browsertest.cc#newcode386 chrome/browser/media/encrypted_media_browsertest.cc:386: if (!IsPlayBackPossible(CurrentKeySystem())) { On 2017/02/16 20:26:21, ddorwin wrote: > ...
3 years, 10 months ago (2017-02-17 00:47:20 UTC) #74
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2543623003/240001
3 years, 10 months ago (2017-02-17 00:49:04 UTC) #77
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on ...
3 years, 10 months ago (2017-02-17 02:52:16 UTC) #79
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2543623003/240001
3 years, 10 months ago (2017-02-17 03:34:38 UTC) #81
commit-bot: I haz the power
3 years, 10 months ago (2017-02-17 04:38:48 UTC) #84
Message was sent while issue was closed.
Committed patchset #13 (id:240001) as
https://chromium.googlesource.com/chromium/src/+/65c23034a1deaa9b221ef9892892...

Powered by Google App Engine
This is Rietveld 408576698