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 05cfc43f44e387a34514609ef5cd4b71c21cbccd..e5815ddbfad77f648592a1b037174170b7dd647c 100644 |
--- a/chrome/gpu/chrome_content_gpu_client.cc |
+++ b/chrome/gpu/chrome_content_gpu_client.cc |
@@ -21,6 +21,7 @@ |
#if defined(OS_CHROMEOS) |
#include "chrome/gpu/gpu_arc_video_decode_accelerator.h" |
+#include "chrome/gpu/gpu_arc_video_encode_accelerator.h" |
#include "content/public/common/service_manager_connection.h" |
#include "services/service_manager/public/cpp/binder_registry.h" |
#endif |
@@ -68,6 +69,10 @@ void ChromeContentGpuClient::Initialize( |
base::Bind(&ChromeContentGpuClient::CreateArcVideoDecodeAccelerator, |
base::Unretained(this)), |
base::ThreadTaskRunnerHandle::Get()); |
+ registry->AddInterface( |
+ base::Bind(&ChromeContentGpuClient::CreateArcVideoEncodeAccelerator, |
+ base::Unretained(this)), |
+ base::ThreadTaskRunnerHandle::Get()); |
#endif |
} |
@@ -95,4 +100,12 @@ void ChromeContentGpuClient::CreateArcVideoDecodeAccelerator( |
std::move(request)); |
} |
+void ChromeContentGpuClient::CreateArcVideoEncodeAccelerator( |
+ const service_manager::BindSourceInfo& source_info, |
+ ::arc::mojom::VideoEncodeAcceleratorRequest request) { |
+ mojo::MakeStrongBinding( |
+ base::MakeUnique<chromeos::arc::GpuArcVideoEncodeAccelerator>( |
+ gpu_preferences_), |
+ std::move(request)); |
+} |
#endif |