| Index: content/renderer/media/webrtc_local_audio_renderer.h
|
| diff --git a/content/renderer/media/webrtc_local_audio_renderer.h b/content/renderer/media/webrtc_local_audio_renderer.h
|
| index 8e8c96dad8a08add3a35009fb690cbdadf39ade5..e9871ece81b5c21a4439b5ae3a0b9540d67a1247 100644
|
| --- a/content/renderer/media/webrtc_local_audio_renderer.h
|
| +++ b/content/renderer/media/webrtc_local_audio_renderer.h
|
| @@ -13,9 +13,11 @@
|
| #include "base/synchronization/lock.h"
|
| #include "base/threading/thread_checker.h"
|
| #include "content/common/content_export.h"
|
| +#include "content/public/renderer/media_stream_audio_sink.h"
|
| #include "content/renderer/media/media_stream_audio_renderer.h"
|
| #include "content/renderer/media/webrtc_audio_device_impl.h"
|
| #include "content/renderer/media/webrtc_local_audio_track.h"
|
| +#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
|
|
|
| namespace media {
|
| class AudioBus;
|
| @@ -34,7 +36,7 @@ class WebRtcAudioCapturer;
|
| // It also implements media::AudioRendererSink::RenderCallback to render audio
|
| // data provided from a WebRtcLocalAudioTrack source.
|
| // When the audio layer in the browser process asks for data to render, this
|
| -// class provides the data by implementing the WebRtcAudioCapturerSink
|
| +// class provides the data by implementing the MediaStreamAudioSink
|
| // interface, i.e., we are a sink seen from the WebRtcAudioCapturer perspective.
|
| // TODO(henrika): improve by using similar principles as in RTCVideoRenderer
|
| // which register itself to the video track when the provider is started and
|
| @@ -42,13 +44,13 @@ class WebRtcAudioCapturer;
|
| // Tracking this at http://crbug.com/164813.
|
| class CONTENT_EXPORT WebRtcLocalAudioRenderer
|
| : NON_EXPORTED_BASE(public MediaStreamAudioRenderer),
|
| - NON_EXPORTED_BASE(public media::AudioRendererSink::RenderCallback),
|
| - NON_EXPORTED_BASE(public WebRtcAudioCapturerSink) {
|
| + NON_EXPORTED_BASE(public MediaStreamAudioSink),
|
| + NON_EXPORTED_BASE(public media::AudioRendererSink::RenderCallback) {
|
| public:
|
| // Creates a local renderer and registers a capturing |source| object.
|
| // The |source| is owned by the WebRtcAudioDeviceImpl.
|
| // Called on the main thread.
|
| - WebRtcLocalAudioRenderer(WebRtcLocalAudioTrack* audio_track,
|
| + WebRtcLocalAudioRenderer(const blink::WebMediaStreamTrack& audio_track,
|
| int source_render_view_id,
|
| int session_id,
|
| int frames_per_buffer);
|
| @@ -71,21 +73,16 @@ class CONTENT_EXPORT WebRtcLocalAudioRenderer
|
| virtual ~WebRtcLocalAudioRenderer();
|
|
|
| private:
|
| - // WebRtcAudioCapturerSink implementation.
|
| + // MediaStreamAudioSink implementation.
|
|
|
| // Called on the AudioInputDevice worker thread.
|
| - 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;
|
| -
|
| - // Can be called on different user thread.
|
| - virtual void SetCaptureFormat(const media::AudioParameters& params) OVERRIDE;
|
| + virtual void OnData(const int16* audio_data,
|
| + int sample_rate,
|
| + int number_of_channels,
|
| + int number_of_frames) OVERRIDE;
|
| +
|
| + // Called on the AudioInputDevice worker thread.
|
| + virtual void OnSetFormat(const media::AudioParameters& params) OVERRIDE;
|
|
|
| // media::AudioRendererSink::RenderCallback implementation.
|
| // Render() is called on the AudioOutputDevice thread and OnRenderError()
|
| @@ -108,8 +105,10 @@ class CONTENT_EXPORT WebRtcLocalAudioRenderer
|
| // instance like a selected microphone and forwards the recorded data to its
|
| // sinks. The recorded data is stored in a FIFO and consumed
|
| // by this class when the sink asks for new data.
|
| - // The WebRtcAudioCapturer is today created by WebRtcAudioDeviceImpl.
|
| - scoped_refptr<WebRtcLocalAudioTrack> audio_track_;
|
| + // This class is calling MediaStreamAudioSink::AddToAudioTrack() and
|
| + // MediaStreamAudioSink::RemoveFromAudioTrack() to connect and disconnect
|
| + // with the audio track.
|
| + blink::WebMediaStreamTrack audio_track_;
|
|
|
| // The render view in which the audio is rendered into |sink_|.
|
| const int source_render_view_id_;
|
|
|