Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index b19a1cb871adfd0f61acf0597fa34ca05c1ac47c..b2632c1eaa68806dbb96078bb8258f3ff8509722 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -99,6 +99,9 @@ |
#include "content/renderer/media/renderer_gpu_video_decoder_factories.h" |
#include "content/renderer/media/rtc_peer_connection_handler.h" |
#include "content/renderer/media/video_capture_impl_manager.h" |
+#include "content/renderer/media/webmediaplayer_impl.h" |
+#include "content/renderer/media/webmediaplayer_ms.h" |
+#include "content/renderer/media/webmediaplayer_params.h" |
#include "content/renderer/mhtml_generator.h" |
#include "content/renderer/notification_provider.h" |
#include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
@@ -211,9 +214,6 @@ |
#include "webkit/plugins/npapi/webplugin_delegate_impl.h" |
#include "webkit/plugins/npapi/webplugin_impl.h" |
#include "webkit/renderer/appcache/web_application_cache_host_impl.h" |
-#include "webkit/renderer/media/webmediaplayer_impl.h" |
-#include "webkit/renderer/media/webmediaplayer_ms.h" |
-#include "webkit/renderer/media/webmediaplayer_params.h" |
#include "webkit/renderer/webpreferences_renderer.h" |
#if defined(OS_ANDROID) |
@@ -2838,15 +2838,22 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer( |
const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
#if defined(ENABLE_WEBRTC) && !defined(GOOGLE_TV) |
- if (MediaStreamImpl::CheckMediaStream(url)) { |
+ MediaStreamClient* media_stream_client = |
+ GetContentClient()->renderer()->OverrideCreateMediaStreamClient(); |
+ if (!media_stream_client) { |
+ EnsureMediaStreamImpl(); |
+ media_stream_client = media_stream_impl_; |
+ } |
+ |
+ if (media_stream_client->IsMediaStream(url)) { |
#if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) |
bool found_neon = |
(android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0; |
UMA_HISTOGRAM_BOOLEAN("Platform.WebRtcNEONFound", found_neon); |
#endif // defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) |
EnsureMediaStreamImpl(); |
- return new webkit_media::WebMediaPlayerMS( |
- frame, client, AsWeakPtr(), media_stream_impl_, new RenderMediaLog()); |
+ return new WebMediaPlayerMS( |
+ frame, client, AsWeakPtr(), media_stream_client, new RenderMediaLog()); |
} |
#endif |
@@ -2924,17 +2931,14 @@ WebMediaPlayer* RenderViewImpl::createMediaPlayer( |
gpu_channel_host, factories_loop, context3d); |
} |
- webkit_media::WebMediaPlayerParams params( |
+ WebMediaPlayerParams params( |
RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy(), |
- sink, gpu_factories, new RenderMediaLog()); |
- WebMediaPlayer* media_player = |
- GetContentClient()->renderer()->OverrideCreateWebMediaPlayer( |
- this, frame, client, AsWeakPtr(), params); |
- if (!media_player) { |
- media_player = new webkit_media::WebMediaPlayerImpl( |
- frame, client, AsWeakPtr(), params); |
- } |
- return media_player; |
+ GetContentClient()->renderer()->OverrideCreateMediaPlayerLoadDelegate( |
+ this), |
+ sink, |
+ gpu_factories, |
+ new RenderMediaLog()); |
+ return new WebMediaPlayerImpl(frame, client, AsWeakPtr(), params); |
} |
WebApplicationCacheHost* RenderViewImpl::createApplicationCacheHost( |