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. |
- 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); |
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); |
}; |