Index: media/mojo/services/mojo_renderer_service.h |
diff --git a/media/mojo/services/mojo_renderer_service.h b/media/mojo/services/mojo_renderer_service.h |
index 18130b5efb1af80e5492f07e344949e04e522d21..d24c73ce744a5d4ff23e3760ea72b428035c5013 100644 |
--- a/media/mojo/services/mojo_renderer_service.h |
+++ b/media/mojo/services/mojo_renderer_service.h |
@@ -37,6 +37,8 @@ class MEDIA_MOJO_EXPORT MojoRendererService |
: NON_EXPORTED_BASE(public mojom::Renderer), |
public RendererClient { |
public: |
+ using InitiateSurfaceRequestCB = base::Callback<uint64_t()>; |
+ |
// |mojo_cdm_service_context| can be used to find the CDM to support |
// encrypted media. If null, encrypted media is not supported. |
MojoRendererService( |
@@ -44,7 +46,8 @@ class MEDIA_MOJO_EXPORT 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); |
~MojoRendererService() final; |
// mojom::Renderer implementation. |
@@ -58,6 +61,8 @@ class MEDIA_MOJO_EXPORT MojoRendererService |
void SetPlaybackRate(double playback_rate) final; |
void SetVolume(float volume) final; |
void SetCdm(int32_t cdm_id, const SetCdmCallback& callback) final; |
+ void InitiateScopedSurfaceRequest( |
+ const InitiateScopedSurfaceRequestCallback& callback) final; |
private: |
enum State { |
@@ -129,6 +134,10 @@ class MEDIA_MOJO_EXPORT MojoRendererService |
// Must use "media::" because "Renderer" is ambiguous. |
std::unique_ptr<media::Renderer> renderer_; |
+ // Registers a new request in the ScopedSurfaceRequestManager. |
+ // Returns the token to be used to fulfill the request. |
+ InitiateSurfaceRequestCB initiate_surface_request_cb_; |
+ |
base::WeakPtr<MojoRendererService> weak_this_; |
base::WeakPtrFactory<MojoRendererService> weak_factory_; |