Chromium Code Reviews| Index: content/renderer/media/webaudio_capturer_source.h |
| diff --git a/content/renderer/media/webaudio_capturer_source.h b/content/renderer/media/webaudio_capturer_source.h |
| index 68bd05fbe03b8e396c436ce2426853b79e8f7dab..b3780ac425ba7376aa59201d474b61fd5db69ddf 100644 |
| --- a/content/renderer/media/webaudio_capturer_source.h |
| +++ b/content/renderer/media/webaudio_capturer_source.h |
| @@ -8,30 +8,28 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/synchronization/lock.h" |
| #include "media/audio/audio_parameters.h" |
| -#include "media/base/audio_capturer_source.h" |
| #include "media/base/audio_fifo.h" |
| #include "third_party/WebKit/public/platform/WebAudioDestinationConsumer.h" |
| #include "third_party/WebKit/public/platform/WebVector.h" |
| namespace content { |
| -class WebRtcAudioCapturer; |
| +class WebRtcLocalAudioTrack; |
| +class WebRtcLocalAudioSourceProvider; |
| // WebAudioCapturerSource is the missing link between |
| -// WebAudio's MediaStreamAudioDestinationNode and WebRtcAudioCapturer. |
| +// WebAudio's MediaStreamAudioDestinationNode and WebRtcLocalAudioTrack. |
| // |
| // 1. WebKit calls the setFormat() method setting up the basic stream format |
| // (channels, and sample-rate). At this time, it dispatches this information |
| // to the WebRtcAudioCapturer by calling its SetCapturerSource() method. |
| -// 2. Initialize() is called, where we should get back the same |
| -// stream format information as (1). We also get the CaptureCallback here. |
| // 3. consumeAudio() is called periodically by WebKit which dispatches the |
| // audio stream to the CaptureCallback::Capture() method. |
| class WebAudioCapturerSource |
| - : public media::AudioCapturerSource, |
| - public WebKit::WebAudioDestinationConsumer { |
| + : public base::RefCountedThreadSafe<WebAudioCapturerSource>, |
| + public WebKit::WebAudioDestinationConsumer { |
| public: |
| - explicit WebAudioCapturerSource(WebRtcAudioCapturer* capturer); |
| + WebAudioCapturerSource(); |
| // WebAudioDestinationConsumer implementation. |
| // setFormat() is called early on, so that we can configure the capturer. |
| @@ -40,25 +38,27 @@ class WebAudioCapturerSource |
| virtual void consumeAudio(const WebKit::WebVector<const float*>& audio_data, |
| size_t number_of_frames) OVERRIDE; |
| - // AudioCapturerSource implementation. |
| - virtual void Initialize( |
| - const media::AudioParameters& params, |
| - media::AudioCapturerSource::CaptureCallback* callback, |
| - int session_id) OVERRIDE; |
| + // Called when the WebAudioCapturerSource is hooking to a media audio track. |
| + void Start(WebRtcLocalAudioTrack* track, |
|
tommi (sloooow) - chröme
2013/09/06 11:20:30
can you add documentation about the parameters and
no longer working on chromium
2013/09/10 12:43:15
Done.
|
| + WebRtcLocalAudioSourceProvider* source_provider); |
| - virtual void Start() OVERRIDE; |
| - virtual void Stop() OVERRIDE; |
| - virtual void SetVolume(double volume) OVERRIDE { } |
| - virtual void SetAutomaticGainControl(bool enable) OVERRIDE { } |
| + // Called when the media audio track is stopping. |
| + void Stop(); |
| + |
| + protected: |
| + friend class base::RefCountedThreadSafe<WebAudioCapturerSource>; |
|
tommi (sloooow) - chröme
2013/09/06 11:20:30
indent seems off
no longer working on chromium
2013/09/10 12:43:15
Done.
|
| + virtual ~WebAudioCapturerSource(); |
| private: |
| - virtual ~WebAudioCapturerSource(); |
| + // a weak pointer to the audio track this WebAudioCapturerSource is feeding |
|
tommi (sloooow) - chröme
2013/09/06 11:20:30
this isn't a weak pointer, it's a raw pointer. "we
no longer working on chromium
2013/09/10 12:43:15
Done.
|
| + // data to. |
| + WebRtcLocalAudioTrack* track_; |
| - WebRtcAudioCapturer* capturer_; |
| + // A weak pointer to the source provider to get the delay, volume, |
| + // key_pressed information. |
| + WebRtcLocalAudioSourceProvider* source_provider_; |
|
tommi (sloooow) - chröme
2013/09/06 11:20:30
this is also a raw pointer. please add comments t
no longer working on chromium
2013/09/10 12:43:15
Done.
|
| - int set_format_channels_; |
| media::AudioParameters params_; |
| - media::AudioCapturerSource::CaptureCallback* callback_; |
| // Wraps data coming from HandleCapture(). |
| scoped_ptr<media::AudioBus> wrapper_bus_; |