| 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
|
|
|