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

Issue 10829470: Support for parsing encrypted WebM streams by src. (Closed)

Created:
8 years, 4 months ago by fgalligan1
Modified:
7 years, 9 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, darin-cc_chromium.org
Visibility:
Public.

Description

Support for parsing encrypted WebM streams by src. - Note: Only looking for comments on direction. A lot of work still needs to be done before committing. - Added support to FFmpegDemuxer to decrypt encrypted WebM streams. - Added support to FFmpegDemuxer to handle the needKey and keyAdded messages. - Added support to WebMediaPlayerImpl to handle the needKey and keyAdded messages. BUG=123426 TEST=All media_unittests pass Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=188228

Patch Set 1 #

Total comments: 51

Patch Set 2 : Addressing comments. #

Total comments: 4

Patch Set 3 : Fixed bug with playing latest encrypted WebM. Addressing comments. #

Total comments: 47

Patch Set 4 : Rebase code. Add support for audio. #

Total comments: 41

Patch Set 5 : Refactored decryption code. Add 2 unittests. #

Total comments: 34

Patch Set 6 : Addressing comments #

Total comments: 8

Patch Set 7 : Addressing comments #

Total comments: 6

Patch Set 8 : Add Mock method #

Patch Set 9 : Addressing comments #

Total comments: 5

Patch Set 10 : #

Patch Set 11 : Added output if DecryptConfig failed #

Patch Set 12 : #

Patch Set 13 : Fix 2 tools. One mac issue. #

Patch Set 14 : Fix sign issue #

Patch Set 15 : Fix tool player_x11 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+375 lines, -78 lines) Patch
M media/ffmpeg/ffmpeg_common.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M media/ffmpeg/ffmpeg_common.cc View 1 2 3 4 4 chunks +20 lines, -3 lines 0 comments Download
M media/filters/chunk_demuxer_unittest.cc View 1 2 3 4 5 6 7 3 chunks +4 lines, -3 lines 0 comments Download
M media/filters/ffmpeg_demuxer.h View 1 2 3 4 5 chunks +19 lines, -1 line 0 comments Download
M media/filters/ffmpeg_demuxer.cc View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +50 lines, -3 lines 0 comments Download
M media/filters/ffmpeg_demuxer_unittest.cc View 1 2 3 4 5 6 7 8 9 4 chunks +31 lines, -1 line 0 comments Download
M media/filters/pipeline_integration_test.cc View 1 2 3 4 5 6 2 chunks +17 lines, -0 lines 0 comments Download
M media/filters/pipeline_integration_test_base.h View 1 2 3 3 chunks +9 lines, -1 line 0 comments Download
M media/filters/pipeline_integration_test_base.cc View 1 2 3 4 5 6 4 chunks +26 lines, -5 lines 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M media/tools/demuxer_bench/demuxer_bench.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +8 lines, -1 line 0 comments Download
M media/tools/player_x11/player_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +8 lines, -1 line 0 comments Download
M media/tools/seek_tester/seek_tester.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +8 lines, -1 line 0 comments Download
M media/webm/webm_cluster_parser.cc View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -42 lines 0 comments Download
M media/webm/webm_cluster_parser_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +56 lines, -1 line 0 comments Download
A media/webm/webm_crypto_helpers.h View 1 2 3 4 5 6 1 chunk +32 lines, -0 lines 0 comments Download
A media/webm/webm_crypto_helpers.cc View 1 2 3 4 1 chunk +60 lines, -0 lines 0 comments Download
M media/webm/webm_stream_parser.cc View 1 2 3 4 3 chunks +4 lines, -7 lines 0 comments Download
M webkit/media/filter_helpers.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M webkit/media/filter_helpers.cc View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M webkit/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 1 chunk +5 lines, -3 lines 0 comments Download

Messages

Total messages: 26 (0 generated)
ddorwin
I'm not sure why we need keyadded or a separate needkey CB. I also have ...
8 years, 4 months ago (2012-08-22 23:20:28 UTC) #1
fgalligan1
https://chromiumcodereview.appspot.com/10829470/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): https://chromiumcodereview.appspot.com/10829470/diff/1/media/base/demuxer.h#newcode67 media/base/demuxer.h:67: virtual void KeyAdded(); On 2012/08/22 23:20:29, ddorwin wrote: > ...
8 years, 4 months ago (2012-08-23 02:39:10 UTC) #2
xhwang
Only looked at the big picture. In summary: 1, it'll be great to have the ...
8 years, 4 months ago (2012-08-23 18:41:38 UTC) #3
xhwang
Oops, forgot to send my comments out. Please see comments. http://codereview.chromium.org/10829470/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): http://codereview.chromium.org/10829470/diff/1/media/base/demuxer.h#newcode67 ...
8 years, 4 months ago (2012-08-23 19:04:53 UTC) #4
ddorwin
I think the summary is: * Common DemuxerClient. * Probably don't need to wait and ...
8 years, 4 months ago (2012-08-24 00:20:30 UTC) #5
fgalligan1
http://codereview.chromium.org/10829470/diff/1/media/base/demuxer.h File media/base/demuxer.h (right): http://codereview.chromium.org/10829470/diff/1/media/base/demuxer.h#newcode67 media/base/demuxer.h:67: virtual void KeyAdded(); On 2012/08/23 19:04:53, xhwang wrote: > ...
8 years, 4 months ago (2012-08-24 20:01:25 UTC) #6
xhwang
Looks nice! Just a few more comments. http://codereview.chromium.org/10829470/diff/13001/media/crypto/decryptor_helpers.cc File media/crypto/decryptor_helpers.cc (right): http://codereview.chromium.org/10829470/diff/13001/media/crypto/decryptor_helpers.cc#newcode17 media/crypto/decryptor_helpers.cc:17: } // ...
8 years, 3 months ago (2012-08-29 05:08:13 UTC) #7
ddorwin
http://codereview.chromium.org/10829470/diff/13001/media/crypto/decryptor_helpers.cc File media/crypto/decryptor_helpers.cc (right): http://codereview.chromium.org/10829470/diff/13001/media/crypto/decryptor_helpers.cc#newcode12 media/crypto/decryptor_helpers.cc:12: std::string counter_block(reinterpret_cast<char*>(&iv), sizeof(iv)); I wonder if we'd be better ...
8 years, 3 months ago (2012-09-01 16:46:41 UTC) #8
xhwang
Shall we resume this work? It would be nice to have EME working with src.
7 years, 11 months ago (2013-01-09 07:59:30 UTC) #9
fgalligan1
Some of the comments were obsolete as the code has been sitting for a long ...
7 years, 9 months ago (2013-03-09 01:10:58 UTC) #10
ddorwin
Thanks. https://codereview.chromium.org/10829470/diff/26001/media/ffmpeg/ffmpeg_common.h File media/ffmpeg/ffmpeg_common.h (right): https://codereview.chromium.org/10829470/diff/26001/media/ffmpeg/ffmpeg_common.h#newcode75 media/ffmpeg/ffmpeg_common.h:75: void AVCodecContextToAudioDecoderConfig( Should this be local to the ...
7 years, 9 months ago (2013-03-10 21:29:39 UTC) #11
fgalligan1
https://codereview.chromium.org/10829470/diff/26001/media/ffmpeg/ffmpeg_common.h File media/ffmpeg/ffmpeg_common.h (right): https://codereview.chromium.org/10829470/diff/26001/media/ffmpeg/ffmpeg_common.h#newcode75 media/ffmpeg/ffmpeg_common.h:75: void AVCodecContextToAudioDecoderConfig( On 2013/03/10 21:29:39, ddorwin wrote: > Should ...
7 years, 9 months ago (2013-03-12 00:42:42 UTC) #12
ddorwin
Please update the description now that it's ready to land. The main line should probably ...
7 years, 9 months ago (2013-03-12 04:40:05 UTC) #13
fgalligan1
https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc#newcode123 media/filters/ffmpeg_demuxer.cc:123: CHECK(buffer->GetDecryptConfig()) << "Create DecryptConfig failed."; On 2013/03/12 04:40:06, ddorwin ...
7 years, 9 months ago (2013-03-12 17:20:13 UTC) #14
xhwang
This looks pretty good. Just a few comments. The comments are made on patch set ...
7 years, 9 months ago (2013-03-12 17:28:57 UTC) #15
ddorwin
Thanks. Replies in 5 and 6. https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc#newcode123 media/filters/ffmpeg_demuxer.cc:123: CHECK(buffer->GetDecryptConfig()) << "Create ...
7 years, 9 months ago (2013-03-12 19:31:01 UTC) #16
fgalligan1
https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/10829470/diff/35001/media/filters/ffmpeg_demuxer.cc#newcode123 media/filters/ffmpeg_demuxer.cc:123: CHECK(buffer->GetDecryptConfig()) << "Create DecryptConfig failed."; On 2013/03/12 19:31:01, ddorwin ...
7 years, 9 months ago (2013-03-13 17:58:09 UTC) #17
ddorwin
LGTM, though I suggest using mocks for the new test. https://codereview.chromium.org/10829470/diff/70001/media/filters/ffmpeg_demuxer_unittest.cc File media/filters/ffmpeg_demuxer_unittest.cc (right): https://codereview.chromium.org/10829470/diff/70001/media/filters/ffmpeg_demuxer_unittest.cc#newcode181 ...
7 years, 9 months ago (2013-03-13 18:07:24 UTC) #18
xhwang
lgtm % nits and agree on ddorwins' comments about using mock for the test. https://codereview.chromium.org/10829470/diff/70001/media/webm/webm_cluster_parser.cc ...
7 years, 9 months ago (2013-03-13 18:57:27 UTC) #19
fgalligan1
https://codereview.chromium.org/10829470/diff/70001/media/filters/ffmpeg_demuxer_unittest.cc File media/filters/ffmpeg_demuxer_unittest.cc (right): https://codereview.chromium.org/10829470/diff/70001/media/filters/ffmpeg_demuxer_unittest.cc#newcode181 media/filters/ffmpeg_demuxer_unittest.cc:181: void NeedKeyCB(const std::string& type, On 2013/03/13 18:07:24, ddorwin wrote: ...
7 years, 9 months ago (2013-03-13 19:05:26 UTC) #20
ddorwin
https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer.cc#newcode123 media/filters/ffmpeg_demuxer.cc:123: DCHECK(buffer->GetDecryptConfig()) << "Create DecryptConfig failed."; Continuing from Patch Set ...
7 years, 9 months ago (2013-03-13 19:16:09 UTC) #21
fgalligan1
https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer.cc File media/filters/ffmpeg_demuxer.cc (right): https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer.cc#newcode123 media/filters/ffmpeg_demuxer.cc:123: DCHECK(buffer->GetDecryptConfig()) << "Create DecryptConfig failed."; On 2013/03/13 19:16:09, ddorwin ...
7 years, 9 months ago (2013-03-13 19:36:52 UTC) #22
ddorwin
lgtm Thanks!
7 years, 9 months ago (2013-03-13 19:43:06 UTC) #23
xhwang
lgtm https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer_unittest.cc File media/filters/ffmpeg_demuxer_unittest.cc (right): https://codereview.chromium.org/10829470/diff/83002/media/filters/ffmpeg_demuxer_unittest.cc#newcode134 media/filters/ffmpeg_demuxer_unittest.cc:134: void NeedKeyCB(const std::string& type, On 2013/03/13 19:36:52, fgalligan1 ...
7 years, 9 months ago (2013-03-13 20:15:20 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fgalligan@chromium.org/10829470/120001
7 years, 9 months ago (2013-03-14 16:53:57 UTC) #25
commit-bot: I haz the power
7 years, 9 months ago (2013-03-14 23:52:42 UTC) #26
Message was sent while issue was closed.
Change committed as 188228

Powered by Google App Engine
This is Rietveld 408576698