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 |