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

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: All comments addressed-- please check ppapi_plugin_instance: I'm abusing LOG(INFO) to avoid compile… 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
« no previous file with comments | « no previous file | ppapi/cpp/private/content_decryptor_private.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..fe00cf751cb45249ed588565eaab8a35e721ab01
--- /dev/null
+++ b/ppapi/cpp/private/content_decryptor_private.h
@@ -0,0 +1,67 @@
+// 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/c/private/ppb_content_decryptor_private.h"
+#include "ppapi/c/private/ppp_content_decryptor_private.h"
+
+#include "ppapi/cpp/dev/buffer_dev.h"
+#include "ppapi/cpp/instance_handle.h"
+#include "ppapi/cpp/var.h"
+#include "ppapi/cpp/var_array_buffer.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.
+ // TODO(tomfinegan): Optimization; just pass pp::Var instead of strings,
+ // that way the same var can be reused when replying to the browser.
dmichael (off chromium) 2012/08/16 18:51:00 You can leave out this TODO. If you want to keep i
Tom Finegan 2012/08/16 19:08:05 Done; reworded it-- it'll be nice to have the remi
+ 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_buffer,
+ int32_t request_id) = 0;
+ virtual bool DecryptAndDecode(pp::Buffer_Dev encrypted_buffer,
+ 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,
+ pp::VarArrayBuffer 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);
+ 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') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698