diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-03 18:50:03 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-03 18:50:03 +0000 |
commit | 6b723128f5c6b090b87949875dcc4e55304a4461 (patch) | |
tree | e842700264053ff9223e448cfee5a2f8d4651721 /chrome/renderer/gpu_video_decoder_host.h | |
parent | 861100f087f00a810bae058af90bbd31fcc9aa2b (diff) | |
download | chromium_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.h | 12 |
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_ - |