summaryrefslogtreecommitdiffstats
path: root/ppapi/thunk
diff options
context:
space:
mode:
authortomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-11 23:43:55 +0000
committertomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-11 23:43:55 +0000
commite9d3a102cbaf17358cce2c8322f10b6fbe6d48ab (patch)
tree5ca5dc199c132b2549f40f46984b12ffca13908a /ppapi/thunk
parentad0295d0bfb9244f3fca582c57f4328087483a39 (diff)
downloadchromium_src-e9d3a102cbaf17358cce2c8322f10b6fbe6d48ab.zip
chromium_src-e9d3a102cbaf17358cce2c8322f10b6fbe6d48ab.tar.gz
chromium_src-e9d3a102cbaf17358cce2c8322f10b6fbe6d48ab.tar.bz2
Add PPAPI CDM video decoder initialization.
Updates PPB and PPP sides of PPAPI Content Decryptor interfaces to support video decoder intialization. Adds support for decoder initialization in the PPAPI proxy, plugin instance, and the CDM wrapper. Adds new PPAPI types PP_VideoCodecProfile and PP_VideoDecoderConfig. Adds method InitializeVideoDecoder to PPP_ContentDecryptor_Private. Adds method DecoderInitialized to PPB_ContentDecryptor_Private. BUG=141780 TEST= Review URL: https://chromiumcodereview.appspot.com/11013052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161448 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/thunk')
-rw-r--r--ppapi/thunk/interfaces_ppb_private.h4
-rw-r--r--ppapi/thunk/ppb_content_decryptor_private_thunk.cc11
-rw-r--r--ppapi/thunk/ppb_instance_api.h3
3 files changed, 15 insertions, 3 deletions
diff --git a/ppapi/thunk/interfaces_ppb_private.h b/ppapi/thunk/interfaces_ppb_private.h
index 6fab440..e262d81 100644
--- a/ppapi/thunk/interfaces_ppb_private.h
+++ b/ppapi/thunk/interfaces_ppb_private.h
@@ -49,8 +49,8 @@ PROXIED_IFACE(PPB_Broker, PPB_BROKER_TRUSTED_INTERFACE_0_2,
PROXIED_IFACE(PPB_Instance, PPB_BROWSERFONT_TRUSTED_INTERFACE_1_0,
PPB_BrowserFont_Trusted_1_0)
PROXIED_IFACE(PPB_Instance,
- PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_2,
- PPB_ContentDecryptor_Private_0_2)
+ PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_3,
+ PPB_ContentDecryptor_Private_0_3)
PROXIED_IFACE(PPB_Instance, PPB_CHARSET_TRUSTED_INTERFACE_1_0,
PPB_CharSet_Trusted_1_0)
PROXIED_IFACE(NoAPIName, PPB_FILECHOOSER_TRUSTED_INTERFACE_0_5,
diff --git a/ppapi/thunk/ppb_content_decryptor_private_thunk.cc b/ppapi/thunk/ppb_content_decryptor_private_thunk.cc
index 3f57a38..e0e4c68 100644
--- a/ppapi/thunk/ppb_content_decryptor_private_thunk.cc
+++ b/ppapi/thunk/ppb_content_decryptor_private_thunk.cc
@@ -61,6 +61,14 @@ void DeliverBlock(PP_Instance instance,
enter.functions()->DeliverBlock(instance, decrypted_block, block_info);
}
+void DecoderInitialized(PP_Instance instance,
+ PP_Bool success,
+ uint32_t request_id) {
+ EnterInstance enter(instance);
+ if (enter.succeeded())
+ enter.functions()->DecoderInitialized(instance, success, request_id);
+}
+
void DeliverFrame(PP_Instance instance,
PP_Resource decrypted_frame,
const PP_DecryptedFrameInfo* frame_info) {
@@ -83,6 +91,7 @@ const PPB_ContentDecryptor_Private g_ppb_decryption_thunk = {
&KeyMessage,
&KeyError,
&DeliverBlock,
+ &DecoderInitialized,
&DeliverFrame,
&DeliverSamples
};
@@ -90,7 +99,7 @@ const PPB_ContentDecryptor_Private g_ppb_decryption_thunk = {
} // namespace
const PPB_ContentDecryptor_Private*
- GetPPB_ContentDecryptor_Private_0_2_Thunk() {
+ GetPPB_ContentDecryptor_Private_0_3_Thunk() {
return &g_ppb_decryption_thunk;
}
diff --git a/ppapi/thunk/ppb_instance_api.h b/ppapi/thunk/ppb_instance_api.h
index 3038c68..c54bca9 100644
--- a/ppapi/thunk/ppb_instance_api.h
+++ b/ppapi/thunk/ppb_instance_api.h
@@ -161,6 +161,9 @@ class PPB_Instance_API {
virtual void DeliverBlock(PP_Instance instance,
PP_Resource decrypted_block,
const PP_DecryptedBlockInfo* block_info) = 0;
+ virtual void DecoderInitialized(PP_Instance instance,
+ PP_Bool success,
+ uint32_t request_id) = 0;
virtual void DeliverFrame(PP_Instance instance,
PP_Resource decrypted_frame,
const PP_DecryptedFrameInfo* frame_info) = 0;