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

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

Issue 10392141: Plumb texture target to VideoDecodeAccelerator::Client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 6 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
« no previous file with comments | « ppapi/proxy/ppp_video_decoder_proxy.h ('k') | webkit/plugins/ppapi/ppb_video_decoder_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/ppp_video_decoder_proxy.h" 5 #include "ppapi/proxy/ppp_video_decoder_proxy.h"
6 6
7 #include "ppapi/proxy/host_dispatcher.h" 7 #include "ppapi/proxy/host_dispatcher.h"
8 #include "ppapi/proxy/plugin_globals.h" 8 #include "ppapi/proxy/plugin_globals.h"
9 #include "ppapi/proxy/plugin_resource_tracker.h" 9 #include "ppapi/proxy/plugin_resource_tracker.h"
10 #include "ppapi/proxy/ppapi_messages.h" 10 #include "ppapi/proxy/ppapi_messages.h"
11 #include "ppapi/proxy/ppb_video_decoder_proxy.h" 11 #include "ppapi/proxy/ppb_video_decoder_proxy.h"
12 #include "ppapi/thunk/enter.h" 12 #include "ppapi/thunk/enter.h"
13 #include "ppapi/thunk/ppb_video_decoder_api.h" 13 #include "ppapi/thunk/ppb_video_decoder_api.h"
14 #include "ppapi/thunk/thunk.h" 14 #include "ppapi/thunk/thunk.h"
15 15
16 using ppapi::thunk::PPB_VideoDecoder_API; 16 using ppapi::thunk::PPB_VideoDecoder_API;
17 17
18 namespace ppapi { 18 namespace ppapi {
19 namespace proxy { 19 namespace proxy {
20 20
21 namespace { 21 namespace {
22 22
23 void ProvidePictureBuffers(PP_Instance instance, PP_Resource decoder, 23 void ProvidePictureBuffers(PP_Instance instance, PP_Resource decoder,
24 uint32_t req_num_of_bufs, 24 uint32_t req_num_of_bufs,
25 const PP_Size* dimensions) { 25 const PP_Size* dimensions,
26 uint32_t texture_target) {
26 HostResource decoder_resource; 27 HostResource decoder_resource;
27 decoder_resource.SetHostResource(instance, decoder); 28 decoder_resource.SetHostResource(instance, decoder);
28 29
29 HostDispatcher::GetForInstance(instance)->Send( 30 HostDispatcher::GetForInstance(instance)->Send(
30 new PpapiMsg_PPPVideoDecoder_ProvidePictureBuffers( 31 new PpapiMsg_PPPVideoDecoder_ProvidePictureBuffers(
31 API_ID_PPP_VIDEO_DECODER_DEV, 32 API_ID_PPP_VIDEO_DECODER_DEV,
32 decoder_resource, req_num_of_bufs, *dimensions)); 33 decoder_resource, req_num_of_bufs, *dimensions, texture_target));
33 } 34 }
34 35
35 void DismissPictureBuffer(PP_Instance instance, PP_Resource decoder, 36 void DismissPictureBuffer(PP_Instance instance, PP_Resource decoder,
36 int32_t picture_buffer_id) { 37 int32_t picture_buffer_id) {
37 HostResource decoder_resource; 38 HostResource decoder_resource;
38 decoder_resource.SetHostResource(instance, decoder); 39 decoder_resource.SetHostResource(instance, decoder);
39 40
40 HostDispatcher::GetForInstance(instance)->Send( 41 HostDispatcher::GetForInstance(instance)->Send(
41 new PpapiMsg_PPPVideoDecoder_DismissPictureBuffer( 42 new PpapiMsg_PPPVideoDecoder_DismissPictureBuffer(
42 API_ID_PPP_VIDEO_DECODER_DEV, 43 API_ID_PPP_VIDEO_DECODER_DEV,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 return new PPP_VideoDecoder_Proxy(dispatcher); 75 return new PPP_VideoDecoder_Proxy(dispatcher);
75 } 76 }
76 77
77 } // namespace 78 } // namespace
78 79
79 PPP_VideoDecoder_Proxy::PPP_VideoDecoder_Proxy(Dispatcher* dispatcher) 80 PPP_VideoDecoder_Proxy::PPP_VideoDecoder_Proxy(Dispatcher* dispatcher)
80 : InterfaceProxy(dispatcher), 81 : InterfaceProxy(dispatcher),
81 ppp_video_decoder_impl_(NULL) { 82 ppp_video_decoder_impl_(NULL) {
82 if (dispatcher->IsPlugin()) { 83 if (dispatcher->IsPlugin()) {
83 ppp_video_decoder_impl_ = static_cast<const PPP_VideoDecoder_Dev*>( 84 ppp_video_decoder_impl_ = static_cast<const PPP_VideoDecoder_Dev*>(
84 dispatcher->local_get_interface()(PPP_VIDEODECODER_DEV_INTERFACE)); 85 dispatcher->local_get_interface()(PPP_VIDEODECODER_DEV_INTERFACE));
brettw 2012/06/04 23:42:33 This code doesn't provide backwards compat. We may
sail 2012/06/04 23:49:47 Yea, hardware decoding is disabled by default.
85 } 86 }
86 } 87 }
87 88
88 PPP_VideoDecoder_Proxy::~PPP_VideoDecoder_Proxy() { 89 PPP_VideoDecoder_Proxy::~PPP_VideoDecoder_Proxy() {
89 } 90 }
90 91
91 // static 92 // static
92 const InterfaceProxy::Info* PPP_VideoDecoder_Proxy::GetInfo() { 93 const InterfaceProxy::Info* PPP_VideoDecoder_Proxy::GetInfo() {
93 static const Info info = { 94 static const Info info = {
94 &video_decoder_interface, 95 &video_decoder_interface,
(...skipping 16 matching lines...) Expand all
111 OnMsgPictureReady) 112 OnMsgPictureReady)
112 IPC_MESSAGE_HANDLER(PpapiMsg_PPPVideoDecoder_NotifyError, 113 IPC_MESSAGE_HANDLER(PpapiMsg_PPPVideoDecoder_NotifyError,
113 OnMsgNotifyError) 114 OnMsgNotifyError)
114 IPC_MESSAGE_UNHANDLED(handled = false) 115 IPC_MESSAGE_UNHANDLED(handled = false)
115 IPC_END_MESSAGE_MAP() 116 IPC_END_MESSAGE_MAP()
116 DCHECK(handled); 117 DCHECK(handled);
117 return handled; 118 return handled;
118 } 119 }
119 120
120 void PPP_VideoDecoder_Proxy::OnMsgProvidePictureBuffers( 121 void PPP_VideoDecoder_Proxy::OnMsgProvidePictureBuffers(
121 const HostResource& decoder, uint32_t req_num_of_bufs, 122 const HostResource& decoder,
122 const PP_Size& dimensions) { 123 uint32_t req_num_of_bufs,
124 const PP_Size& dimensions,
125 uint32_t texture_target) {
123 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()-> 126 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()->
124 PluginResourceForHostResource(decoder); 127 PluginResourceForHostResource(decoder);
125 CallWhileUnlocked(ppp_video_decoder_impl_->ProvidePictureBuffers, 128 CallWhileUnlocked(ppp_video_decoder_impl_->ProvidePictureBuffers,
126 decoder.instance(), 129 decoder.instance(),
127 plugin_decoder, 130 plugin_decoder,
128 req_num_of_bufs, 131 req_num_of_bufs,
129 &dimensions); 132 &dimensions,
133 texture_target);
130 } 134 }
131 135
132 void PPP_VideoDecoder_Proxy::OnMsgDismissPictureBuffer( 136 void PPP_VideoDecoder_Proxy::OnMsgDismissPictureBuffer(
133 const HostResource& decoder, int32_t picture_id) { 137 const HostResource& decoder, int32_t picture_id) {
134 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()-> 138 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()->
135 PluginResourceForHostResource(decoder); 139 PluginResourceForHostResource(decoder);
136 CallWhileUnlocked(ppp_video_decoder_impl_->DismissPictureBuffer, 140 CallWhileUnlocked(ppp_video_decoder_impl_->DismissPictureBuffer,
137 decoder.instance(), 141 decoder.instance(),
138 plugin_decoder, 142 plugin_decoder,
139 picture_id); 143 picture_id);
(...skipping 14 matching lines...) Expand all
154 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()-> 158 PP_Resource plugin_decoder = PluginGlobals::Get()->plugin_resource_tracker()->
155 PluginResourceForHostResource(decoder); 159 PluginResourceForHostResource(decoder);
156 CallWhileUnlocked(ppp_video_decoder_impl_->NotifyError, 160 CallWhileUnlocked(ppp_video_decoder_impl_->NotifyError,
157 decoder.instance(), 161 decoder.instance(),
158 plugin_decoder, 162 plugin_decoder,
159 error); 163 error);
160 } 164 }
161 165
162 } // namespace proxy 166 } // namespace proxy
163 } // namespace ppapi 167 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/ppp_video_decoder_proxy.h ('k') | webkit/plugins/ppapi/ppb_video_decoder_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698