summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-23 21:14:02 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-23 21:14:02 +0000
commite4c5a7d5a7c92c7644d9f00fa2c6e089c562d0c3 (patch)
tree54b40e1a0c60a140dac3ae7c323dd96289513587 /chrome
parent402b12138bcabb5a5508e2492852be7a1e17bd8d (diff)
downloadchromium_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')
-rw-r--r--chrome/renderer/chrome_content_renderer_client.cc5
-rw-r--r--chrome/renderer/chrome_content_renderer_client.h5
-rw-r--r--chrome/renderer/prerender/prerender_webmediaplayer.cc2
-rw-r--r--chrome/renderer/prerender/prerender_webmediaplayer.h2
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);