| 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..22abbb5dc51c2de5ec13abdc1b9200dbd3cad171 100644
|
| --- a/media/mojo/services/mojo_renderer_service.h
|
| +++ b/media/mojo/services/mojo_renderer_service.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/macros.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/nonce.h"
|
| #include "base/timer/timer.h"
|
| #include "media/base/buffering_state.h"
|
| #include "media/base/demuxer_stream_provider.h"
|
| @@ -37,6 +38,8 @@ class MEDIA_MOJO_EXPORT MojoRendererService
|
| : NON_EXPORTED_BASE(public mojom::Renderer),
|
| public RendererClient {
|
| public:
|
| + using InitiateSurfaceRequestCB = base::Callback<base::Nonce()>;
|
| +
|
| // |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 +47,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 +62,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 +135,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_;
|
|
|
|
|