| Index: content/gpu/gpu_service_factory.cc
|
| diff --git a/content/gpu/gpu_service_factory.cc b/content/gpu/gpu_service_factory.cc
|
| index 50696ce42043bcee8ad5b7ef5b4f9b0ccec75eac..1998cd262a2f5d259f1212e48bf203bcc95beb6e 100644
|
| --- a/content/gpu/gpu_service_factory.cc
|
| +++ b/content/gpu/gpu_service_factory.cc
|
| @@ -4,24 +4,35 @@
|
|
|
| #include "content/gpu/gpu_service_factory.h"
|
|
|
| +#include <memory>
|
| +
|
| +#include "base/threading/thread_task_runner_handle.h"
|
| +
|
| #if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
|
| #include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| -#include "media/mojo/services/media_service_factory.h" // nogncheck
|
| +#include "media/mojo/services/media_service_factory.h"
|
| #endif
|
|
|
| namespace content {
|
|
|
| -GpuServiceFactory::GpuServiceFactory() {}
|
| +GpuServiceFactory::GpuServiceFactory(
|
| + base::WeakPtr<media::MediaGpuChannelManager> media_gpu_channel_manager)
|
| + : task_runner_(base::ThreadTaskRunnerHandle::Get()),
|
| + media_gpu_channel_manager_(std::move(media_gpu_channel_manager)) {}
|
|
|
| GpuServiceFactory::~GpuServiceFactory() {}
|
|
|
| void GpuServiceFactory::RegisterServices(ServiceMap* services) {
|
| #if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
|
| ServiceInfo info;
|
| - info.factory = base::Bind(&media::CreateMediaService);
|
| + info.factory = base::Bind(&media::CreateGpuMediaService, task_runner_,
|
| + media_gpu_channel_manager_);
|
| info.use_own_thread = true;
|
| services->insert(std::make_pair("media", info));
|
| +#else
|
| + // Convince the compiler that |media_gpu_channel_manager_| is used, so that
|
| + // it does not emit a warning.
|
| + static_cast<void>(media_gpu_channel_manager_);
|
| #endif
|
| }
|
|
|
|
|