| 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 6b7e0f779b1a28abe079f80acd42eba56c9d62db..cd4d2c526b308efab9eff421421df2d3e1886b03 100644
|
| --- a/media/mojo/services/mojo_renderer_service.cc
|
| +++ b/media/mojo/services/mojo_renderer_service.cc
|
| @@ -7,8 +7,11 @@
|
| #include <utility>
|
|
|
| #include "base/bind.h"
|
| +#include "media/base/android/media_player_renderer.h"
|
| +#include "media/base/android/media_url_demuxer.h"
|
| #include "media/base/media_keys.h"
|
| #include "media/base/renderer.h"
|
| +#include "media/media_features.h"
|
| #include "media/mojo/services/demuxer_stream_provider_shim.h"
|
| #include "media/mojo/services/mojo_cdm_service_context.h"
|
|
|
| @@ -39,14 +42,28 @@ MojoRendererService::~MojoRendererService() {
|
| void MojoRendererService::Initialize(mojom::RendererClientPtr client,
|
| mojom::DemuxerStreamPtr audio,
|
| mojom::DemuxerStreamPtr video,
|
| + const mojo::String& url,
|
| + int64_t surface_id,
|
| const InitializeCallback& callback) {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK_EQ(state_, STATE_UNINITIALIZED);
|
| client_ = std::move(client);
|
| state_ = STATE_INITIALIZING;
|
| +#if BUILDFLAG(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
|
| + // TODO(tguilbert): For review: are c-style casts acceptable?
|
| + MediaPlayerRenderer* temp = (MediaPlayerRenderer*)renderer_.get();
|
| + temp->SetSurfaceId(surface_id);
|
| +
|
| + stream_provider_.reset(new MediaUrlDemuxer(nullptr, GURL(url.get())));
|
| + renderer_->Initialize(
|
| + stream_provider_.get(), this,
|
| + base::Bind(&MojoRendererService::OnRendererInitializeDone, weak_this_,
|
| + callback));
|
| +#else
|
| stream_provider_.reset(new DemuxerStreamProviderShim(
|
| std::move(audio), std::move(video),
|
| base::Bind(&MojoRendererService::OnStreamReady, weak_this_, callback)));
|
| +#endif // defined(FORCE_MOJO_MEDIA_PLAYER_RENDERER)
|
| }
|
|
|
| void MojoRendererService::Flush(const FlushCallback& callback) {
|
| @@ -134,6 +151,10 @@ void MojoRendererService::OnVideoNaturalSizeChange(const gfx::Size& size) {
|
| client_->OnVideoNaturalSizeChange(size);
|
| }
|
|
|
| +void MojoRendererService::OnDurationChange(base::TimeDelta duration) {
|
| + client_->OnDurationChange(duration.InMicroseconds());
|
| +}
|
| +
|
| void MojoRendererService::OnVideoOpacityChange(bool opaque) {
|
| DVLOG(2) << __FUNCTION__ << "(" << opaque << ")";
|
| client_->OnVideoOpacityChange(opaque);
|
|
|