Pepper_31_C_interfaces
Public Attributes | List of all members
PPB_ContentDecryptor_Samsung_0_6 Struct Reference

#include <ppb_content_decryptor_samsung.h>

Collaboration diagram for PPB_ContentDecryptor_Samsung_0_6:
Collaboration graph

Public Attributes

PP_Bool(* RegisterDecryptor )(PP_Instance instance, struct PP_Var key_system, struct PP_Var type)
 
void(* NeedKey )(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, struct PP_Var init_data)
 
void(* KeyAdded )(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id)
 
void(* KeyMessage )(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, struct PP_Var message, struct PP_Var default_url)
 
void(* KeyError )(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, PP_MediaKeyError media_error, int32_t system_code)
 
void(* DeliverBlock )(PP_Instance instance, PP_Resource decrypted_block, const struct PP_DecryptedBlockInfo *decrypted_block_info)
 

Detailed Description

PPB_ContentDecryptor_Samsung structure contains the function pointers the browser must implement to support plugins implementing the PPP_ContentDecryptor_Samsung interface. This interface provides browser side support for the Content Decryption Module (CDM) for v0.1 of the proposed Encrypted Media Extensions: http://goo.gl/rbdnR

Definition at line 51 of file ppb_content_decryptor_samsung.h.

Member Data Documentation

void(* PPB_ContentDecryptor_Samsung_0_6::DeliverBlock)(PP_Instance instance, PP_Resource decrypted_block, const struct PP_DecryptedBlockInfo *decrypted_block_info)

Called after the Decrypt() method on the PPP_ContentDecryptor_Samsung interface completes to deliver decrypted_block to the browser for decoding and rendering.

The plugin must not hold a reference to the encrypted buffer resource provided to Decrypt() when it calls this method. The browser will reuse the buffer in a subsequent Decrypt() call.

Parameters
[in]decrypted_blockA PP_Resource corresponding to a PPB_Buffer_Dev resource that contains a decrypted data block.
[in]decrypted_block_infoA PP_DecryptedBlockInfo that contains the result code and tracking info associated with the decrypted_block.

Definition at line 184 of file ppb_content_decryptor_samsung.h.

void(* PPB_ContentDecryptor_Samsung_0_6::KeyAdded)(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id)

A key has been added as the result of a call to the AddKey() method on the PPP_ContentDecryptor_Samsung interface.

Note: The above describes the most simple case. Depending on the key system, a series of KeyMessage() calls from the CDM will be sent to the browser, and then on to the web application. The web application must then provide more data to the CDM by directing the browser to pass the data to the CDM via calls to AddKey() on the PPP_ContentDecryptor_Samsung interface. The CDM must call KeyAdded() when the sequence is completed, and, in response, the browser must notify the web application.

Parameters
[in]key_systemA PP_Var of type PP_VARTYPE_STRING containing the name of the key system.
[in]session_idA PP_Var of type PP_VARTYPE_STRING containing the session ID.

Definition at line 114 of file ppb_content_decryptor_samsung.h.

void(* PPB_ContentDecryptor_Samsung_0_6::KeyError)(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, PP_MediaKeyError media_error, int32_t system_code)

An error occurred in a PPP_ContentDecryptor_Samsung method, or within the plugin implementing the interface.

Parameters
[in]key_systemA PP_Var of type PP_VARTYPE_STRING containing the name of the key system.
[in]session_idA PP_Var of type PP_VARTYPE_STRING containing the session ID.
[in]media_errorA MediaKeyError.
[in]system_errorA system error code.

Definition at line 162 of file ppb_content_decryptor_samsung.h.

void(* PPB_ContentDecryptor_Samsung_0_6::KeyMessage)(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, struct PP_Var message, struct PP_Var default_url)

A message or request has been generated for key_system in the CDM, and must be sent to the web application.

For example, when the browser invokes GenerateKeyRequest() on the PPP_ContentDecryptor_Samsung interface, the plugin must send a key message containing the key request.

Note that KeyMessage() can be used for purposes other than responses to GenerateKeyRequest() calls. See also the text in the comment for KeyAdded(), which describes a sequence of AddKey() and KeyMessage() calls required to prepare for decryption.

Parameters
[in]key_systemA PP_Var of type PP_VARTYPE_STRING containing the name of the key system.
[in]session_idA PP_Var of type PP_VARTYPE_STRING containing the session ID.
[in]messageA PP_Var of type PP_VARTYPE_ARRAY_BUFFER that contains the message.
[in]default_urlA PP_Var of type PP_VARTYPE_STRING containing the default URL for the message.

Definition at line 143 of file ppb_content_decryptor_samsung.h.

void(* PPB_ContentDecryptor_Samsung_0_6::NeedKey)(PP_Instance instance, struct PP_Var key_system, struct PP_Var session_id, struct PP_Var init_data)

The decryptor requires a key that has not been provided.

Sent when the decryptor encounters encrypted content, but it does not have the key required to decrypt the data. The plugin will call this method in response to a call to the Decrypt() method on the PPP_ContentDecryptor_Samsung interface.

The browser must notify the application that a key is needed, and, in response, the web application must direct the browser to call AddKey() on the PPP_ContentDecryptor_Samsung interface.

Parameters
[in]key_systemA PP_Var of type PP_VARTYPE_STRING containing the name of the key system.
[in]session_idA PP_Var of type PP_VARTYPE_STRING containing the session ID.
[in]init_dataA PP_Var of type PP_VARTYPE_ARRAY_BUFFER containing container-specific initialization data.

Definition at line 91 of file ppb_content_decryptor_samsung.h.

PP_Bool(* PPB_ContentDecryptor_Samsung_0_6::RegisterDecryptor)(PP_Instance instance, struct PP_Var key_system, struct PP_Var type)

The decryptor must register itself in the Browser, so that it can be used by the Browser as Content Decryptor Module.

Parameters
[in]key_systemA PP_Var that contains name of this content decryptor uder which the Browser will recognize it.
[in]typeA PP_Var that contains type of media that are supported by this content decryptor.
Returns
A PP_Bool containing containing PP_TRUE if the registration succeed, otherwise PP_FALSE.

Definition at line 65 of file ppb_content_decryptor_samsung.h.


The documentation for this struct was generated from the following file: