Chromium Code Reviews| Index: media/crypto/aes_decryptor.h |
| diff --git a/media/crypto/aes_decryptor.h b/media/crypto/aes_decryptor.h |
| index e98380542709baef8db41d3d2bdbc4d8c36c54ee..999d6617a1f40c5dfd82ed4a80534b4ed144beed 100644 |
| --- a/media/crypto/aes_decryptor.h |
| +++ b/media/crypto/aes_decryptor.h |
| @@ -22,15 +22,14 @@ class SymmetricKey; |
| namespace media { |
| -class DecryptorClient; |
| - |
| // Decrypts an AES encrypted buffer into an unencrypted buffer. The AES |
| // encryption must be CTR with a key size of 128bits. |
| class MEDIA_EXPORT AesDecryptor : public Decryptor { |
| public: |
| - // The AesDecryptor does not take ownership of the |client|. The |client| |
| - // must be valid throughout the lifetime of the AesDecryptor. |
|
xhwang
2012/12/20 00:06:01
Not needed anymore since those callbacks are on we
|
| - explicit AesDecryptor(DecryptorClient* client); |
| + AesDecryptor(const KeyAddedCB& key_added_cb, |
| + const KeyErrorCB& key_error_cb, |
| + const KeyMessageCB& key_message_cb, |
| + const NeedKeyCB& need_key_cb); |
|
xhwang
2012/12/20 00:06:01
We are not firing NeedKey from AesDecryptor now (w
ddorwin
2012/12/21 04:19:06
TBD, but I don't think we'll make any changes to t
xhwang
2012/12/21 05:50:07
ok, I'll keep this as is then.
|
| virtual ~AesDecryptor(); |
| // Decryptor implementation. |
| @@ -46,8 +45,8 @@ class MEDIA_EXPORT AesDecryptor : public Decryptor { |
| const std::string& session_id) OVERRIDE; |
| virtual void CancelKeyRequest(const std::string& key_system, |
| const std::string& session_id) OVERRIDE; |
| - virtual void RegisterKeyAddedCB(StreamType stream_type, |
| - const KeyAddedCB& key_added_cb) OVERRIDE; |
| + virtual void RegisterNewKeyCB(StreamType stream_type, |
| + const NewKeyCB& key_added_cb) OVERRIDE; |
| virtual void Decrypt(StreamType stream_type, |
| const scoped_refptr<DecoderBuffer>& encrypted, |
| const DecryptCB& decrypt_cb) OVERRIDE; |
| @@ -96,6 +95,12 @@ class MEDIA_EXPORT AesDecryptor : public Decryptor { |
| // the key. Returns NULL if no key is associated with |key_id|. |
| DecryptionKey* GetKey(const std::string& key_id) const; |
| + // Callbacks for firing key events. |
| + KeyAddedCB key_added_cb_; |
| + KeyErrorCB key_error_cb_; |
| + KeyMessageCB key_message_cb_; |
| + NeedKeyCB need_key_cb_; |
| + |
| // KeyMap owns the DecryptionKey* and must delete them when they are |
| // not needed any more. |
| typedef base::hash_map<std::string, DecryptionKey*> KeyMap; |
| @@ -111,10 +116,8 @@ class MEDIA_EXPORT AesDecryptor : public Decryptor { |
| // https://www.w3.org/Bugs/Public/show_bug.cgi?id=16739#c0 |
| static uint32 next_session_id_; |
| - DecryptorClient* const client_; |
| - |
| - KeyAddedCB audio_key_added_cb_; |
| - KeyAddedCB video_key_added_cb_; |
| + NewKeyCB new_audio_key_cb_; |
| + NewKeyCB new_video_key_cb_; |
| DISALLOW_COPY_AND_ASSIGN(AesDecryptor); |
| }; |