Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index e1515b3f98cc2a64ebc6f80180c4267cec8ee70d..4c38b86713020a9908350f60383608b4621a8c8c 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -103,6 +103,7 @@ |
#include "content/renderer/media/render_media_log.h" |
#include "content/renderer/media/renderer_webmediaplayer_delegate.h" |
#include "content/renderer/media/user_media_client_impl.h" |
+#include "content/renderer/media/web_media_element_source_utils.h" |
#include "content/renderer/media/webmediaplayer_ms.h" |
#include "content/renderer/mojo/service_registry_js_wrapper.h" |
#include "content/renderer/mojo_bindings_controller.h" |
@@ -150,6 +151,7 @@ |
#include "net/http/http_util.h" |
#include "third_party/WebKit/public/platform/URLConversion.h" |
#include "third_party/WebKit/public/platform/WebData.h" |
+#include "third_party/WebKit/public/platform/WebMediaElementSource.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
#include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
#include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" |
@@ -2408,7 +2410,7 @@ blink::WebPlugin* RenderFrameImpl::createPlugin( |
} |
blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
- const blink::WebURL& url, |
+ const blink::WebMediaElementSource& source, |
WebMediaPlayerClient* client, |
WebMediaPlayerEncryptedMediaClient* encrypted_client, |
WebContentDecryptionModule* initial_cdm, |
@@ -2420,13 +2422,17 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
contains_media_player_ = true; |
} |
#endif // defined(VIDEO_HOLE) |
- |
- blink::WebMediaStream web_stream( |
- blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); |
+ blink::WebMediaStream web_stream = |
+ GetWebMediaStreamFromWebMediaElementSource(source); |
if (!web_stream.isNull()) |
return CreateWebMediaPlayerForMediaStream(client, sink_id, |
frame_->getSecurityOrigin()); |
+ // If |source| was not a MediaStream, it must be a URL. |
+ // TODO(guidou): Fix this when support for other srcObject types is added. |
+ DCHECK(source.isURL()); |
+ blink::WebURL url = source.getAsURL(); |
+ |
RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
scoped_refptr<media::SwitchableAudioRendererSink> audio_renderer_sink = |