| Index: webkit/media/webmediaplayer_impl.cc
|
| ===================================================================
|
| --- webkit/media/webmediaplayer_impl.cc (revision 115436)
|
| +++ webkit/media/webmediaplayer_impl.cc (working copy)
|
| @@ -11,6 +11,8 @@
|
| #include "base/callback.h"
|
| #include "base/command_line.h"
|
| #include "base/metrics/histogram.h"
|
| +#include "content/renderer/media/audio_renderer_impl.h"
|
| +#include "content/renderer/render_audiosourceprovider.h"
|
| #include "media/base/composite_data_source_factory.h"
|
| #include "media/base/filter_collection.h"
|
| #include "media/base/limits.h"
|
| @@ -102,6 +104,7 @@
|
| WebKit::WebMediaPlayerClient* client,
|
| base::WeakPtr<WebMediaPlayerDelegate> delegate,
|
| media::FilterCollection* collection,
|
| + bool disable_audio,
|
| media::MessageLoopFactory* message_loop_factory,
|
| MediaStreamClient* media_stream_client,
|
| media::MediaLog* media_log)
|
| @@ -123,6 +126,17 @@
|
| media_log_(media_log),
|
| is_accelerated_compositing_active_(false),
|
| incremented_externally_allocated_memory_(false) {
|
| + if (!disable_audio) {
|
| + // audio_source_provider_ is a "provider" to WebKit, and a sink
|
| + // from the perspective of the audio renderer.
|
| + audio_source_provider_ = new RenderAudioSourceProvider();
|
| + // Add the chrome specific audio renderer, using audio_source_provider_
|
| + // as the sink.
|
| + AudioRendererImpl* audio_renderer =
|
| + new AudioRendererImpl(audio_source_provider_.get());
|
| + collection->AddAudioRenderer(audio_renderer);
|
| + }
|
| +
|
| // Saves the current message loop.
|
| DCHECK(!main_loop_);
|
| main_loop_ = MessageLoop::current();
|
| @@ -926,6 +940,10 @@
|
| return client_;
|
| }
|
|
|
| +WebKit::WebAudioSourceProvider* WebMediaPlayerImpl::audioSourceProvider() {
|
| + return audio_source_provider_;
|
| +}
|
| +
|
| void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() {
|
| DCHECK_EQ(main_loop_, MessageLoop::current());
|
| incremented_externally_allocated_memory_ = true;
|
|
|