| Index: content/common/gpu/gpu_channel.cc
|
| diff --git a/content/common/gpu/gpu_channel.cc b/content/common/gpu/gpu_channel.cc
|
| index 5fe111e744a29fbd7d32e1c96288c93f53916aa9..1ca88f874d5b753e4a5a9188efb102499d37e551 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"
|
| @@ -761,9 +762,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)
|
| @@ -906,6 +910,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) {
|
|
|