Index: content/common/gpu/client/gpu_channel_host.cc |
diff --git a/content/common/gpu/client/gpu_channel_host.cc b/content/common/gpu/client/gpu_channel_host.cc |
index b4460bbb56e3d1e999349bca9e972f756bc3612b..75cc3b94ac39f6eba2dafde558d4f19bc08ec7aa 100644 |
--- a/content/common/gpu/client/gpu_channel_host.cc |
+++ b/content/common/gpu/client/gpu_channel_host.cc |
@@ -14,6 +14,7 @@ |
#include "base/threading/thread_restrictions.h" |
#include "base/trace_event/trace_event.h" |
#include "content/common/gpu/client/command_buffer_proxy_impl.h" |
+#include "content/common/gpu/client/gpu_jpeg_decode_accelerator_host.h" |
#include "content/common/gpu/gpu_messages.h" |
#include "ipc/ipc_sync_message_filter.h" |
#include "url/gurl.h" |
@@ -258,6 +259,21 @@ scoped_ptr<media::VideoEncodeAccelerator> GpuChannelHost::CreateVideoEncoder( |
return it->second->CreateVideoEncoder(); |
} |
+scoped_ptr<media::JpegDecodeAccelerator> GpuChannelHost::CreateJpegDecoder( |
+ media::JpegDecodeAccelerator::Client* client) { |
+ TRACE_EVENT0("gpu", "GpuChannelHost::CreateJpegDecoder"); |
+ |
+ int32 route_id = GenerateRouteID(); |
+ scoped_ptr<GpuJpegDecodeAcceleratorHost> decoder( |
+ new GpuJpegDecodeAcceleratorHost(this, route_id)); |
+ if (!decoder->Initialize(client)) { |
+ return nullptr; |
+ } |
+ AddRoute(route_id, decoder->AsWeakPtr()); |
+ |
+ return decoder.Pass(); |
+} |
+ |
void GpuChannelHost::DestroyCommandBuffer( |
CommandBufferProxyImpl* command_buffer) { |
TRACE_EVENT0("gpu", "GpuChannelHost::DestroyCommandBuffer"); |