| Index: content/common/gpu/gpu_channel.cc
|
| diff --git a/content/common/gpu/gpu_channel.cc b/content/common/gpu/gpu_channel.cc
|
| index 2e26fac38c8d46fd40989c96e341067b1deff168..2b920d3a0704dfeffefb4c62887227867abed977 100644
|
| --- a/content/common/gpu/gpu_channel.cc
|
| +++ b/content/common/gpu/gpu_channel.cc
|
| @@ -20,6 +20,7 @@
|
| #include "base/timer/timer.h"
|
| #include "content/common/gpu/gpu_channel_manager.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
| +#include "content/common/gpu/media/gpu_video_encode_accelerator.h"
|
| #include "content/common/gpu/sync_point_manager.h"
|
| #include "content/public/common/content_switches.h"
|
| #include "crypto/hmac.h"
|
| @@ -754,9 +755,12 @@ bool GpuChannel::OnControlMessageReceived(const IPC::Message& msg) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(GpuChannel, msg)
|
| IPC_MESSAGE_HANDLER(GpuChannelMsg_CreateOffscreenCommandBuffer,
|
| - OnCreateOffscreenCommandBuffer)
|
| + OnCreateOffscreenCommandBuffer)
|
| IPC_MESSAGE_HANDLER(GpuChannelMsg_DestroyCommandBuffer,
|
| - OnDestroyCommandBuffer)
|
| + OnDestroyCommandBuffer)
|
| + IPC_MESSAGE_HANDLER(GpuChannelMsg_CreateVideoEncoder, OnCreateVideoEncoder)
|
| + IPC_MESSAGE_HANDLER(GpuChannelMsg_DestroyVideoEncoder,
|
| + OnDestroyVideoEncoder)
|
| #if defined(OS_ANDROID)
|
| IPC_MESSAGE_HANDLER(GpuChannelMsg_RegisterStreamTextureProxy,
|
| OnRegisterStreamTextureProxy)
|
| @@ -899,6 +903,26 @@ void GpuChannel::OnDestroyCommandBuffer(int32 route_id) {
|
| }
|
| }
|
|
|
| +void GpuChannel::OnCreateVideoEncoder(int32* route_id) {
|
| + TRACE_EVENT0("gpu", "GpuChannel::OnCreateVideoEncoder");
|
| +
|
| + *route_id = GenerateRouteID();
|
| + GpuVideoEncodeAccelerator* encoder =
|
| + new GpuVideoEncodeAccelerator(this, *route_id);
|
| + router_.AddRoute(*route_id, encoder);
|
| + video_encoders_.AddWithID(encoder, *route_id);
|
| +}
|
| +
|
| +void GpuChannel::OnDestroyVideoEncoder(int32 route_id) {
|
| + TRACE_EVENT1(
|
| + "gpu", "GpuChannel::OnDestroyVideoEncoder", "route_id", route_id);
|
| + GpuVideoEncodeAccelerator* encoder = video_encoders_.Lookup(route_id);
|
| + if (!encoder)
|
| + return;
|
| + router_.RemoveRoute(route_id);
|
| + video_encoders_.Remove(route_id);
|
| +}
|
| +
|
| #if defined(OS_ANDROID)
|
| void GpuChannel::OnRegisterStreamTextureProxy(
|
| int32 stream_id, int32* route_id) {
|
|
|