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

Unified Diff: ppapi/cpp/private/content_decryptor_private.h

Issue 10827280: Add PPAPI decryptor implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix proxied interface definition. 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: ppapi/cpp/private/content_decryptor_private.h
diff --git a/ppapi/cpp/private/content_decryptor_private.h b/ppapi/cpp/private/content_decryptor_private.h
new file mode 100644
index 0000000000000000000000000000000000000000..ef2cd870bcebb3ab81f3b957edf9aa791501e998
--- /dev/null
+++ b/ppapi/cpp/private/content_decryptor_private.h
@@ -0,0 +1,64 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_
+#define PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_
+
+#include "ppapi/cpp/instance_handle.h"
+#include "ppapi/cpp/var.h"
+#include "ppapi/cpp/var_array_buffer.h"
+#include "ppapi/cpp/dev/buffer_dev.h"
+#include "ppapi/c/private/ppb_content_decryptor_private.h"
+#include "ppapi/c/private/ppp_content_decryptor_private.h"
+
+namespace pp {
+
+class Instance;
+
+class ContentDecryptor_Private {
+ public:
+ explicit ContentDecryptor_Private(Instance* instance);
+ virtual ~ContentDecryptor_Private();
+
+ // PPP_ContentDecryptor_Private functions exposed as virtual functions
+ // for you to override.
+ virtual bool GenerateKeyRequest(const std::string& key_system,
+ pp::VarArrayBuffer init_data) = 0;
+ virtual bool AddKey(const std::string& session_id,
+ pp::VarArrayBuffer key) = 0;
+ virtual bool CancelKeyRequest(const std::string& session_id) = 0;
+ virtual bool Decrypt(pp::Buffer_Dev encrypted_block,
xhwang 2012/08/15 00:27:57 Since the type is pp::Buffer_Dev, make the variabl
Tom Finegan 2012/08/16 03:10:48 Done.
+ int32_t request_id) = 0;
+ virtual bool DecryptAndDecode(pp::Buffer_Dev encrypted_block,
+ int32_t request_id) = 0;
+
+ // PPB_ContentDecryptor_Private methods for passing data from the decryptor
+ // to the browser.
+ void NeedKey(const std::string& key_system,
+ const std::string& session_id,
+ const std::string& init_data);
+ void KeyAdded(const std::string& key_system,
+ const std::string& session_id);
+ void KeyMessage(const std::string& key_system,
+ const std::string& session_id,
+ pp::Buffer_Dev message,
+ const std::string& default_url); // String.
xhwang 2012/08/15 00:27:57 Do we need this comment "// String"?
Tom Finegan 2012/08/16 03:10:48 Done.
+ void KeyError(const std::string& key_system,
+ const std::string& session_id,
+ int32_t media_error,
+ int32_t system_code);
+ void DeliverBlock(pp::Buffer_Dev decrypted_block,
+ int32_t request_id);
+ void DeliverFrame(pp::Buffer_Dev decrypted_frame,
+ int32_t request_id);
+ void DeliverSamples(pp::Buffer_Dev decrypted_samples,
+ int32_t request_id);
+
+ private:
+ InstanceHandle associated_instance_;
+};
+
+} // namespace pp
+
+#endif // PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_
« no previous file with comments | « no previous file | ppapi/cpp/private/content_decryptor_private.cc » ('j') | webkit/media/crypto/content_decryptor.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698