| Index: content/renderer/media/renderer_webaudiodevice_impl.h
|
| diff --git a/content/renderer/media/renderer_webaudiodevice_impl.h b/content/renderer/media/renderer_webaudiodevice_impl.h
|
| index 2e747c948ecc375e068519e50f5cc6aad7944299..fb58a2c7c453824a8024ba486d2c3cb6177013c1 100644
|
| --- a/content/renderer/media/renderer_webaudiodevice_impl.h
|
| +++ b/content/renderer/media/renderer_webaudiodevice_impl.h
|
| @@ -6,12 +6,16 @@
|
| #define CONTENT_RENDERER_MEDIA_MEDIA_RENDERER_WEBAUDIODEVICE_IMPL_H_
|
|
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/threading/thread_checker.h"
|
| +#include "media/audio/audio_parameters.h"
|
| #include "media/base/audio_renderer_sink.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebAudioDevice.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
|
|
|
| namespace content {
|
|
|
| +class RendererAudioOutputDevice;
|
| +
|
| class RendererWebAudioDeviceImpl
|
| : public WebKit::WebAudioDevice,
|
| public media::AudioRendererSink::RenderCallback {
|
| @@ -36,11 +40,17 @@ class RendererWebAudioDeviceImpl
|
| virtual void OnRenderError() OVERRIDE;
|
|
|
| private:
|
| - scoped_refptr<media::AudioRendererSink> audio_device_;
|
| - bool is_running_;
|
| + const media::AudioParameters params_;
|
|
|
| // Weak reference to the callback into WebKit code.
|
| - WebKit::WebAudioDevice::RenderCallback* client_callback_;
|
| + WebKit::WebAudioDevice::RenderCallback* const client_callback_;
|
| +
|
| + // To avoid the need for locking, ensure the control methods of the
|
| + // WebKit::WebAudioDevice implementation are called on the same thread.
|
| + base::ThreadChecker thread_checker_;
|
| +
|
| + // When non-NULL, we are started. When NULL, we are stopped.
|
| + scoped_refptr<RendererAudioOutputDevice> output_device_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RendererWebAudioDeviceImpl);
|
| };
|
|
|