Chromium Code Reviews| Index: media/mojo/services/mojo_renderer_service.cc |
| diff --git a/media/mojo/services/mojo_renderer_service.cc b/media/mojo/services/mojo_renderer_service.cc |
| index 7646b83d06e22df692653886c24dd3d8c5ed732f..5ae23e13ec2467aaa925b944f8fa997f218b748a 100644 |
| --- a/media/mojo/services/mojo_renderer_service.cc |
| +++ b/media/mojo/services/mojo_renderer_service.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/bind.h" |
| #include "media/base/media_keys.h" |
| +#include "media/base/media_url_demuxer.h" |
| #include "media/base/renderer.h" |
| #include "media/mojo/services/demuxer_stream_provider_shim.h" |
| #include "media/mojo/services/mojo_cdm_service_context.h" |
| @@ -33,20 +34,33 @@ MojoRendererService::MojoRendererService( |
| weak_this_ = weak_factory_.GetWeakPtr(); |
| } |
| -MojoRendererService::~MojoRendererService() { |
| -} |
| +MojoRendererService::~MojoRendererService() {} |
| void MojoRendererService::Initialize(mojom::RendererClientPtr client, |
| mojom::DemuxerStreamPtr audio, |
| mojom::DemuxerStreamPtr video, |
| + const mojo::String& url, |
|
watk
2016/08/09 21:39:58
Can you pass a gurl all the way?
tguilbert
2016/08/09 22:38:35
I had tried a while ago (3 months?) and it was not
|
| const InitializeCallback& callback) { |
| DVLOG(1) << __FUNCTION__; |
| DCHECK_EQ(state_, STATE_UNINITIALIZED); |
| client_ = std::move(client); |
| state_ = STATE_INITIALIZING; |
| - stream_provider_.reset(new DemuxerStreamProviderShim( |
| - std::move(audio), std::move(video), |
| - base::Bind(&MojoRendererService::OnStreamReady, weak_this_, callback))); |
| + |
| + // TODO(tguilbert): FOR REVIEWERS: Should I instead pass the |
| + // DemuxerProviderType via Initialize(), or create a new InitializeFromUrl()? |
| + if (url.get().empty()) { |
| + stream_provider_.reset(new DemuxerStreamProviderShim( |
| + std::move(audio), std::move(video), |
| + base::Bind(&MojoRendererService::OnStreamReady, weak_this_, callback))); |
| + } else { |
| + DCHECK(!audio); |
| + DCHECK(!video); |
| + stream_provider_.reset(new MediaUrlDemuxer(nullptr, GURL(url.get()))); |
| + renderer_->Initialize( |
| + stream_provider_.get(), this, |
| + base::Bind(&MojoRendererService::OnRendererInitializeDone, weak_this_, |
| + callback)); |
| + } |
| } |
| void MojoRendererService::Flush(const FlushCallback& callback) { |