Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(527)

Unified Diff: webkit/media/crypto/ppapi/clear_key_cdm.h

Issue 10899021: Add CDM video decoder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..7d3e3fd3269bb51f5d2846fb49593d1be4462849 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:
@@ -45,6 +48,12 @@ class ClearKeyCdm : public cdm::ContentDecryptionModule {
virtual cdm::Status Decrypt(const cdm::InputBuffer& encrypted_buffer,
cdm::OutputBuffer* decrypted_buffer) OVERRIDE;
+ virtual cdm::Status InitializeVideoDecoder(
+ const cdm::VideoDecoderConfig& video_decoder_config) OVERRIDE;
+
+ virtual cdm::Status DecryptAndDecode(const cdm::InputBuffer& encrypted_buffer,
+ cdm::VideoFrame* video_frame) OVERRIDE;
+
private:
class Client : public media::DecryptorClient {
public:
@@ -97,6 +106,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_;
ddorwin 2012/08/29 17:33:49 Why do we have a base class if even this header fi
Tom Finegan 2012/08/30 17:09:23 base::scoped_ptr<T> seems to be working fine w/for
ddorwin 2012/09/02 21:39:07 My point is that we never use the VideoDecoder cla
Tom Finegan 2012/09/27 22:16:24 Done.
};
} // namespace webkit_media

Powered by Google App Engine
This is Rietveld 408576698