DescriptionImplement "Key Presence" step in "Encrypted Block Encounted" algorithm in EME.
See related spec here: http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#algorithms-enrypted-block
If the AesDecryptor cannot find the decryption for the encrypted buffer, it returns a kNoKey.
In ProxyDecryptor, if the input cannot be decrypted due to kNoKey, the ProxyDecryptor will cache the encrypted buffers and callbacks and fire a needkey event. When some key is added (AddKey called) later, it will try to decrypt these buffers again. The callbacks will be fired on the same thread where Decrypt() was called originally.
BUG=125401, 125753
TEST=media_unittest, media layout_tests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=149952
Patch Set 1 #
Total comments: 8
Patch Set 2 : Use message_loop_proxy. #
Total comments: 5
Patch Set 3 : Add unit test. #
Total comments: 12
Patch Set 4 : Resolve comments and rebase #Patch Set 5 : Fix broken ChunkDemuxerTest due to null MessageLoop::Current() #
Total comments: 1
Patch Set 6 : Add Stop() to ProxyDecryptor to abort decrypt cb during tearing down. #Patch Set 7 : Protect is_shutting_down_ w/ lock and issue Decryptor::Stop() from FFVD. #Patch Set 8 : Rebase #
Total comments: 10
Patch Set 9 : Resolve comments. #Patch Set 10 : Rebase #
Messages
Total messages: 18 (0 generated)
|