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

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

Issue 11028087: Add decoder de-initialize and reset to the Pepper CDM API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments with the exception of renaming Deinit Created 8 years, 2 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.cc
diff --git a/ppapi/cpp/private/content_decryptor_private.cc b/ppapi/cpp/private/content_decryptor_private.cc
index 3810a96f23ac2b1570aac33362f4d6cc7c29cc60..35af5b0be9b63e9bab0778f690db8666760329cc 100644
--- a/ppapi/cpp/private/content_decryptor_private.cc
+++ b/ppapi/cpp/private/content_decryptor_private.cc
@@ -121,6 +121,28 @@ void InitializeVideoDecoder(
extra_data_buffer);
}
+void DeinitializeDecoder(PP_Instance instance,
+ PP_DecryptorStreamType decoder_type,
+ uint32_t request_id) {
+ void* object =
+ Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface);
+ if (!object)
+ return;
+ static_cast<ContentDecryptor_Private*>(object)->DeinitializeDecoder(
+ decoder_type,
+ request_id);
+}
+
+void ResetDecoder(PP_Instance instance,
+ PP_DecryptorStreamType decoder_type,
+ uint32_t request_id) {
+ void* object =
+ Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface);
+ if (!object)
+ return;
+ static_cast<ContentDecryptor_Private*>(object)->ResetDecoder(decoder_type,
+ request_id);
+}
void DecryptAndDecodeFrame(
PP_Instance instance,
@@ -144,6 +166,8 @@ const PPP_ContentDecryptor_Private ppp_content_decryptor = {
&CancelKeyRequest,
&Decrypt,
&InitializeVideoDecoder,
+ &DeinitializeDecoder,
+ &ResetDecoder,
&DecryptAndDecodeFrame
};
@@ -249,6 +273,28 @@ void ContentDecryptor_Private::DecoderInitialized(
}
}
+void ContentDecryptor_Private::DecoderDeinitializeDone(
+ PP_DecryptorStreamType decoder_type,
+ uint32_t request_id) {
+ if (has_interface<PPB_ContentDecryptor_Private>()) {
+ get_interface<PPB_ContentDecryptor_Private>()->DecoderDeinitializeDone(
+ associated_instance_.pp_instance(),
+ decoder_type,
+ request_id);
+ }
+}
+
+void ContentDecryptor_Private::DecoderResetDone(
+ PP_DecryptorStreamType decoder_type,
+ uint32_t request_id) {
+ if (has_interface<PPB_ContentDecryptor_Private>()) {
+ get_interface<PPB_ContentDecryptor_Private>()->DecoderResetDone(
+ associated_instance_.pp_instance(),
+ decoder_type,
+ request_id);
+ }
+}
+
void ContentDecryptor_Private::DeliverFrame(
pp::Buffer_Dev decrypted_frame,
const PP_DecryptedFrameInfo& decrypted_frame_info) {
« no previous file with comments | « ppapi/cpp/private/content_decryptor_private.h ('k') | ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698