| Index: media/mojo/services/interface_factory_impl.h
|
| diff --git a/media/mojo/services/interface_factory_impl.h b/media/mojo/services/interface_factory_impl.h
|
| index ef341713841adcdefa9089e6e1c6bf761d29e22c..d30d70d2aa1f9a89a4ada72529f693aad91fb883 100644
|
| --- a/media/mojo/services/interface_factory_impl.h
|
| +++ b/media/mojo/services/interface_factory_impl.h
|
| @@ -10,6 +10,7 @@
|
| #include "base/macros.h"
|
| #include "media/mojo/interfaces/interface_factory.mojom.h"
|
| #include "media/mojo/services/mojo_cdm_service_context.h"
|
| +#include "media/mojo/services/mojo_demuxer_service_context.h"
|
| #include "media/mojo/services/strong_binding_set.h"
|
| #include "services/service_manager/public/cpp/connector.h"
|
| #include "services/service_manager/public/cpp/service_context_ref.h"
|
| @@ -17,6 +18,7 @@
|
| namespace media {
|
|
|
| class CdmFactory;
|
| +class DemuxerFactory;
|
| class MediaLog;
|
| class MojoMediaClient;
|
| class RendererFactory;
|
| @@ -31,6 +33,8 @@ class InterfaceFactoryImpl : public mojom::InterfaceFactory {
|
| ~InterfaceFactoryImpl() final;
|
|
|
| // mojom::InterfaceFactory implementation.
|
| + void CreateDemuxer(mojom::DemuxerRequest request) final;
|
| + void CreateSourceBuffer(mojom::SourceBufferRequest request) final;
|
| void CreateAudioDecoder(mojom::AudioDecoderRequest request) final;
|
| void CreateVideoDecoder(mojom::VideoDecoderRequest request) final;
|
| void CreateRenderer(const std::string& audio_device_id,
|
| @@ -46,8 +50,14 @@ class InterfaceFactoryImpl : public mojom::InterfaceFactory {
|
| CdmFactory* GetCdmFactory();
|
| #endif // defined(ENABLE_MOJO_CDM)
|
|
|
| +#if defined(ENABLE_MOJO_DEMUXER)
|
| + DemuxerFactory* GetDemuxerFactory();
|
| +#endif // defined(ENABLE_MOJO_DEMUXER)
|
| +
|
| MojoCdmServiceContext cdm_service_context_;
|
|
|
| + MojoDemuxerServiceContext demuxer_service_context_;
|
| +
|
| #if defined(ENABLE_MOJO_AUDIO_DECODER)
|
| StrongBindingSet<mojom::AudioDecoder> audio_decoder_bindings_;
|
| #endif // defined(ENABLE_MOJO_AUDIO_DECODER)
|
| @@ -61,12 +71,21 @@ class InterfaceFactoryImpl : public mojom::InterfaceFactory {
|
| StrongBindingSet<mojom::Renderer> renderer_bindings_;
|
| #endif // defined(ENABLE_MOJO_RENDERER)
|
|
|
| +#if defined(ENABLE_MOJO_CDM) || defined(ENABLE_MOJO_DEMUXER)
|
| + service_manager::mojom::InterfaceProviderPtr interfaces_;
|
| +#endif
|
| +
|
| #if defined(ENABLE_MOJO_CDM)
|
| std::unique_ptr<CdmFactory> cdm_factory_;
|
| - service_manager::mojom::InterfaceProviderPtr interfaces_;
|
| StrongBindingSet<mojom::ContentDecryptionModule> cdm_bindings_;
|
| #endif // defined(ENABLE_MOJO_CDM)
|
|
|
| +#if defined(ENABLE_MOJO_DEMUXER)
|
| + std::unique_ptr<DemuxerFactory> demuxer_factory_;
|
| + StrongBindingSet<mojom::Demuxer> demuxer_bindings_;
|
| + StrongBindingSet<mojom::SourceBuffer> source_buffer_bindings_;
|
| +#endif // defined(ENABLE_MOJO_RENDERER)
|
| +
|
| scoped_refptr<MediaLog> media_log_;
|
| std::unique_ptr<service_manager::ServiceContextRef> connection_ref_;
|
| MojoMediaClient* mojo_media_client_;
|
|
|