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

Side by Side Diff: content/renderer/media/webrtc_audio_device_impl.h

Issue 8528026: Adds more unit tests for WebRTC. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Removed DISABLED_ for some tests. Created 9 years, 1 month 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 | « no previous file | content/renderer/media/webrtc_audio_device_unittest.cc » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_
6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // (*) Using SyncSocket for inter-process synchronization with low latency. 84 // (*) Using SyncSocket for inter-process synchronization with low latency.
85 // The actual data is transferred via SharedMemory. IPC is not involved 85 // The actual data is transferred via SharedMemory. IPC is not involved
86 // in the actual media transfer. 86 // in the actual media transfer.
87 // 87 //
88 // Implementation notes: 88 // Implementation notes:
89 // 89 //
90 // - This class must be created on the main render thread. 90 // - This class must be created on the main render thread.
91 // - The webrtc::AudioDeviceModule is reference counted. 91 // - The webrtc::AudioDeviceModule is reference counted.
92 // - Recording is currently not supported on Mac OS X. 92 // - Recording is currently not supported on Mac OS X.
93 // 93 //
94 class WebRtcAudioDeviceImpl 94 class CONTENT_EXPORT WebRtcAudioDeviceImpl
95 : public webrtc::AudioDeviceModule, 95 : public webrtc::AudioDeviceModule,
96 public AudioDevice::RenderCallback, 96 public AudioDevice::RenderCallback,
97 public AudioInputDevice::CaptureCallback, 97 public AudioInputDevice::CaptureCallback,
98 public AudioInputDevice::CaptureEventHandler { 98 public AudioInputDevice::CaptureEventHandler {
99 public: 99 public:
100 // Methods called on main render thread. 100 // Methods called on main render thread.
101 CONTENT_EXPORT WebRtcAudioDeviceImpl(); 101 WebRtcAudioDeviceImpl();
102 102
103 // webrtc::RefCountedModule implementation. 103 // webrtc::RefCountedModule implementation.
104 // The creator must call AddRef() after construction and use Release() 104 // The creator must call AddRef() after construction and use Release()
105 // to release the reference and delete this object. 105 // to release the reference and delete this object.
106 virtual int32_t AddRef() OVERRIDE; 106 virtual int32_t AddRef() OVERRIDE;
107 virtual int32_t Release() OVERRIDE; 107 virtual int32_t Release() OVERRIDE;
108 108
109 // We need this one to support runnable method tasks. 109 // We need this one to support runnable method tasks.
110 static bool ImplementsThreadSafeReferenceCounting() { return true; } 110 static bool ImplementsThreadSafeReferenceCounting() { return true; }
111 111
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 const uint32_t samples_per_sec) OVERRIDE; 243 const uint32_t samples_per_sec) OVERRIDE;
244 virtual int32_t RecordingSampleRate(uint32_t* samples_per_sec) const OVERRIDE; 244 virtual int32_t RecordingSampleRate(uint32_t* samples_per_sec) const OVERRIDE;
245 virtual int32_t SetPlayoutSampleRate(const uint32_t samples_per_sec) OVERRIDE; 245 virtual int32_t SetPlayoutSampleRate(const uint32_t samples_per_sec) OVERRIDE;
246 virtual int32_t PlayoutSampleRate(uint32_t* samples_per_sec) const OVERRIDE; 246 virtual int32_t PlayoutSampleRate(uint32_t* samples_per_sec) const OVERRIDE;
247 247
248 virtual int32_t ResetAudioDevice() OVERRIDE; 248 virtual int32_t ResetAudioDevice() OVERRIDE;
249 virtual int32_t SetLoudspeakerStatus(bool enable) OVERRIDE; 249 virtual int32_t SetLoudspeakerStatus(bool enable) OVERRIDE;
250 virtual int32_t GetLoudspeakerStatus(bool* enabled) const OVERRIDE; 250 virtual int32_t GetLoudspeakerStatus(bool* enabled) const OVERRIDE;
251 251
252 // Sets the session id. 252 // Sets the session id.
253 CONTENT_EXPORT void SetSessionId(int session_id); 253 void SetSessionId(int session_id);
254 254
255 // Accessors. 255 // Accessors.
256 size_t input_buffer_size() const { return input_buffer_size_; } 256 size_t input_buffer_size() const { return input_buffer_size_; }
257 size_t output_buffer_size() const { return output_buffer_size_; } 257 size_t output_buffer_size() const { return output_buffer_size_; }
258 int input_channels() const { return input_channels_; } 258 int input_channels() const { return input_channels_; }
259 int output_channels() const { return output_channels_; } 259 int output_channels() const { return output_channels_; }
260 int input_sample_rate() const { return static_cast<int>(input_sample_rate_); }
261 int output_sample_rate() const {
262 return static_cast<int>(output_sample_rate_);
263 }
264 int input_delay_ms() const { return input_delay_ms_; }
265 int output_delay_ms() const { return output_delay_ms_; }
266 bool initialized() const { return initialized_; }
267 bool playing() const { return playing_; }
268 bool recording() const { return recording_; }
260 269
261 private: 270 private:
262 // Make destructor private to ensure that we can only be deleted by Release(). 271 // Make destructor private to ensure that we can only be deleted by Release().
263 virtual ~WebRtcAudioDeviceImpl(); 272 virtual ~WebRtcAudioDeviceImpl();
264 273
265 // Methods called on the main render thread ---------------------------------- 274 // Methods called on the main render thread ----------------------------------
266 // The following methods are tasks posted on the render thread that needs to 275 // The following methods are tasks posted on the render thread that needs to
267 // be executed on that thread. 276 // be executed on that thread.
268 void InitOnRenderThread(int32_t* error, base::WaitableEvent* event); 277 void InitOnRenderThread(int32_t* error, base::WaitableEvent* event);
269 278
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 scoped_array<int16> output_buffer_; 313 scoped_array<int16> output_buffer_;
305 314
306 webrtc::AudioDeviceModule::ErrorCode last_error_; 315 webrtc::AudioDeviceModule::ErrorCode last_error_;
307 316
308 base::TimeTicks last_process_time_; 317 base::TimeTicks last_process_time_;
309 318
310 // Id of the media session to be started, it tells which device to be used 319 // Id of the media session to be started, it tells which device to be used
311 // on the input/capture side. 320 // on the input/capture side.
312 int session_id_; 321 int session_id_;
313 322
314 // Protect |recording_|. 323 // Protects |recording_|.
315 base::Lock lock_; 324 base::Lock lock_;
316 325
317 int bytes_per_sample_; 326 int bytes_per_sample_;
318 327
319 bool initialized_; 328 bool initialized_;
320 bool playing_; 329 bool playing_;
321 bool recording_; 330 bool recording_;
322 331
323 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl); 332 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl);
324 }; 333 };
325 334
326 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ 335 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | content/renderer/media/webrtc_audio_device_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698