| 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_);
|
| }
|
|
|
|
|