Chromium Code Reviews| Index: webkit/glue/webmediaplayer_impl.cc |
| =================================================================== |
| --- webkit/glue/webmediaplayer_impl.cc (revision 96995) |
| +++ webkit/glue/webmediaplayer_impl.cc (working copy) |
| @@ -9,6 +9,8 @@ |
| #include "base/callback.h" |
| #include "base/command_line.h" |
| +#include "content/renderer/media/audio_renderer_impl.h" |
|
scherkus (not reviewing)
2011/08/23 15:16:01
src/webkit cannot depend on src/content code
what
Chris Rogers
2011/08/24 00:41:52
I've abstracted this a bit more and now am dealing
|
| +#include "content/renderer/renderer_webaudiosourceprovider_impl.h" |
| #include "media/base/composite_data_source_factory.h" |
| #include "media/base/filter_collection.h" |
| #include "media/base/limits.h" |
| @@ -86,10 +88,12 @@ |
| WebMediaPlayerImpl::WebMediaPlayerImpl( |
| WebKit::WebMediaPlayerClient* client, |
| media::FilterCollection* collection, |
| + AudioRendererImpl* audio_renderer, |
| media::MessageLoopFactory* message_loop_factory, |
| MediaStreamClient* media_stream_client, |
| media::MediaLog* media_log) |
| - : network_state_(WebKit::WebMediaPlayer::Empty), |
| + : audio_source_provider_(0), |
| + network_state_(WebKit::WebMediaPlayer::Empty), |
| ready_state_(WebKit::WebMediaPlayer::HaveNothing), |
| main_loop_(NULL), |
| filter_collection_(collection), |
| @@ -107,6 +111,9 @@ |
| main_loop_ = MessageLoop::current(); |
| media_log_->AddEvent( |
| media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
| + |
| + printf("audio_renderer = %p\n", audio_renderer); |
| + audio_renderer_ = audio_renderer; |
| } |
| bool WebMediaPlayerImpl::Initialize( |
| @@ -822,4 +829,14 @@ |
| return client_; |
| } |
| +WebKit::WebAudioSourceProvider* WebMediaPlayerImpl::webAudioSourceProvider() { |
| + if (!audio_source_provider_) { |
| + audio_source_provider_ = new RendererWebAudioSourceProviderImpl(audio_renderer_.get()); |
| + // FIXME: should NOT call this in real-time audio thread... |
| + audio_renderer_->SetAudioSink(audio_source_provider_); |
| + } |
| + |
| + return audio_source_provider_; |
| +} |
| + |
| } // namespace webkit_glue |