summaryrefslogtreecommitdiffstats
path: root/chrome/gpu/gpu_video_service.h
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 18:59:36 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 18:59:36 +0000
commit3b098bbef42fa93a2c17c96c888a65564191f767 (patch)
tree0509385a390e0ff9b348e96382c10074127319f6 /chrome/gpu/gpu_video_service.h
parentc7b7800afbf7aadb5c9f99c95209237cdf869678 (diff)
downloadchromium_src-3b098bbef42fa93a2c17c96c888a65564191f767.zip
chromium_src-3b098bbef42fa93a2c17c96c888a65564191f767.tar.gz
chromium_src-3b098bbef42fa93a2c17c96c888a65564191f767.tar.bz2
Implement GpuVideoDecoderHost and unit tests
Add the following feature to GpuVideoDecoderHost: 1. Video frame allocation / release. 2. ProduceVideoFrame / ConsumeVideoFrame using frames allocated. 3. Change GpuVideoDecoder creation to asynchronous. BUG=53714 TEST=unit_tests --gtest_filter=GpuVideoDecoder* Review URL: http://codereview.chromium.org/3397027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61824 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/gpu/gpu_video_service.h')
-rw-r--r--chrome/gpu/gpu_video_service.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/chrome/gpu/gpu_video_service.h b/chrome/gpu/gpu_video_service.h
index 0b446bb..a2c090e 100644
--- a/chrome/gpu/gpu_video_service.h
+++ b/chrome/gpu/gpu_video_service.h
@@ -22,32 +22,30 @@ class GpuVideoService : public IPC::Channel::Listener,
virtual void OnChannelError();
virtual void OnMessageReceived(const IPC::Message& message);
+ // TODO(hclam): Remove return value.
bool CreateVideoDecoder(GpuChannel* channel,
MessageRouter* router,
- GpuVideoDecoderInfoParam* param,
+ int32 decoder_host_id,
+ int32 decoder_id,
gpu::gles2::GLES2Decoder* gles2_decoder);
void DestroyVideoDecoder(MessageRouter* router,
int32 decoder_id);
private:
struct GpuVideoDecoderInfo {
- scoped_refptr<GpuVideoDecoder> decoder_;
- GpuChannel* channel_;
- GpuVideoDecoderInfoParam param;
+ scoped_refptr<GpuVideoDecoder> decoder;
+ GpuChannel* channel;
};
GpuVideoService();
virtual ~GpuVideoService();
std::map<int32, GpuVideoDecoderInfo> decoder_map_;
- int32 next_available_decoder_id_;
// Specialize video service on different platform will override.
virtual bool IntializeGpuVideoService();
virtual bool UnintializeGpuVideoService();
- int32 GetNextAvailableDecoderID();
-
friend struct DefaultSingletonTraits<GpuVideoService>;
DISALLOW_COPY_AND_ASSIGN(GpuVideoService);
};