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

Unified Diff: content/renderer/media/webrtc_local_audio_source_provider.h

Issue 37793005: move the APM to chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: added a switch, it uses the APM in WebRtc if the switch is off, otherwise use the APM in Chrome. Created 7 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webrtc_local_audio_source_provider.h
diff --git a/content/renderer/media/webrtc_local_audio_source_provider.h b/content/renderer/media/webrtc_local_audio_source_provider.h
index 1d600b75565c015c8f8f87a37e36e8986d788d1e..08a9a750610a458679dbdd6b847d5b73c9a15bc3 100644
--- a/content/renderer/media/webrtc_local_audio_source_provider.h
+++ b/content/renderer/media/webrtc_local_audio_source_provider.h
@@ -10,6 +10,7 @@
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "content/common/content_export.h"
+#include "content/renderer/media/webrtc_audio_device_impl.h"
#include "media/base/audio_converter.h"
#include "third_party/WebKit/public/platform/WebAudioSourceProvider.h"
#include "third_party/WebKit/public/platform/WebVector.h"
@@ -38,28 +39,26 @@ namespace content {
// All calls are protected by a lock.
class CONTENT_EXPORT WebRtcLocalAudioSourceProvider
: NON_EXPORTED_BASE(public media::AudioConverter::InputCallback),
- NON_EXPORTED_BASE(public WebKit::WebAudioSourceProvider) {
+ NON_EXPORTED_BASE(public WebKit::WebAudioSourceProvider),
+ NON_EXPORTED_BASE(public WebRtcAudioCapturerSink) {
public:
static const size_t kWebAudioRenderBufferSize;
WebRtcLocalAudioSourceProvider();
virtual ~WebRtcLocalAudioSourceProvider();
- // Initialize function for the souce provider. This can be called multiple
- // times if the source format has changed.
- void Initialize(const media::AudioParameters& source_params);
+ // WebRtcAudioCapturerSink implementation.
+ virtual int CaptureData(const std::vector<int>& channels,
+ const int16* audio_data,
+ int sample_rate,
+ int number_of_channels,
+ int number_of_frames,
+ int audio_delay_milliseconds,
+ int current_volume,
+ bool need_audio_processing,
+ bool key_pressed) OVERRIDE;
- // Called by the WebRtcAudioCapturer to deliever captured data into fifo on
- // the capture audio thread.
- void DeliverData(media::AudioBus* audio_source,
- int audio_delay_milliseconds,
- int volume,
- bool key_pressed);
-
- // Called by the WebAudioCapturerSource to get the audio processing params.
- // This function is triggered by provideInput() on the WebAudio audio thread,
- // so it has been under the protection of |lock_|.
- void GetAudioProcessingParams(int* delay_ms, int* volume, bool* key_pressed);
+ virtual void SetCaptureFormat(const media::AudioParameters& params) OVERRIDE;
// WebKit::WebAudioSourceProvider implementation.
virtual void setClient(WebKit::WebAudioSourceProviderClient* client) OVERRIDE;
@@ -87,10 +86,8 @@ class CONTENT_EXPORT WebRtcLocalAudioSourceProvider
scoped_ptr<media::AudioConverter> audio_converter_;
scoped_ptr<media::AudioFifo> fifo_;
- scoped_ptr<media::AudioBus> bus_wrapper_;
- int audio_delay_ms_;
- int volume_;
- bool key_pressed_;
+ scoped_ptr<media::AudioBus> input_wrapper_;
+ scoped_ptr<media::AudioBus> output_wrapper_;
bool is_enabled_;
media::AudioParameters source_params_;
media::AudioParameters sink_params_;

Powered by Google App Engine
This is Rietveld 408576698