| 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 40c7006c1f10d6dfa8373197958cd537d86c6ec2..3bc42f1f7fed09f69ccd86957c977d9fb782b901 100644
|
| --- a/media/mojo/services/mojo_renderer_service.cc
|
| +++ b/media/mojo/services/mojo_renderer_service.cc
|
| @@ -25,13 +25,15 @@ MojoRendererService::MojoRendererService(
|
| scoped_refptr<AudioRendererSink> audio_sink,
|
| std::unique_ptr<VideoRendererSink> video_sink,
|
| std::unique_ptr<media::Renderer> renderer,
|
| - mojo::InterfaceRequest<mojom::Renderer> request)
|
| + mojo::InterfaceRequest<mojom::Renderer> request,
|
| + InitiateSurfaceRequestCB initiate_surface_request_cb)
|
| : binding_(this, std::move(request)),
|
| mojo_cdm_service_context_(mojo_cdm_service_context),
|
| state_(STATE_UNINITIALIZED),
|
| audio_sink_(std::move(audio_sink)),
|
| video_sink_(std::move(video_sink)),
|
| renderer_(std::move(renderer)),
|
| + initiate_surface_request_cb_(initiate_surface_request_cb),
|
| weak_factory_(this) {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(renderer_);
|
| @@ -230,4 +232,16 @@ void MojoRendererService::OnCdmAttached(
|
| callback.Run(success);
|
| }
|
|
|
| +void MojoRendererService::InitiateScopedSurfaceRequest(
|
| + const InitiateScopedSurfaceRequestCallback& callback) {
|
| + bool success = false;
|
| + uint64_t request_token = 0;
|
| +
|
| + if (!initiate_surface_request_cb_.is_null()) {
|
| + request_token = initiate_surface_request_cb_.Run();
|
| + success = true;
|
| + }
|
| +
|
| + callback.Run(success, request_token);
|
| +}
|
| } // namespace media
|
|
|