Index: content/renderer/media/webmediaplayer_ms.cc |
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc |
index b5457cd40691b44c7dd85e296e82802445e19549..aa6948c47d91380260c95b43b84730a1bc1db773 100644 |
--- a/content/renderer/media/webmediaplayer_ms.cc |
+++ b/content/renderer/media/webmediaplayer_ms.cc |
@@ -19,6 +19,7 @@ |
#include "content/public/renderer/media_stream_audio_renderer.h" |
#include "content/public/renderer/media_stream_renderer_factory.h" |
#include "content/public/renderer/video_frame_provider.h" |
+#include "content/renderer/media/web_media_element_source_utils.h" |
#include "content/renderer/media/webmediaplayer_ms_compositor.h" |
#include "content/renderer/render_frame_impl.h" |
#include "content/renderer/render_thread_impl.h" |
@@ -26,9 +27,9 @@ |
#include "media/base/video_frame.h" |
#include "media/blink/webmediaplayer_util.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" |
+#include "third_party/WebKit/public/platform/WebMediaPlayerSource.h" |
#include "third_party/WebKit/public/platform/WebRect.h" |
#include "third_party/WebKit/public/platform/WebSize.h" |
-#include "third_party/WebKit/public/platform/WebURL.h" |
namespace content { |
@@ -101,7 +102,7 @@ WebMediaPlayerMS::~WebMediaPlayerMS() { |
} |
void WebMediaPlayerMS::load(LoadType load_type, |
- const blink::WebURL& url, |
+ const blink::WebMediaPlayerSource& source, |
CORSMode /*cors_mode*/) { |
DVLOG(1) << __FUNCTION__; |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -109,30 +110,32 @@ void WebMediaPlayerMS::load(LoadType load_type, |
// TODO(acolwell): Change this to DCHECK_EQ(load_type, LoadTypeMediaStream) |
// once Blink-side changes land. |
DCHECK_NE(load_type, LoadTypeMediaSource); |
+ blink::WebMediaStream web_stream = |
+ GetWebMediaStreamFromWebMediaPlayerSource(source); |
- compositor_.reset(new WebMediaPlayerMSCompositor(compositor_task_runner_, url, |
- AsWeakPtr())); |
+ compositor_.reset(new WebMediaPlayerMSCompositor(compositor_task_runner_, |
+ web_stream, AsWeakPtr())); |
SetNetworkState(WebMediaPlayer::NetworkStateLoading); |
SetReadyState(WebMediaPlayer::ReadyStateHaveNothing); |
- media_log_->AddEvent(media_log_->CreateLoadEvent(url.string().utf8())); |
+ std::string stream_id = |
+ web_stream.isNull() ? std::string() : web_stream.id().utf8(); |
+ media_log_->AddEvent(media_log_->CreateLoadEvent(stream_id)); |
video_frame_provider_ = renderer_factory_->GetVideoFrameProvider( |
- url, |
- base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), |
+ web_stream, base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), |
base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()), |
- media_task_runner_, |
- worker_task_runner_, |
- gpu_factories_); |
+ media_task_runner_, worker_task_runner_, gpu_factories_); |
RenderFrame* const frame = RenderFrame::FromWebFrame(frame_); |
if (frame) { |
// Report UMA and RAPPOR metrics. |
- media::ReportMetrics(load_type, GURL(url), frame_->getSecurityOrigin()); |
+ GURL url = source.isURL() ? GURL(source.getAsURL()) : GURL(); |
+ media::ReportMetrics(load_type, url, frame_->getSecurityOrigin()); |
audio_renderer_ = renderer_factory_->GetAudioRenderer( |
- url, frame->GetRoutingID(), initial_audio_output_device_id_, |
+ web_stream, frame->GetRoutingID(), initial_audio_output_device_id_, |
initial_security_origin_); |
} |