| 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..50f43a5ab28c0bb4478e6f59d8c17956070197a5 100644
|
| --- a/content/common/gpu/gpu_channel_manager.cc
|
| +++ b/content/common/gpu/gpu_channel_manager.cc
|
| @@ -15,6 +15,7 @@
|
| #include "content/common/gpu/gpu_memory_buffer_factory.h"
|
| #include "content/common/gpu/gpu_memory_manager.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
| +#include "content/common/gpu/media/gpu_arc_video_service.h"
|
| #include "content/common/message_router.h"
|
| #include "content/public/common/content_switches.h"
|
| #include "gpu/command_buffer/common/value_state.h"
|
| @@ -135,6 +136,8 @@ bool GpuChannelManager::OnControlMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(GpuMsg_CreateViewCommandBuffer,
|
| OnCreateViewCommandBuffer)
|
| IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer)
|
| + IPC_MESSAGE_HANDLER(GpuMsg_CreateArcVideoAcceleratorChannel,
|
| + OnCreateArcVideoAcceleratorChannel)
|
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader)
|
| IPC_MESSAGE_HANDLER(GpuMsg_UpdateValueState, OnUpdateValueState)
|
| #if defined(OS_ANDROID)
|
| @@ -244,6 +247,20 @@ void GpuChannelManager::OnDestroyGpuMemoryBuffer(
|
| DestroyGpuMemoryBuffer(id, client_id);
|
| }
|
|
|
| +void GpuChannelManager::OnCreateArcVideoAcceleratorChannel() {
|
| + if (!arc_video_service_) {
|
| + arc_video_service_.reset(
|
| + new GpuArcVideoService(this, shutdown_event_, io_task_runner_));
|
| + arc_video_service_->Initialize();
|
| + }
|
| +
|
| + arc_video_service_->CreateChannel();
|
| +}
|
| +
|
| +void GpuChannelManager::OnShutdownArcVideoService() {
|
| + arc_video_service_.reset();
|
| +}
|
| +
|
| void GpuChannelManager::OnUpdateValueState(
|
| int client_id, unsigned int target, const gpu::ValueState& state) {
|
| // Only pass updated state to the channel corresponding to the
|
|
|