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

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

Issue 115343006: Pepper: Remove unused interface versions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nits. Created 6 years, 11 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/audio_input_resource.h ('k') | ppapi/proxy/device_enumeration_resource_helper.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/audio_input_resource.h" 5 #include "ppapi/proxy/audio_input_resource.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "ipc/ipc_platform_file.h" 9 #include "ipc/ipc_platform_file.h"
10 #include "media/audio/audio_parameters.h" 10 #include "media/audio/audio_parameters.h"
(...skipping 11 matching lines...) Expand all
22 namespace ppapi { 22 namespace ppapi {
23 namespace proxy { 23 namespace proxy {
24 24
25 AudioInputResource::AudioInputResource( 25 AudioInputResource::AudioInputResource(
26 Connection connection, 26 Connection connection,
27 PP_Instance instance) 27 PP_Instance instance)
28 : PluginResource(connection, instance), 28 : PluginResource(connection, instance),
29 open_state_(BEFORE_OPEN), 29 open_state_(BEFORE_OPEN),
30 capturing_(false), 30 capturing_(false),
31 shared_memory_size_(0), 31 shared_memory_size_(0),
32 audio_input_callback_0_2_(NULL), 32 audio_input_callback_0_3_(NULL),
33 audio_input_callback_(NULL), 33 audio_input_callback_(NULL),
34 user_data_(NULL), 34 user_data_(NULL),
35 enumeration_helper_(this), 35 enumeration_helper_(this),
36 bytes_per_second_(0) { 36 bytes_per_second_(0) {
37 SendCreate(RENDERER, PpapiHostMsg_AudioInput_Create()); 37 SendCreate(RENDERER, PpapiHostMsg_AudioInput_Create());
38 } 38 }
39 39
40 AudioInputResource::~AudioInputResource() { 40 AudioInputResource::~AudioInputResource() {
41 Close(); 41 Close();
42 } 42 }
43 43
44 thunk::PPB_AudioInput_API* AudioInputResource::AsPPB_AudioInput_API() { 44 thunk::PPB_AudioInput_API* AudioInputResource::AsPPB_AudioInput_API() {
45 return this; 45 return this;
46 } 46 }
47 47
48 void AudioInputResource::OnReplyReceived( 48 void AudioInputResource::OnReplyReceived(
49 const ResourceMessageReplyParams& params, 49 const ResourceMessageReplyParams& params,
50 const IPC::Message& msg) { 50 const IPC::Message& msg) {
51 if (!enumeration_helper_.HandleReply(params, msg)) 51 if (!enumeration_helper_.HandleReply(params, msg))
52 PluginResource::OnReplyReceived(params, msg); 52 PluginResource::OnReplyReceived(params, msg);
53 } 53 }
54 54
55 int32_t AudioInputResource::EnumerateDevices0_2(
56 PP_Resource* devices,
57 scoped_refptr<TrackedCallback> callback) {
58 return enumeration_helper_.EnumerateDevices0_2(devices, callback);
59 }
60
61 int32_t AudioInputResource::EnumerateDevices( 55 int32_t AudioInputResource::EnumerateDevices(
62 const PP_ArrayOutput& output, 56 const PP_ArrayOutput& output,
63 scoped_refptr<TrackedCallback> callback) { 57 scoped_refptr<TrackedCallback> callback) {
64 return enumeration_helper_.EnumerateDevices(output, callback); 58 return enumeration_helper_.EnumerateDevices(output, callback);
65 } 59 }
66 60
67 int32_t AudioInputResource::MonitorDeviceChange( 61 int32_t AudioInputResource::MonitorDeviceChange(
68 PP_MonitorDeviceChangeCallback callback, 62 PP_MonitorDeviceChangeCallback callback,
69 void* user_data) { 63 void* user_data) {
70 return enumeration_helper_.MonitorDeviceChange(callback, user_data); 64 return enumeration_helper_.MonitorDeviceChange(callback, user_data);
71 } 65 }
72 66
73 int32_t AudioInputResource::Open0_2( 67 int32_t AudioInputResource::Open0_3(
74 PP_Resource device_ref, 68 PP_Resource device_ref,
75 PP_Resource config, 69 PP_Resource config,
76 PPB_AudioInput_Callback_0_2 audio_input_callback_0_2, 70 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3,
77 void* user_data, 71 void* user_data,
78 scoped_refptr<TrackedCallback> callback) { 72 scoped_refptr<TrackedCallback> callback) {
79 return CommonOpen(device_ref, config, audio_input_callback_0_2, NULL, 73 return CommonOpen(device_ref, config, audio_input_callback_0_3, NULL,
80 user_data, callback); 74 user_data, callback);
81 } 75 }
82 76
83 int32_t AudioInputResource::Open(PP_Resource device_ref, 77 int32_t AudioInputResource::Open(PP_Resource device_ref,
84 PP_Resource config, 78 PP_Resource config,
85 PPB_AudioInput_Callback audio_input_callback, 79 PPB_AudioInput_Callback audio_input_callback,
86 void* user_data, 80 void* user_data,
87 scoped_refptr<TrackedCallback> callback) { 81 scoped_refptr<TrackedCallback> callback) {
88 return CommonOpen(device_ref, config, NULL, audio_input_callback, user_data, 82 return CommonOpen(device_ref, config, NULL, audio_input_callback, user_data,
89 callback); 83 callback);
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 if (capturing_) { 194 if (capturing_) {
201 // Set |capturing_| to false so that the state looks consistent to 195 // Set |capturing_| to false so that the state looks consistent to
202 // StartCapture(), which will reset it to true. 196 // StartCapture(), which will reset it to true.
203 capturing_ = false; 197 capturing_ = false;
204 StartCapture(); 198 StartCapture();
205 } 199 }
206 } 200 }
207 201
208 void AudioInputResource::StartThread() { 202 void AudioInputResource::StartThread() {
209 // Don't start the thread unless all our state is set up correctly. 203 // Don't start the thread unless all our state is set up correctly.
210 if ((!audio_input_callback_0_2_ && !audio_input_callback_) || 204 if ((!audio_input_callback_0_3_ && !audio_input_callback_) ||
211 !socket_.get() || !capturing_ || !shared_memory_->memory()) { 205 !socket_.get() || !capturing_ || !shared_memory_->memory()) {
212 return; 206 return;
213 } 207 }
214 DCHECK(!audio_input_thread_.get()); 208 DCHECK(!audio_input_thread_.get());
215 audio_input_thread_.reset(new base::DelegateSimpleThread( 209 audio_input_thread_.reset(new base::DelegateSimpleThread(
216 this, "plugin_audio_input_thread")); 210 this, "plugin_audio_input_thread"));
217 audio_input_thread_->Start(); 211 audio_input_thread_->Start();
218 } 212 }
219 213
220 void AudioInputResource::StopThread() { 214 void AudioInputResource::StopThread() {
(...skipping 21 matching lines...) Expand all
242 // While closing the stream, we may receive buffers whose size is different 236 // While closing the stream, we may receive buffers whose size is different
243 // from |data_buffer_size|. 237 // from |data_buffer_size|.
244 CHECK_LE(buffer->params.size, data_buffer_size); 238 CHECK_LE(buffer->params.size, data_buffer_size);
245 if (buffer->params.size > 0) { 239 if (buffer->params.size > 0) {
246 if (audio_input_callback_) { 240 if (audio_input_callback_) {
247 PP_TimeDelta latency = 241 PP_TimeDelta latency =
248 static_cast<double>(pending_data) / bytes_per_second_; 242 static_cast<double>(pending_data) / bytes_per_second_;
249 audio_input_callback_(&buffer->audio[0], buffer->params.size, latency, 243 audio_input_callback_(&buffer->audio[0], buffer->params.size, latency,
250 user_data_); 244 user_data_);
251 } else { 245 } else {
252 audio_input_callback_0_2_(&buffer->audio[0], buffer->params.size, 246 audio_input_callback_0_3_(&buffer->audio[0], buffer->params.size,
253 user_data_); 247 user_data_);
254 } 248 }
255 } 249 }
256 } 250 }
257 } 251 }
258 252
259 int32_t AudioInputResource::CommonOpen( 253 int32_t AudioInputResource::CommonOpen(
260 PP_Resource device_ref, 254 PP_Resource device_ref,
261 PP_Resource config, 255 PP_Resource config,
262 PPB_AudioInput_Callback_0_2 audio_input_callback_0_2, 256 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3,
263 PPB_AudioInput_Callback audio_input_callback, 257 PPB_AudioInput_Callback audio_input_callback,
264 void* user_data, 258 void* user_data,
265 scoped_refptr<TrackedCallback> callback) { 259 scoped_refptr<TrackedCallback> callback) {
266 std::string device_id; 260 std::string device_id;
267 // |device_id| remains empty if |device_ref| is 0, which means the default 261 // |device_id| remains empty if |device_ref| is 0, which means the default
268 // device. 262 // device.
269 if (device_ref != 0) { 263 if (device_ref != 0) {
270 thunk::EnterResourceNoLock<thunk::PPB_DeviceRef_API> enter_device_ref( 264 thunk::EnterResourceNoLock<thunk::PPB_DeviceRef_API> enter_device_ref(
271 device_ref, true); 265 device_ref, true);
272 if (enter_device_ref.failed()) 266 if (enter_device_ref.failed())
273 return PP_ERROR_BADRESOURCE; 267 return PP_ERROR_BADRESOURCE;
274 device_id = enter_device_ref.object()->GetDeviceRefData().id; 268 device_id = enter_device_ref.object()->GetDeviceRefData().id;
275 } 269 }
276 270
277 if (TrackedCallback::IsPending(open_callback_)) 271 if (TrackedCallback::IsPending(open_callback_))
278 return PP_ERROR_INPROGRESS; 272 return PP_ERROR_INPROGRESS;
279 if (open_state_ != BEFORE_OPEN) 273 if (open_state_ != BEFORE_OPEN)
280 return PP_ERROR_FAILED; 274 return PP_ERROR_FAILED;
281 275
282 if (!audio_input_callback_0_2 && !audio_input_callback) 276 if (!audio_input_callback_0_3 && !audio_input_callback)
283 return PP_ERROR_BADARGUMENT; 277 return PP_ERROR_BADARGUMENT;
284 thunk::EnterResourceNoLock<thunk::PPB_AudioConfig_API> enter_config(config, 278 thunk::EnterResourceNoLock<thunk::PPB_AudioConfig_API> enter_config(config,
285 true); 279 true);
286 if (enter_config.failed()) 280 if (enter_config.failed())
287 return PP_ERROR_BADARGUMENT; 281 return PP_ERROR_BADARGUMENT;
288 282
289 config_ = config; 283 config_ = config;
290 audio_input_callback_0_2_ = audio_input_callback_0_2; 284 audio_input_callback_0_3_ = audio_input_callback_0_3;
291 audio_input_callback_ = audio_input_callback; 285 audio_input_callback_ = audio_input_callback;
292 user_data_ = user_data; 286 user_data_ = user_data;
293 open_callback_ = callback; 287 open_callback_ = callback;
294 bytes_per_second_ = kAudioInputChannels * (kBitsPerAudioInputSample / 8) * 288 bytes_per_second_ = kAudioInputChannels * (kBitsPerAudioInputSample / 8) *
295 enter_config.object()->GetSampleRate(); 289 enter_config.object()->GetSampleRate();
296 290
297 PpapiHostMsg_AudioInput_Open msg( 291 PpapiHostMsg_AudioInput_Open msg(
298 device_id, enter_config.object()->GetSampleRate(), 292 device_id, enter_config.object()->GetSampleRate(),
299 enter_config.object()->GetSampleFrameCount()); 293 enter_config.object()->GetSampleFrameCount());
300 Call<PpapiPluginMsg_AudioInput_OpenReply>( 294 Call<PpapiPluginMsg_AudioInput_OpenReply>(
301 RENDERER, msg, 295 RENDERER, msg,
302 base::Bind(&AudioInputResource::OnPluginMsgOpenReply, 296 base::Bind(&AudioInputResource::OnPluginMsgOpenReply,
303 base::Unretained(this))); 297 base::Unretained(this)));
304 return PP_OK_COMPLETIONPENDING; 298 return PP_OK_COMPLETIONPENDING;
305 } 299 }
306 } // namespace proxy 300 } // namespace proxy
307 } // namespace ppapi 301 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/audio_input_resource.h ('k') | ppapi/proxy/device_enumeration_resource_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698