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 |