Index: chrome/gpu/chrome_content_gpu_client.cc |
diff --git a/chrome/gpu/chrome_content_gpu_client.cc b/chrome/gpu/chrome_content_gpu_client.cc |
index 9a32f37d1f864a171a259d5b99dbaf9d8ea0873f..19ce314c3726aaa98f82e26cfe63c305d85ef426 100644 |
--- a/chrome/gpu/chrome_content_gpu_client.cc |
+++ b/chrome/gpu/chrome_content_gpu_client.cc |
@@ -20,6 +20,7 @@ |
#include "services/service_manager/public/cpp/connector.h" |
#if defined(OS_CHROMEOS) |
+#include "chrome/gpu/gpu_arc_video_encode_accelerator.h" |
#include "chrome/gpu/gpu_arc_video_service.h" |
#include "content/public/common/service_manager_connection.h" |
#include "services/service_manager/public/cpp/binder_registry.h" |
@@ -68,6 +69,10 @@ void ChromeContentGpuClient::Initialize( |
base::Bind(&ChromeContentGpuClient::CreateArcVideoAcceleratorService, |
base::Unretained(this)), |
base::ThreadTaskRunnerHandle::Get()); |
+ registry->AddInterface( |
+ base::Bind(&ChromeContentGpuClient::CreateGpuArcVideoEncodeAccelerator, |
+ base::Unretained(this)), |
+ base::ThreadTaskRunnerHandle::Get()); |
#endif |
} |
@@ -94,4 +99,12 @@ void ChromeContentGpuClient::CreateArcVideoAcceleratorService( |
std::move(request)); |
} |
+void ChromeContentGpuClient::CreateGpuArcVideoEncodeAccelerator( |
+ const service_manager::BindSourceInfo& source_info, |
+ ::arc::mojom::VideoEncodeAcceleratorRequest request) { |
+ mojo::MakeStrongBinding( |
+ base::MakeUnique<chromeos::arc::GpuArcVideoEncodeAccelerator>( |
+ gpu_preferences_), |
+ std::move(request)); |
+} |
#endif |