Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(542)

Unified Diff: media/mojo/services/service_factory_impl.cc

Issue 1840453003: media: Only provide necessary services in ServiceFactoryImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« media/mojo/services/service_factory_impl.h ('K') | « media/mojo/services/service_factory_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698