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_; |