summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/gpu_video_decoder_host.h
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-03 18:50:03 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-03 18:50:03 +0000
commit6b723128f5c6b090b87949875dcc4e55304a4461 (patch)
treee842700264053ff9223e448cfee5a2f8d4651721 /chrome/renderer/gpu_video_decoder_host.h
parent861100f087f00a810bae058af90bbd31fcc9aa2b (diff)
downloadchromium_src-6b723128f5c6b090b87949875dcc4e55304a4461.zip
chromium_src-6b723128f5c6b090b87949875dcc4e55304a4461.tar.gz
chromium_src-6b723128f5c6b090b87949875dcc4e55304a4461.tar.bz2
Connect GpuVideoDecodeServiceHost with ggl::Context and CommandBufferProxy
BUG=53714 A GpuVideoDecodeServiceHost needs to be connected with a ggl::Contect and its associated comand buffer for the following reasons: 1. The gpu video decoder in gpu process needs to be in the correct GLES2 context. 2. On context lost the gpu video decoder needs to destroy itself. This patch is able to connect the GpuVideoDecoderHost to the context although the context is not passed into the decoder, so the code path is currently broken. In a future patch we need to do the following: 1. Inject a ggl::Context into IpcVideoDecoder. 2. Complete the plumbing so that inside the gpu process we can associate a video decoder with a GLES2 context. Review URL: http://codereview.chromium.org/3215008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58517 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/gpu_video_decoder_host.h')
-rw-r--r--chrome/renderer/gpu_video_decoder_host.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/chrome/renderer/gpu_video_decoder_host.h b/chrome/renderer/gpu_video_decoder_host.h
index af88561..8360461 100644
--- a/chrome/renderer/gpu_video_decoder_host.h
+++ b/chrome/renderer/gpu_video_decoder_host.h
@@ -47,7 +47,7 @@ class GpuVideoDecoderHost
virtual void OnChannelError();
virtual void OnMessageReceived(const IPC::Message& message);
- bool Initialize(const GpuVideoDecoderInitParam& param);
+ bool Initialize(EventHandler* handler, const GpuVideoDecoderInitParam& param);
bool Uninitialize();
void EmptyThisBuffer(scoped_refptr<Buffer> buffer);
void FillThisBuffer(scoped_refptr<VideoFrame> frame);
@@ -60,12 +60,10 @@ class GpuVideoDecoderHost
virtual ~GpuVideoDecoderHost() {}
private:
+ friend class GpuVideoServiceHost;
GpuVideoDecoderHost(GpuVideoServiceHost* service_host,
GpuChannelHost* channel_host,
- EventHandler* event_handler,
- GpuVideoDecoderInfoParam decoder_info);
-
- friend class GpuVideoServiceHost;
+ int context_route_id);
// Input message handler.
void OnInitializeDone(const GpuVideoDecoderInitDoneParam& param);
@@ -83,6 +81,9 @@ class GpuVideoDecoderHost
GpuChannelHost* channel_host_;
+ // Route ID of the GLES2 context in the GPU process.
+ int context_route_id_;
+
// We expect that the client of us will always available during our life span.
EventHandler* event_handler_;
@@ -117,4 +118,3 @@ class GpuVideoDecoderHost
};
#endif // CHROME_RENDERER_GPU_VIDEO_DECODER_HOST_H_
-