Index: webkit/media/crypto/ppapi/clear_key_cdm.h |
diff --git a/webkit/media/crypto/ppapi/clear_key_cdm.h b/webkit/media/crypto/ppapi/clear_key_cdm.h |
index eaad45d9b2e095ba2e765f95e410523ade03de8f..91a7997d0e67ae809c3fb4db04c79124f0c33537 100644 |
--- a/webkit/media/crypto/ppapi/clear_key_cdm.h |
+++ b/webkit/media/crypto/ppapi/clear_key_cdm.h |
@@ -10,6 +10,7 @@ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/memory/ref_counted.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/synchronization/lock.h" |
#include "media/base/decryptor_client.h" |
#include "media/crypto/aes_decryptor.h" |
@@ -21,6 +22,8 @@ class DecoderBuffer; |
namespace webkit_media { |
+class FFmpegVideoDecoder; |
+ |
// Clear key implementation of the cdm::ContentDecryptionModule interface. |
class ClearKeyCdm : public cdm::ContentDecryptionModule { |
public: |
@@ -42,9 +45,17 @@ class ClearKeyCdm : public cdm::ContentDecryptionModule { |
virtual cdm::Status CancelKeyRequest(const char* session_id, |
int session_id_size) OVERRIDE; |
+ virtual cdm::Status InitializeVideoDecoder( |
+ const cdm::VideoDecoderConfig& video_decoder_config) OVERRIDE; |
+ |
+ virtual cdm::Status FlushVideoDecoder() OVERRIDE; |
+ |
virtual cdm::Status Decrypt(const cdm::InputBuffer& encrypted_buffer, |
cdm::OutputBuffer* decrypted_buffer) OVERRIDE; |
+ virtual cdm::Status DecryptAndDecode(const cdm::InputBuffer& encrypted_buffer, |
+ cdm::VideoFrame* video_frame) OVERRIDE; |
+ |
private: |
class Client : public media::DecryptorClient { |
public: |
@@ -97,6 +108,8 @@ class ClearKeyCdm : public cdm::ContentDecryptionModule { |
// Protects the |client_| from being accessed by the |decryptor_| |
// simultaneously. |
base::Lock client_lock_; |
+ |
+ scoped_ptr<FFmpegVideoDecoder> video_decoder_; |
}; |
} // namespace webkit_media |