#include "ppapi/c/private/ppb_content_decryptor_private.h"
#include "ppapi/thunk/enter.h"
#include "ppapi/thunk/ppb_instance_api.h"
#include "ppapi/thunk/thunk.h"
namespace ppapi {
namespace thunk {
namespace {
void NeedKey(PP_Instance instance,
PP_Var key_system,
PP_Var session_id,
PP_Var init_data) {
EnterInstance enter(instance);
if (enter.succeeded())
enter.functions()->NeedKey(instance, key_system, session_id, init_data);
}
void KeyAdded(PP_Instance instance,
PP_Var key_system,
PP_Var session_id) {
EnterInstance enter(instance);
if (enter.succeeded())
enter.functions()->KeyAdded(instance, key_system, session_id);
}
void KeyMessage(PP_Instance instance,
PP_Var key_system,
PP_Var session_id,
PP_Resource message,
PP_Var default_url) {
EnterInstance enter(instance);
if (enter.succeeded()) {
enter.functions()->KeyMessage(instance, key_system, session_id, message,
default_url);
}
}
void KeyError(PP_Instance instance,
PP_Var key_system,
PP_Var session_id,
int32_t media_error,
int32_t system_code) {
EnterInstance enter(instance);
if (enter.succeeded()) {
enter.functions()->KeyError(instance, key_system, session_id, media_error,
system_code);
}
}
void DeliverBlock(PP_Instance instance,
PP_Resource decrypted_block,
const PP_DecryptedBlockInfo* block_info) {
EnterInstance enter(instance);
if (enter.succeeded())
enter.functions()->DeliverBlock(instance, decrypted_block, block_info);
}
void DeliverFrame(PP_Instance instance,
PP_Resource decrypted_frame,
const PP_DecryptedBlockInfo* block_info) {
EnterInstance enter(instance);
if (enter.succeeded())
enter.functions()->DeliverFrame(instance, decrypted_frame, block_info);
}
void DeliverSamples(PP_Instance instance,
PP_Resource decrypted_samples,
const PP_DecryptedBlockInfo* block_info) {
EnterInstance enter(instance);
if (enter.succeeded())
enter.functions()->DeliverSamples(instance, decrypted_samples, block_info);
}
const PPB_ContentDecryptor_Private g_ppb_decryption_thunk = {
&NeedKey,
&KeyAdded,
&KeyMessage,
&KeyError,
&DeliverBlock,
&DeliverFrame,
&DeliverSamples
};
}
const PPB_ContentDecryptor_Private*
GetPPB_ContentDecryptor_Private_0_1_Thunk() {
return &g_ppb_decryption_thunk;
}
}
}