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

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

Issue 2444623002: media: Rename ServiceFactory to InterfaceFactory (Closed)
Patch Set: media: Rename ServiceFactory to InterfaceFactory Created 4 years, 2 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
« no previous file with comments | « media/mojo/services/service_factory_impl.h ('k') | media/mojo/services/test_manifest.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
deleted file mode 100644
index 6d62b3483f33616b7ee71b0a9efe3e918ca85b1c..0000000000000000000000000000000000000000
--- a/media/mojo/services/service_factory_impl.cc
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "media/mojo/services/service_factory_impl.h"
-
-#include "base/logging.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "media/base/media_log.h"
-#include "media/mojo/services/mojo_media_client.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
-#include "services/service_manager/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_VIDEO_DECODER)
-#include "media/mojo/services/mojo_video_decoder_service.h"
-#endif // defined(ENABLE_MOJO_VIDEO_DECODER)
-
-#if defined(ENABLE_MOJO_RENDERER)
-#include "media/base/audio_renderer_sink.h"
-#include "media/base/renderer_factory.h"
-#include "media/base/video_renderer_sink.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(
- service_manager::mojom::InterfaceProviderPtr interfaces,
- scoped_refptr<MediaLog> media_log,
- std::unique_ptr<service_manager::ServiceContextRef> connection_ref,
- MojoMediaClient* mojo_media_client)
- :
-#if defined(ENABLE_MOJO_CDM)
- interfaces_(std::move(interfaces)),
-#endif
- media_log_(media_log),
- connection_ref_(std::move(connection_ref)),
- mojo_media_client_(mojo_media_client) {
- DVLOG(1) << __FUNCTION__;
- DCHECK(mojo_media_client_);
-}
-
-ServiceFactoryImpl::~ServiceFactoryImpl() {
- DVLOG(1) << __FUNCTION__;
-}
-
-// mojom::ServiceFactory implementation.
-
-void ServiceFactoryImpl::CreateAudioDecoder(
- mojo::InterfaceRequest<mojom::AudioDecoder> request) {
-#if defined(ENABLE_MOJO_AUDIO_DECODER)
- scoped_refptr<base::SingleThreadTaskRunner> task_runner(
- base::ThreadTaskRunnerHandle::Get());
-
- std::unique_ptr<AudioDecoder> audio_decoder =
- mojo_media_client_->CreateAudioDecoder(task_runner);
- if (!audio_decoder) {
- LOG(ERROR) << "AudioDecoder creation failed.";
- return;
- }
-
- mojo::MakeStrongBinding(
- base::MakeUnique<MojoAudioDecoderService>(
- cdm_service_context_.GetWeakPtr(), std::move(audio_decoder)),
- std::move(request));
-#endif // defined(ENABLE_MOJO_AUDIO_DECODER)
-}
-
-void ServiceFactoryImpl::CreateVideoDecoder(
- mojom::VideoDecoderRequest request) {
-#if defined(ENABLE_MOJO_VIDEO_DECODER)
- mojo::MakeStrongBinding(
- base::MakeUnique<MojoVideoDecoderService>(mojo_media_client_),
- std::move(request));
-#endif // defined(ENABLE_MOJO_VIDEO_DECODER)
-}
-
-void ServiceFactoryImpl::CreateRenderer(
- const std::string& audio_device_id,
- mojo::InterfaceRequest<mojom::Renderer> request) {
-#if defined(ENABLE_MOJO_RENDERER)
- RendererFactory* renderer_factory = GetRendererFactory();
- if (!renderer_factory)
- return;
-
- scoped_refptr<base::SingleThreadTaskRunner> task_runner(
- base::ThreadTaskRunnerHandle::Get());
- auto audio_sink =
- mojo_media_client_->CreateAudioRendererSink(audio_device_id);
- auto video_sink = mojo_media_client_->CreateVideoRendererSink(task_runner);
- auto renderer = renderer_factory->CreateRenderer(
- task_runner, task_runner, audio_sink.get(), video_sink.get(),
- RequestSurfaceCB());
- if (!renderer) {
- LOG(ERROR) << "Renderer creation failed.";
- return;
- }
-
- MojoRendererService::Create(
- cdm_service_context_.GetWeakPtr(), std::move(audio_sink),
- std::move(video_sink), std::move(renderer),
- MojoRendererService::InitiateSurfaceRequestCB(), std::move(request));
-#endif // defined(ENABLE_MOJO_RENDERER)
-}
-
-void ServiceFactoryImpl::CreateCdm(
- mojo::InterfaceRequest<mojom::ContentDecryptionModule> request) {
-#if defined(ENABLE_MOJO_CDM)
- CdmFactory* cdm_factory = GetCdmFactory();
- if (!cdm_factory)
- return;
-
- mojo::MakeStrongBinding(base::MakeUnique<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_);
- LOG_IF(ERROR, !renderer_factory_) << "RendererFactory not available.";
- }
- 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_.get());
- LOG_IF(ERROR, !cdm_factory_) << "CdmFactory not available.";
- }
- return cdm_factory_.get();
-}
-#endif // defined(ENABLE_MOJO_CDM)
-
-} // namespace media
« no previous file with comments | « media/mojo/services/service_factory_impl.h ('k') | media/mojo/services/test_manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698