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

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

Issue 37793005: move the APM to chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 }; 203 };
204 204
205 class WebRtcAudioCapturerSink { 205 class WebRtcAudioCapturerSink {
206 public: 206 public:
207 // Callback to deliver the captured interleaved data. 207 // Callback to deliver the captured interleaved data.
208 // |channels| contains a vector of WebRtc VoE channels. 208 // |channels| contains a vector of WebRtc VoE channels.
209 // |audio_data| is the pointer to the audio data. 209 // |audio_data| is the pointer to the audio data.
210 // |sample_rate| is the sample frequency of audio data. 210 // |sample_rate| is the sample frequency of audio data.
211 // |number_of_channels| is the number of channels reflecting the order of 211 // |number_of_channels| is the number of channels reflecting the order of
212 // surround sound channels. 212 // surround sound channels.
213 // |audio_delay_milliseconds| is recording delay value. 213 virtual void CaptureData(const std::vector<int>& channels,
214 // |current_volume| is current microphone volume, in range of |0, 255]. 214 const int16* audio_data,
215 // |need_audio_processing| indicates if the audio needs WebRtc AEC/NS/AGC 215 int sample_rate,
216 // audio processing. 216 int number_of_channels,
217 // The return value is the new microphone volume, in the range of |0, 255]. 217 int number_of_frames) = 0;
218 // When the volume does not need to be updated, it returns 0.
219 virtual int CaptureData(const std::vector<int>& channels,
220 const int16* audio_data,
221 int sample_rate,
222 int number_of_channels,
223 int number_of_frames,
224 int audio_delay_milliseconds,
225 int current_volume,
226 bool need_audio_processing,
227 bool key_pressed) = 0;
228 218
229 // Set the format for the capture audio parameters. 219 // Set the format for the capture audio parameters.
230 virtual void SetCaptureFormat(const media::AudioParameters& params) = 0; 220 virtual void SetCaptureFormat(const media::AudioParameters& params) = 0;
231 221
232 protected: 222 protected:
233 virtual ~WebRtcAudioCapturerSink() {} 223 virtual ~WebRtcAudioCapturerSink() {}
234 }; 224 };
235 225
236 // Note that this class inherits from webrtc::AudioDeviceModule but due to 226 // Note that this class inherits from webrtc::AudioDeviceModule but due to
237 // the high number of non-implemented methods, we move the cruft over to the 227 // the high number of non-implemented methods, we move the cruft over to the
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 316
327 private: 317 private:
328 typedef std::list<scoped_refptr<WebRtcAudioCapturer> > CapturerList; 318 typedef std::list<scoped_refptr<WebRtcAudioCapturer> > CapturerList;
329 319
330 // Make destructor private to ensure that we can only be deleted by Release(). 320 // Make destructor private to ensure that we can only be deleted by Release().
331 virtual ~WebRtcAudioDeviceImpl(); 321 virtual ~WebRtcAudioDeviceImpl();
332 322
333 // WebRtcAudioCapturerSink implementation. 323 // WebRtcAudioCapturerSink implementation.
334 324
335 // Called on the AudioInputDevice worker thread. 325 // Called on the AudioInputDevice worker thread.
336 virtual int CaptureData(const std::vector<int>& channels, 326 virtual void CaptureData(const std::vector<int>& channels,
337 const int16* audio_data, 327 const int16* audio_data,
338 int sample_rate, 328 int sample_rate,
339 int number_of_channels, 329 int number_of_channels,
340 int number_of_frames, 330 int number_of_frames) OVERRIDE;
341 int audio_delay_milliseconds,
342 int current_volume,
343 bool need_audio_processing,
344 bool key_pressed) OVERRIDE;
345 331
346 // Called on the main render thread. 332 // Called on the main render thread.
347 virtual void SetCaptureFormat(const media::AudioParameters& params) OVERRIDE; 333 virtual void SetCaptureFormat(const media::AudioParameters& params) OVERRIDE;
348 334
349 // WebRtcAudioRendererSource implementation. 335 // WebRtcAudioRendererSource implementation.
350 336
351 // Called on the AudioInputDevice worker thread. 337 // Called on the AudioInputDevice worker thread.
352 virtual void RenderData(uint8* audio_data, 338 virtual void RenderData(uint8* audio_data,
353 int number_of_channels, 339 int number_of_channels,
354 int number_of_frames, 340 int number_of_frames,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 // Stores latest microphone volume received in a CaptureData() callback. 388 // Stores latest microphone volume received in a CaptureData() callback.
403 // Range is [0, 255]. 389 // Range is [0, 255].
404 uint32_t microphone_volume_; 390 uint32_t microphone_volume_;
405 391
406 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl); 392 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl);
407 }; 393 };
408 394
409 } // namespace content 395 } // namespace content
410 396
411 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ 397 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698