Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1619)

Unified Diff: content/common/gpu/client/gpu_channel_host.cc

Issue 1016773002: MJPEG acceleration for video capture using VAAPI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix many thread issues Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 aa47e2fd677bad9d115abb27209433292689fe57..2ea29e3660c63ee0e6b58c40a817b72aac7b5eff 100644
--- a/content/common/gpu/client/gpu_channel_host.cc
+++ b/content/common/gpu/client/gpu_channel_host.cc
@@ -13,6 +13,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"
@@ -297,6 +298,21 @@ void GpuChannelHost::RemoveRoute(int route_id) {
channel_filter_.get(), route_id));
}
+GpuJpegDecodeAcceleratorHost* GpuChannelHost::CreateJpegDecoder() {
+ TRACE_EVENT0("gpu", "GpuChannelHost::CreateJpegDecoder");
+
+ int32 route_id = GenerateRouteID();
+ GpuJpegDecodeAcceleratorHost* decoder =
+ new GpuJpegDecodeAcceleratorHost(this, route_id);
+
+ scoped_refptr<base::MessageLoopProxy> io_loop = factory_->GetIOLoopProxy();
+ io_loop->PostTask(FROM_HERE,
+ base::Bind(&GpuChannelHost::MessageFilter::AddRoute,
+ channel_filter_.get(), route_id, decoder->AsWeakPtr(),
wuchengli 2015/04/14 09:41:44 80 char align?
kcwu 2015/04/14 20:02:35 Done.
+ io_loop));
+ return decoder;
+}
+
base::SharedMemoryHandle GpuChannelHost::ShareToGpuProcess(
base::SharedMemoryHandle source_handle) {
if (IsLost())

Powered by Google App Engine
This is Rietveld 408576698