| 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 7ad544b2ea1ae0f0c5a05e0f28effe75afc3c4b5..1b12562fee856a60fa477938cec9a6e533791615 100644
|
| --- a/media/mojo/services/mojo_renderer_service.h
|
| +++ b/media/mojo/services/mojo_renderer_service.h
|
| @@ -24,6 +24,7 @@ namespace media {
|
|
|
| class AudioRendererSink;
|
| class DemuxerStreamProviderShim;
|
| +class MojoCdmServiceContext;
|
| class MojoDemuxerStreamAdapter;
|
| class Renderer;
|
|
|
| @@ -31,17 +32,18 @@ class Renderer;
|
| // decode and render audio to a sink obtained from the ApplicationConnection.
|
| class MojoRendererService : public mojo::InterfaceImpl<mojo::MediaRenderer> {
|
| public:
|
| - MojoRendererService();
|
| - ~MojoRendererService() override;
|
| + explicit MojoRendererService(MojoCdmServiceContext* cdm_service_context);
|
| + ~MojoRendererService() final;
|
|
|
| // mojo::MediaRenderer implementation.
|
| void Initialize(mojo::DemuxerStreamPtr audio,
|
| mojo::DemuxerStreamPtr video,
|
| - const mojo::Closure& callback) override;
|
| - void Flush(const mojo::Closure& callback) override;
|
| - void StartPlayingFrom(int64_t time_delta_usec) override;
|
| - void SetPlaybackRate(float playback_rate) override;
|
| - void SetVolume(float volume) override;
|
| + const mojo::Closure& callback) final;
|
| + void Flush(const mojo::Closure& callback) final;
|
| + void StartPlayingFrom(int64_t time_delta_usec) final;
|
| + void SetPlaybackRate(float playback_rate) final;
|
| + void SetVolume(float volume) final;
|
| + void SetCdm(int32_t cdm_id, const mojo::Callback<void(bool)>& callback) final;
|
|
|
| private:
|
| enum State {
|
| @@ -82,6 +84,11 @@ class MojoRendererService : public mojo::InterfaceImpl<mojo::MediaRenderer> {
|
| // Callback executed once Flush() completes.
|
| void OnFlushCompleted(const mojo::Closure& callback);
|
|
|
| + // Callback executed once SetCdm() completes.
|
| + void OnCdmAttached(const mojo::Callback<void(bool)>& callback, bool success);
|
| +
|
| + MojoCdmServiceContext* cdm_service_context_;
|
| +
|
| State state_;
|
|
|
| scoped_refptr<AudioRendererSink> audio_renderer_sink_;
|
|
|