| 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 2046e9d8d19812a5608f4bc4d7f237f76a60bcc8..77c90e52de2ca36e72ab9375b29713568cd87079 100644
|
| --- a/media/mojo/services/mojo_renderer_service.h
|
| +++ b/media/mojo/services/mojo_renderer_service.h
|
| @@ -26,6 +26,7 @@ namespace media {
|
|
|
| class AudioRendererSink;
|
| class DemuxerStreamProviderShim;
|
| +class CdmContextProvider;
|
| class Renderer;
|
|
|
| // A mojo::MediaRenderer implementation that uses media::AudioRenderer to
|
| @@ -33,18 +34,21 @@ class Renderer;
|
| class MEDIA_EXPORT MojoRendererService
|
| : NON_EXPORTED_BASE(public mojo::InterfaceImpl<mojo::MediaRenderer>) {
|
| public:
|
| - MojoRendererService();
|
| - ~MojoRendererService() override;
|
| + // |cdm_context_provider| can be used to find the CdmContext to support
|
| + // encrypted media. If null, encrypted media is not supported.
|
| + explicit MojoRendererService(CdmContextProvider* cdm_context_provider);
|
| + ~MojoRendererService() final;
|
|
|
| // mojo::MediaRenderer implementation.
|
| void Initialize(mojo::MediaRendererClientPtr client,
|
| 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 {
|
| @@ -86,6 +90,11 @@ class MEDIA_EXPORT MojoRendererService
|
| // 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);
|
| +
|
| + CdmContextProvider* cdm_context_provider_;
|
| +
|
| State state_;
|
|
|
| scoped_refptr<AudioRendererSink> audio_renderer_sink_;
|
|
|