| Index: media/mojo/services/service_factory_impl.cc
|
| diff --git a/media/mojo/services/service_factory_impl.cc b/media/mojo/services/service_factory_impl.cc
|
| index 7bd0c56b0523d03f8aa195a13a141c835bdda2ec..5a2cc341e509138d706425acee1d63e6b0e04348 100644
|
| --- a/media/mojo/services/service_factory_impl.cc
|
| +++ b/media/mojo/services/service_factory_impl.cc
|
| @@ -5,15 +5,24 @@
|
| #include "media/mojo/services/service_factory_impl.h"
|
|
|
| #include "base/logging.h"
|
| -#include "media/base/cdm_factory.h"
|
| #include "media/base/media_log.h"
|
| -#include "media/base/renderer_factory.h"
|
| -#include "media/mojo/services/mojo_audio_decoder_service.h"
|
| -#include "media/mojo/services/mojo_cdm_service.h"
|
| #include "media/mojo/services/mojo_media_client.h"
|
| -#include "media/mojo/services/mojo_renderer_service.h"
|
| #include "mojo/shell/public/interfaces/interface_provider.mojom.h"
|
|
|
| +#if defined(ENABLE_MOJO_AUDIO_DECODER)
|
| +#include "media/mojo/services/mojo_audio_decoder_service.h"
|
| +#endif // defined(ENABLE_MOJO_AUDIO_DECODER)
|
| +
|
| +#if defined(ENABLE_MOJO_RENDERER)
|
| +#include "media/base/renderer_factory.h"
|
| +#include "media/mojo/services/mojo_renderer_service.h"
|
| +#endif // defined(ENABLE_MOJO_RENDERER)
|
| +
|
| +#if defined(ENABLE_MOJO_CDM)
|
| +#include "media/base/cdm_factory.h"
|
| +#include "media/mojo/services/mojo_cdm_service.h"
|
| +#endif // defined(ENABLE_MOJO_CDM)
|
| +
|
| namespace media {
|
|
|
| ServiceFactoryImpl::ServiceFactoryImpl(
|
| @@ -38,6 +47,7 @@ ServiceFactoryImpl::~ServiceFactoryImpl() {
|
|
|
| void ServiceFactoryImpl::CreateAudioDecoder(
|
| mojo::InterfaceRequest<interfaces::AudioDecoder> request) {
|
| +#if defined(ENABLE_MOJO_AUDIO_DECODER)
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner(
|
| base::MessageLoop::current()->task_runner());
|
|
|
| @@ -50,10 +60,12 @@ void ServiceFactoryImpl::CreateAudioDecoder(
|
|
|
| new MojoAudioDecoderService(cdm_service_context_.GetWeakPtr(),
|
| std::move(audio_decoder), std::move(request));
|
| +#endif // defined(ENABLE_MOJO_AUDIO_DECODER)
|
| }
|
|
|
| void ServiceFactoryImpl::CreateRenderer(
|
| mojo::InterfaceRequest<interfaces::Renderer> request) {
|
| +#if defined(ENABLE_MOJO_RENDERER)
|
| // The created object is owned by the pipe.
|
| // The audio and video sinks are owned by the client.
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner(
|
| @@ -77,10 +89,12 @@ void ServiceFactoryImpl::CreateRenderer(
|
|
|
| new MojoRendererService(cdm_service_context_.GetWeakPtr(),
|
| std::move(renderer), std::move(request));
|
| +#endif // defined(ENABLE_MOJO_RENDERER)
|
| }
|
|
|
| void ServiceFactoryImpl::CreateCdm(
|
| mojo::InterfaceRequest<interfaces::ContentDecryptionModule> request) {
|
| +#if defined(ENABLE_MOJO_CDM)
|
| CdmFactory* cdm_factory = GetCdmFactory();
|
| if (!cdm_factory)
|
| return;
|
| @@ -88,8 +102,10 @@ void ServiceFactoryImpl::CreateCdm(
|
| // The created object is owned by the pipe.
|
| new MojoCdmService(cdm_service_context_.GetWeakPtr(), cdm_factory,
|
| std::move(request));
|
| +#endif // defined(ENABLE_MOJO_CDM)
|
| }
|
|
|
| +#if defined(ENABLE_MOJO_RENDERER)
|
| RendererFactory* ServiceFactoryImpl::GetRendererFactory() {
|
| if (!renderer_factory_) {
|
| renderer_factory_ = mojo_media_client_->CreateRendererFactory(media_log_);
|
| @@ -97,7 +113,9 @@ RendererFactory* ServiceFactoryImpl::GetRendererFactory() {
|
| }
|
| return renderer_factory_.get();
|
| }
|
| +#endif // defined(ENABLE_MOJO_RENDERER)
|
|
|
| +#if defined(ENABLE_MOJO_CDM)
|
| CdmFactory* ServiceFactoryImpl::GetCdmFactory() {
|
| if (!cdm_factory_) {
|
| cdm_factory_ = mojo_media_client_->CreateCdmFactory(interfaces_);
|
| @@ -105,5 +123,6 @@ CdmFactory* ServiceFactoryImpl::GetCdmFactory() {
|
| }
|
| return cdm_factory_.get();
|
| }
|
| +#endif // defined(ENABLE_MOJO_CDM)
|
|
|
| } // namespace media
|
|
|