diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-03 18:57:24 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-03 18:57:24 +0000 |
commit | 1cfb7420fb7ea2fa5a6360bbee5424918e84a027 (patch) | |
tree | 6ca1fd441d8675a06370fc54ac06bcbeb099b5fa /chrome/gpu/gpu_video_decoder.h | |
parent | 6b723128f5c6b090b87949875dcc4e55304a4461 (diff) | |
download | chromium_src-1cfb7420fb7ea2fa5a6360bbee5424918e84a027.zip chromium_src-1cfb7420fb7ea2fa5a6360bbee5424918e84a027.tar.gz chromium_src-1cfb7420fb7ea2fa5a6360bbee5424918e84a027.tar.bz2 |
Complete initializing a GPU video decoder in a GLES2 context
In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the
renderer process. In the GPU process the GpuVideoDecoder is connected to a
gles2::GLES2Decoder.
These changes will be used in the future to switch context before issuing
video decode commands. This is also needed by the GPU process to translate
a client texture ID to a service texture ID in the GPU video decoder.
BUG=53714
TEST=none
Review URL: http://codereview.chromium.org/3266008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58518 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/gpu/gpu_video_decoder.h')
-rw-r--r-- | chrome/gpu/gpu_video_decoder.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/chrome/gpu/gpu_video_decoder.h b/chrome/gpu/gpu_video_decoder.h index 977cd02..d47085a 100644 --- a/chrome/gpu/gpu_video_decoder.h +++ b/chrome/gpu/gpu_video_decoder.h @@ -13,14 +13,20 @@ #include "media/video/video_decode_engine.h" #include "ipc/ipc_channel.h" -class GpuChannel; - using media::VideoCodecConfig; using media::VideoCodecInfo; using media::VideoStreamInfo; using media::VideoFrame; using media::Buffer; +namespace gpu { +namespace gles2 { +class GLES2Decoder; +} // namespace gles2 +} // namespace gpu + +class GpuChannel; + class GpuVideoDecoder : public IPC::Channel::Listener, public base::RefCountedThreadSafe<GpuVideoDecoder>, @@ -44,7 +50,8 @@ class GpuVideoDecoder GpuVideoDecoder(const GpuVideoDecoderInfoParam* param, GpuChannel* channel_, - base::ProcessHandle handle); + base::ProcessHandle handle, + gpu::gles2::GLES2Decoder* decoder); virtual ~GpuVideoDecoder() {} private: @@ -66,6 +73,11 @@ class GpuVideoDecoder GpuChannel* channel_; base::ProcessHandle renderer_handle_; + // The GLES2 decoder has the context associated with this decoder. This object + // is used to switch GLES2 context and translate client texture ID to service + // ID. + gpu::gles2::GLES2Decoder* gles2_decoder_; + scoped_ptr<base::SharedMemory> input_transfer_buffer_; scoped_ptr<base::SharedMemory> output_transfer_buffer_; |