| Index: media/mojo/services/mojo_audio_decoder_service.h
|
| diff --git a/media/mojo/services/mojo_audio_decoder_service.h b/media/mojo/services/mojo_audio_decoder_service.h
|
| index 558d0eb590c1f25f5d70e074c9c8897f2f6c5319..ef3579ea29c6f467a3f66b66a6b9eed934890cd1 100644
|
| --- a/media/mojo/services/mojo_audio_decoder_service.h
|
| +++ b/media/mojo/services/mojo_audio_decoder_service.h
|
| @@ -15,9 +15,13 @@
|
|
|
| namespace media {
|
|
|
| +class MediaKeys;
|
| +class MojoCdmServiceContext;
|
| +
|
| class MojoAudioDecoderService : public interfaces::AudioDecoder {
|
| public:
|
| MojoAudioDecoderService(
|
| + base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context,
|
| scoped_ptr<media::AudioDecoder> decoder,
|
| mojo::InterfaceRequest<interfaces::AudioDecoder> request);
|
|
|
| @@ -61,12 +65,19 @@ class MojoAudioDecoderService : public interfaces::AudioDecoder {
|
| // DataPipe for serializing the data section of DecoderBuffer.
|
| mojo::ScopedDataPipeConsumerHandle consumer_handle_;
|
|
|
| + // A helper object required to get CDM from CDM id.
|
| + base::WeakPtr<MojoCdmServiceContext> mojo_cdm_service_context_;
|
| +
|
| // The AudioDecoder that does actual decoding work.
|
| scoped_ptr<media::AudioDecoder> decoder_;
|
|
|
| // The destination for the decoded buffers.
|
| interfaces::AudioDecoderClientPtr client_;
|
|
|
| + // Hold a reference to the CDM to keep it alive for the lifetime of the
|
| + // |decoder_|. The |cdm_| owns the CdmContext which is passed to |decoder_|.
|
| + scoped_refptr<MediaKeys> cdm_;
|
| +
|
| base::WeakPtr<MojoAudioDecoderService> weak_this_;
|
| base::WeakPtrFactory<MojoAudioDecoderService> weak_factory_;
|
|
|
|
|