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

Unified Diff: webkit/plugins/ppapi/ppapi_plugin_instance.h

Issue 11091005: Update PluginInstance for decrypt-and-decode video. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix a bug in ppp_content_decryptor_private_proxy.cc 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: webkit/plugins/ppapi/ppapi_plugin_instance.h
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.h b/webkit/plugins/ppapi/ppapi_plugin_instance.h
index d14e7b28cce7159d82ce01482d4f69c3147a2411..29d68697e95efcc9495dfb1b1b25ac5be5697f0f 100644
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.h
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.h
@@ -263,19 +263,17 @@ class WEBKIT_PLUGINS_EXPORT PluginInstance :
bool CancelKeyRequest(const std::string& session_id);
bool Decrypt(const scoped_refptr<media::DecoderBuffer>& encrypted_buffer,
const media::Decryptor::DecryptCB& decrypt_cb);
- // TODO(xhwang): Change DecryptCB to a DecoderInitCB.
bool InitializeVideoDecoder(
const media::VideoDecoderConfig& decoder_config,
- const media::Decryptor::DecryptCB& decrypt_cb);
+ const media::Decryptor::DecoderInitCB& decoder_init_cb);
// TODO(tomfinegan): Add callback args for DeinitializeDecoder() and
// ResetDecoder()
bool DeinitializeDecoder();
bool ResetDecoder();
- // TODO(xhwang): Update this when we need to support decrypt and decode.
// Note: This method can be used with an unencrypted frame.
bool DecryptAndDecode(
const scoped_refptr<media::DecoderBuffer>& encrypted_buffer,
- const media::Decryptor::DecryptCB& decrypt_cb);
+ const media::Decryptor::VideoDecodeCB& video_decode_cb);
// There are 2 implementations of the fullscreen interface
// PPB_FlashFullscreen is used by Pepper Flash.
@@ -782,10 +780,24 @@ class WEBKIT_PLUGINS_EXPORT PluginInstance :
scoped_refptr<PPB_URLLoader_Impl> document_loader_;
media::DecryptorClient* decryptor_client_;
+
+ // Request ID for tracking pending content decryption callbacks.
+ // Note that zero indicates an invalid request ID.
+ // TODO(xhwang): Add completion callbacks for Reset/Stop and remove the use
+ // of request IDs.
uint32_t next_decryption_request_id_;
+
+ // TODO(xhwang): Use two separate callbacks for video and audio instead using
+ // a map here.
typedef std::map<uint32_t, media::Decryptor::DecryptCB> DecryptionCBMap;
DecryptionCBMap pending_decryption_cbs_;
+ uint32_t pending_video_decoder_init_request_id_;
+ media::Decryptor::DecoderInitCB pending_video_decoder_init_cb_;
+
+ uint32_t pending_video_decode_request_id_;
+ media::Decryptor::VideoDecodeCB pending_video_decode_cb_;
+
DISALLOW_COPY_AND_ASSIGN(PluginInstance);
};

Powered by Google App Engine
This is Rietveld 408576698