diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-23 21:14:02 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-23 21:14:02 +0000 |
commit | e4c5a7d5a7c92c7644d9f00fa2c6e089c562d0c3 (patch) | |
tree | 54b40e1a0c60a140dac3ae7c323dd96289513587 /chrome/renderer | |
parent | 402b12138bcabb5a5508e2492852be7a1e17bd8d (diff) | |
download | chromium_src-e4c5a7d5a7c92c7644d9f00fa2c6e089c562d0c3.zip chromium_src-e4c5a7d5a7c92c7644d9f00fa2c6e089c562d0c3.tar.gz chromium_src-e4c5a7d5a7c92c7644d9f00fa2c6e089c562d0c3.tar.bz2 |
Merge 146897 - WebMediaPlayerImpl needs to own the audio source provider.
WebMediaPlayerImpl needs to own the audio source provider to keep it from being destroyed too soon.
BUG=132890
TEST=See test in bug report.
Review URL: https://chromiumcodereview.appspot.com/10662030
TBR=rtoy@google.com
Review URL: https://chromiumcodereview.appspot.com/10808089
git-svn-id: svn://svn.chromium.org/chrome/branches/1180/src@147946 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
4 files changed, 12 insertions, 2 deletions
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index f67675c..724faea 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -346,6 +346,7 @@ ChromeContentRendererClient::OverrideCreateWebMediaPlayer( base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, media::FilterCollection* collection, WebKit::WebAudioSourceProvider* audio_source_provider, + media::AudioRendererSink* audio_renderer_sink, media::MessageLoopFactory* message_loop_factory, webkit_media::MediaStreamClient* media_stream_client, media::MediaLog* media_log) { @@ -353,8 +354,8 @@ ChromeContentRendererClient::OverrideCreateWebMediaPlayer( return NULL; return new prerender::PrerenderWebMediaPlayer(render_view, frame, client, - delegate, collection, audio_source_provider, message_loop_factory, - media_stream_client, media_log); + delegate, collection, audio_source_provider, audio_renderer_sink, + message_loop_factory, media_stream_client, media_log); } WebPlugin* ChromeContentRendererClient::CreatePlugin( diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h index 17fea34..a1e15f0 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h @@ -25,6 +25,10 @@ class VisitedLinkSlave; struct ChromeViewHostMsg_GetPluginInfo_Status; +namespace media { +class AudioRendererSink; +} + namespace prerender { class PrerenderDispatcher; } @@ -74,6 +78,7 @@ class ChromeContentRendererClient : public content::ContentRendererClient { base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, media::FilterCollection* collection, WebKit::WebAudioSourceProvider* audio_source_provider, + media::AudioRendererSink* audio_renderer_sink, media::MessageLoopFactory* message_loop_factory, webkit_media::MediaStreamClient* media_stream_client, media::MediaLog* media_log) OVERRIDE; diff --git a/chrome/renderer/prerender/prerender_webmediaplayer.cc b/chrome/renderer/prerender/prerender_webmediaplayer.cc index 417d420..54b6dd7 100644 --- a/chrome/renderer/prerender/prerender_webmediaplayer.cc +++ b/chrome/renderer/prerender/prerender_webmediaplayer.cc @@ -21,6 +21,7 @@ PrerenderWebMediaPlayer::PrerenderWebMediaPlayer( base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, media::FilterCollection* collection, WebKit::WebAudioSourceProvider* audio_source_provider, + media::AudioRendererSink* audio_renderer_sink, media::MessageLoopFactory* message_loop_factory, webkit_media::MediaStreamClient* media_stream_client, media::MediaLog* media_log) @@ -30,6 +31,7 @@ PrerenderWebMediaPlayer::PrerenderWebMediaPlayer( delegate, collection, audio_source_provider, + audio_renderer_sink, message_loop_factory, media_stream_client, media_log), diff --git a/chrome/renderer/prerender/prerender_webmediaplayer.h b/chrome/renderer/prerender/prerender_webmediaplayer.h index 1ef4de6..00e82b9 100644 --- a/chrome/renderer/prerender/prerender_webmediaplayer.h +++ b/chrome/renderer/prerender/prerender_webmediaplayer.h @@ -9,6 +9,7 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "content/public/renderer/render_view_observer.h" +#include "media/base/audio_renderer_sink.h" #include "webkit/media/webmediaplayer_impl.h" namespace webkit_media { @@ -31,6 +32,7 @@ class PrerenderWebMediaPlayer base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate, media::FilterCollection* collection, WebKit::WebAudioSourceProvider* audio_source_provider, + media::AudioRendererSink* audio_renderer_sink, media::MessageLoopFactory* message_loop_factory, webkit_media::MediaStreamClient* media_stream_client, media::MediaLog* media_log); |