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 |
} |