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

Side by Side Diff: ppapi/proxy/ppb_instance_proxy.cc

Issue 11013052: Add PPAPI CDM video decoder initialization. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Decoder init, first pass. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/proxy/ppb_instance_proxy.h" 5 #include "ppapi/proxy/ppb_instance_proxy.h"
6 6
7 #include "ppapi/c/pp_errors.h" 7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/c/pp_time.h" 8 #include "ppapi/c/pp_time.h"
9 #include "ppapi/c/pp_var.h" 9 #include "ppapi/c/pp_var.h"
10 #include "ppapi/c/ppb_audio_config.h" 10 #include "ppapi/c/ppb_audio_config.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_NeedKey, 158 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_NeedKey,
159 OnHostMsgNeedKey) 159 OnHostMsgNeedKey)
160 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyAdded, 160 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyAdded,
161 OnHostMsgKeyAdded) 161 OnHostMsgKeyAdded)
162 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyMessage, 162 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyMessage,
163 OnHostMsgKeyMessage) 163 OnHostMsgKeyMessage)
164 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyError, 164 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_KeyError,
165 OnHostMsgKeyError) 165 OnHostMsgKeyError)
166 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverBlock, 166 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverBlock,
167 OnHostMsgDeliverBlock) 167 OnHostMsgDeliverBlock)
168 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DecoderInitializeStatus,
169 OnHostMsgDecoderInitializeStatus)
168 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverFrame, 170 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverFrame,
169 OnHostMsgDeliverFrame) 171 OnHostMsgDeliverFrame)
170 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverSamples, 172 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverSamples,
171 OnHostMsgDeliverSamples) 173 OnHostMsgDeliverSamples)
172 #endif // !defined(OS_NACL) 174 #endif // !defined(OS_NACL)
173 175
174 // Host -> Plugin messages. 176 // Host -> Plugin messages.
175 IPC_MESSAGE_HANDLER(PpapiMsg_PPBInstance_MouseLockComplete, 177 IPC_MESSAGE_HANDLER(PpapiMsg_PPBInstance_MouseLockComplete,
176 OnPluginMsgMouseLockComplete) 178 OnPluginMsgMouseLockComplete)
177 179
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 if (!SerializeBlockInfo(*block_info, &serialized_block_info)) 503 if (!SerializeBlockInfo(*block_info, &serialized_block_info))
502 return; 504 return;
503 505
504 dispatcher()->Send( 506 dispatcher()->Send(
505 new PpapiHostMsg_PPBInstance_DeliverBlock(API_ID_PPB_INSTANCE, 507 new PpapiHostMsg_PPBInstance_DeliverBlock(API_ID_PPB_INSTANCE,
506 instance, 508 instance,
507 object->host_resource().host_resource(), 509 object->host_resource().host_resource(),
508 serialized_block_info)); 510 serialized_block_info));
509 } 511 }
510 512
513 void PPB_Instance_Proxy::DecoderInitializeStatus(PP_Instance instance,
514 PP_Bool success,
515 uint32_t request_id) {
516 dispatcher()->Send(
517 new PpapiHostMsg_PPBInstance_DecoderInitializeStatus(
518 API_ID_PPB_INSTANCE,
519 instance,
520 success,
521 request_id));
522 }
523
511 void PPB_Instance_Proxy::DeliverFrame(PP_Instance instance, 524 void PPB_Instance_Proxy::DeliverFrame(PP_Instance instance,
512 PP_Resource decrypted_frame, 525 PP_Resource decrypted_frame,
513 const PP_DecryptedFrameInfo* frame_info) { 526 const PP_DecryptedFrameInfo* frame_info) {
514 Resource* object = 527 Resource* object =
515 PpapiGlobals::Get()->GetResourceTracker()->GetResource(decrypted_frame); 528 PpapiGlobals::Get()->GetResourceTracker()->GetResource(decrypted_frame);
516 if (!object || object->pp_instance() != instance) 529 if (!object || object->pp_instance() != instance)
517 return; 530 return;
518 531
519 std::string serialized_block_info; 532 std::string serialized_block_info;
520 if (!SerializeBlockInfo(*frame_info, &serialized_block_info)) 533 if (!SerializeBlockInfo(*frame_info, &serialized_block_info))
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 const std::string& serialized_block_info) { 934 const std::string& serialized_block_info) {
922 PP_DecryptedBlockInfo block_info; 935 PP_DecryptedBlockInfo block_info;
923 if (!DeserializeBlockInfo(serialized_block_info, &block_info)) 936 if (!DeserializeBlockInfo(serialized_block_info, &block_info))
924 return; 937 return;
925 938
926 EnterInstanceNoLock enter(instance); 939 EnterInstanceNoLock enter(instance);
927 if (enter.succeeded()) 940 if (enter.succeeded())
928 enter.functions()->DeliverBlock(instance, decrypted_block, &block_info); 941 enter.functions()->DeliverBlock(instance, decrypted_block, &block_info);
929 } 942 }
930 943
944 void PPB_Instance_Proxy::OnHostMsgDecoderInitializeStatus(
945 PP_Instance instance,
946 PP_Bool success,
947 uint32_t request_id) {
948 EnterInstanceNoLock enter(instance);
949 if (enter.succeeded())
950 enter.functions()->DecoderInitializeStatus(instance, success, request_id);
951 }
952
931 void PPB_Instance_Proxy::OnHostMsgDeliverFrame( 953 void PPB_Instance_Proxy::OnHostMsgDeliverFrame(
932 PP_Instance instance, 954 PP_Instance instance,
933 PP_Resource decrypted_frame, 955 PP_Resource decrypted_frame,
934 const std::string& serialized_frame_info) { 956 const std::string& serialized_frame_info) {
935 PP_DecryptedFrameInfo frame_info; 957 PP_DecryptedFrameInfo frame_info;
936 if (!DeserializeBlockInfo(serialized_frame_info, &frame_info)) 958 if (!DeserializeBlockInfo(serialized_frame_info, &frame_info))
937 return; 959 return;
938 960
939 EnterInstanceNoLock enter(instance); 961 EnterInstanceNoLock enter(instance);
940 if (enter.succeeded()) 962 if (enter.succeeded())
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 PP_Instance instance) { 1049 PP_Instance instance) {
1028 InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())-> 1050 InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())->
1029 GetInstanceData(instance); 1051 GetInstanceData(instance);
1030 if (!data) 1052 if (!data)
1031 return; // Instance was probably deleted. 1053 return; // Instance was probably deleted.
1032 data->should_do_request_surrounding_text = false; 1054 data->should_do_request_surrounding_text = false;
1033 } 1055 }
1034 1056
1035 } // namespace proxy 1057 } // namespace proxy
1036 } // namespace ppapi 1058 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698