Chromium Code Reviews| Index: webkit/media/webmediaplayer_impl.cc |
| =================================================================== |
| --- webkit/media/webmediaplayer_impl.cc (revision 114311) |
| +++ webkit/media/webmediaplayer_impl.cc (working copy) |
| @@ -11,6 +11,7 @@ |
| #include "base/callback.h" |
| #include "base/command_line.h" |
| #include "base/metrics/histogram.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" |
| @@ -24,6 +25,8 @@ |
| #include "media/filters/ffmpeg_demuxer_factory.h" |
| #include "media/filters/ffmpeg_video_decoder.h" |
| #include "media/filters/null_audio_renderer.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProvider.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProviderClient.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebVideoFrame.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebRect.h" |
| @@ -102,10 +105,12 @@ |
| WebKit::WebMediaPlayerClient* client, |
| base::WeakPtr<WebMediaPlayerDelegate> delegate, |
| media::FilterCollection* collection, |
| + media::AudioRendererSink::RenderCallback* render_callback, |
| media::MessageLoopFactory* message_loop_factory, |
| MediaStreamClient* media_stream_client, |
| media::MediaLog* media_log) |
| - : network_state_(WebKit::WebMediaPlayer::Empty), |
| + : audio_source_provider_(0), |
|
tommi (sloooow) - chröme
2011/12/19 15:26:24
nit: this isn't needed since audio_source_provider
Chris Rogers
2011/12/19 21:40:35
Done.
|
| + network_state_(WebKit::WebMediaPlayer::Empty), |
| ready_state_(WebKit::WebMediaPlayer::HaveNothing), |
| main_loop_(NULL), |
| filter_collection_(collection), |
| @@ -127,6 +132,10 @@ |
| main_loop_ = MessageLoop::current(); |
| media_log_->AddEvent( |
| media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
| + |
| + audio_sink_render_callback_ = render_callback; |
|
tommi (sloooow) - chröme
2011/12/19 15:26:24
initialize in initializer list
|
| + audio_source_provider_ = |
| + new RenderAudioSourceProvider(audio_sink_render_callback_); |
|
tommi (sloooow) - chröme
2011/12/19 15:26:24
initialize this in the initializer list and provid
Chris Rogers
2011/12/19 21:40:35
Fixed to initialize in initializer list. Also, I'
|
| } |
| bool WebMediaPlayerImpl::Initialize( |
| @@ -919,6 +928,13 @@ |
| return client_; |
| } |
| +WebKit::WebAudioSourceProvider* WebMediaPlayerImpl::audioSourceProvider() { |
| + if (!audio_sink_render_callback_) |
|
tommi (sloooow) - chröme
2011/12/19 15:26:24
maybe a comment on why we don't return the audio s
Chris Rogers
2011/12/19 21:40:35
I've taken this out, since it's no longer relevant
|
| + return NULL; |
| + |
| + return audio_source_provider_; |
| +} |
| + |
| void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() { |
| DCHECK_EQ(main_loop_, MessageLoop::current()); |
| incremented_externally_allocated_memory_ = true; |