| Index: content/common/gpu/gpu_channel_manager.cc
|
| diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc
|
| index 60dbd9c2a58bdc7d1ba705bb8de4a1b6ee78ac24..9f4d35a2090aa87d710b9f3ebc9c683a6dd30a2e 100644
|
| --- a/content/common/gpu/gpu_channel_manager.cc
|
| +++ b/content/common/gpu/gpu_channel_manager.cc
|
| @@ -28,6 +28,10 @@
|
| #include "ui/gl/gl_bindings.h"
|
| #include "ui/gl/gl_share_group.h"
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +#include "content/common/gpu/media/gpu_arc_video_service.h"
|
| +#endif
|
| +
|
| namespace content {
|
|
|
| namespace {
|
| @@ -135,6 +139,10 @@ bool GpuChannelManager::OnControlMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(GpuMsg_CreateViewCommandBuffer,
|
| OnCreateViewCommandBuffer)
|
| IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer)
|
| +#if defined(OS_CHROMEOS)
|
| + IPC_MESSAGE_HANDLER(GpuMsg_CreateArcVideoAcceleratorChannel,
|
| + OnCreateArcVideoAcceleratorChannel)
|
| +#endif
|
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader)
|
| IPC_MESSAGE_HANDLER(GpuMsg_UpdateValueState, OnUpdateValueState)
|
| #if defined(OS_ANDROID)
|
| @@ -244,6 +252,28 @@ void GpuChannelManager::OnDestroyGpuMemoryBuffer(
|
| DestroyGpuMemoryBuffer(id, client_id);
|
| }
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +void GpuChannelManager::OnCreateArcVideoAcceleratorChannel() {
|
| + if (!gpu_arc_video_service_) {
|
| + gpu_arc_video_service_.reset(
|
| + new GpuArcVideoService(shutdown_event_, io_task_runner_));
|
| + }
|
| +
|
| + gpu_arc_video_service_->CreateChannel(
|
| + base::Bind(&GpuChannelManager::ArcVideoAcceleratorChannelCreated,
|
| + weak_factory_.GetWeakPtr()));
|
| +}
|
| +
|
| +void GpuChannelManager::ArcVideoAcceleratorChannelCreated(
|
| + const IPC::ChannelHandle& handle) {
|
| + Send(new GpuHostMsg_ArcVideoAcceleratorChannelCreated(handle));
|
| +}
|
| +
|
| +void GpuChannelManager::OnShutdownArcVideoService() {
|
| + gpu_arc_video_service_.reset();
|
| +}
|
| +#endif
|
| +
|
| void GpuChannelManager::OnUpdateValueState(
|
| int client_id, unsigned int target, const gpu::ValueState& state) {
|
| // Only pass updated state to the channel corresponding to the
|
|
|