Index: content/renderer/media/webmediaplayer_ms.cc |
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc |
index 147715b9e7b6cdd9354b5fa2561d52163cecb497..1187fab16d2959552bdeaf0c65b0d2205cc9cccb 100644 |
--- a/content/renderer/media/webmediaplayer_ms.cc |
+++ b/content/renderer/media/webmediaplayer_ms.cc |
@@ -19,16 +19,17 @@ |
#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" |
#include "gpu/blink/webgraphicscontext3d_impl.h" |
#include "media/base/media_log.h" |
#include "media/base/video_frame.h" |
+#include "third_party/WebKit/public/platform/WebMediaElementSource.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayerClient.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::WebMediaElementSource& source, |
CORSMode /*cors_mode*/) { |
DVLOG(1) << __FUNCTION__; |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -109,27 +110,28 @@ 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 = |
+ GetWebMediaStreamFromWebMediaElementSource(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) { |
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_); |
} |