Descriptionmedia: Add External Clear Key content browser test on Android
This CL adds External Clear Key support on Android for testing.
This is implemented by running AesDecryptor in the MojoCdmService,
which runs in the MojoMediaApplication in the GPU process. This is
only enabled when kExternalClearKeyForTesting feature is enabled.
A new content browser test is added to use External Clear Key on
Android. Since AesDecryptor doesn't support decoding, the media
pipeline is configured to do decrypt-only using the mojo CDM
(MojoDecryptor on MojoCdm), and then use the normal Android
pipeline (AVDA/MojoAudioDecoder) to decode encrypted audio/video.
Note that this is different from the default mode how Android
media pipeline works for encrypted content (decryption/decoding
both happens in the GPU process). When browser_tests are enabled
on Android, we should be able to have test coverage on that.
Here's what the new test covers:
- MojoCdm / MojoCdmService
- MojoDecryptor / MojoDecryptorService
- MojoMediaApplication
- Connection to services hosted in MojoMediaApplication through
MojoShellContext.
This CL also fixes a bug in MojoCdm where the decryptor_ptr is bound to
one thread but is used on another thread.
BUG=581893
TEST=This CL adds a new test. No other functionality change.
Committed: https://crrev.com/bcd6858191102c4d4c949a617560231908480235
Cr-Commit-Position: refs/heads/master@{#420500}
Patch Set 1 #
Total comments: 9
Patch Set 2 : comments addressed #Patch Set 3 : fix compile error #
Total comments: 6
Patch Set 4 : rebase only #Patch Set 5 : Check whether ECK is enabled #Patch Set 6 : update comment #
Total comments: 6
Patch Set 7 : comments addressed #
Total comments: 4
Patch Set 8 : rebase-only #Patch Set 9 : nits #Messages
Total messages: 49 (28 generated)
|