diff options
author | tomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-11 23:43:55 +0000 |
---|---|---|
committer | tomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-11 23:43:55 +0000 |
commit | e9d3a102cbaf17358cce2c8322f10b6fbe6d48ab (patch) | |
tree | 5ca5dc199c132b2549f40f46984b12ffca13908a /ppapi/thunk | |
parent | ad0295d0bfb9244f3fca582c57f4328087483a39 (diff) | |
download | chromium_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.h | 4 | ||||
-rw-r--r-- | ppapi/thunk/ppb_content_decryptor_private_thunk.cc | 11 | ||||
-rw-r--r-- | ppapi/thunk/ppb_instance_api.h | 3 |
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; |