| 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 1b54967916282e470dab5987956f17045104ef03..aacfde78aa34c6ffc86073a2b56faae25fdec818 100644
|
| --- a/media/mojo/services/mojo_renderer_service.h
|
| +++ b/media/mojo/services/mojo_renderer_service.h
|
| @@ -14,6 +14,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/timer/timer.h"
|
| +#include "base/unguessable_token.h"
|
| #include "media/base/buffering_state.h"
|
| #include "media/base/demuxer_stream_provider.h"
|
| #include "media/base/pipeline_status.h"
|
| @@ -36,13 +37,16 @@ class MEDIA_MOJO_EXPORT MojoRendererService
|
| : NON_EXPORTED_BASE(public mojom::Renderer),
|
| public RendererClient {
|
| public:
|
| + using InitiateSurfaceRequestCB = base::Callback<base::UnguessableToken()>;
|
| +
|
| // |mojo_cdm_service_context| can be used to find the CDM to support
|
| // encrypted media. If null, encrypted media is not supported.
|
| MojoRendererService(
|
| base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context,
|
| scoped_refptr<AudioRendererSink> audio_sink,
|
| std::unique_ptr<VideoRendererSink> video_sink,
|
| - std::unique_ptr<media::Renderer> renderer);
|
| + std::unique_ptr<media::Renderer> renderer,
|
| + InitiateSurfaceRequestCB initiate_surface_request_cb);
|
| ~MojoRendererService() final;
|
|
|
| // mojom::Renderer implementation.
|
| @@ -56,6 +60,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 {
|
| @@ -127,6 +133,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_;
|
|
|
|
|