diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 17:08:04 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 17:08:04 +0000 |
commit | 5986c0b4837956dfa15d0ad8a8e1fc14d66e7b21 (patch) | |
tree | b8454ba0ec8eb1efca8b50a36e0022a258cb1a88 /media/video/picture.h | |
parent | 54db01c704b1c32737a8d74cfd80a42a8b27082a (diff) | |
download | chromium_src-5986c0b4837956dfa15d0ad8a8e1fc14d66e7b21.zip chromium_src-5986c0b4837956dfa15d0ad8a8e1fc14d66e7b21.tar.gz chromium_src-5986c0b4837956dfa15d0ad8a8e1fc14d66e7b21.tar.bz2 |
[Re-instate r86681 by reverting its revert in r86687.]
Take 2: Updated OMX decoder for recent PPAPI changes, and added to the build.
Had to move from content/gpu to content/common/gpu to allow gpu_video_service.cc
to depend on the decoder.
Removed some dead code and did some random cleanup while I was in there.
BUG=none
TEST=chrome compiles on cros/arm!
Review URL: http://codereview.chromium.org/6992087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86841 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/video/picture.h')
-rw-r--r-- | media/video/picture.h | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/media/video/picture.h b/media/video/picture.h index f9611bd..860a4ee 100644 --- a/media/video/picture.h +++ b/media/video/picture.h @@ -15,12 +15,13 @@ struct PP_SysmemBuffer_Dev; namespace media { -// Information about the picture buffer. +// Common information about GLES & Sysmem picture buffers. // This is the media-namespace equivalent of PP_BufferInfo_Dev. -class BufferInfo { +class BaseBuffer { public: - BufferInfo(int32 id, gfx::Size size); - BufferInfo(const PP_BufferInfo_Dev& info); + BaseBuffer(int32 id, gfx::Size size); + BaseBuffer(const PP_BufferInfo_Dev& info); + virtual ~BaseBuffer(); // Returns the client-specified id of the buffer. int32 id() const { @@ -39,7 +40,7 @@ class BufferInfo { // A picture buffer that is composed of a GLES2 texture and context. // This is the media-namespace equivalent of PP_GLESBuffer_Dev. -class GLESBuffer { +class GLESBuffer : public BaseBuffer { public: GLESBuffer(int32 id, gfx::Size size, uint32 texture_id, uint32 context_id); GLESBuffer(const PP_GLESBuffer_Dev& buffer); @@ -56,20 +57,14 @@ class GLESBuffer { return context_id_; } - // Returns information regarding the buffer. - const BufferInfo& buffer_info() const { - return info_; - } - private: uint32 texture_id_; uint32 context_id_; - BufferInfo info_; }; // A picture buffer that lives in system memory. // This is the media-namespace equivalent of PP_SysmemBuffer_Dev. -class SysmemBuffer { +class SysmemBuffer : public BaseBuffer { public: SysmemBuffer(int32 id, gfx::Size size, void* data); SysmemBuffer(const PP_SysmemBuffer_Dev&); @@ -79,14 +74,8 @@ class SysmemBuffer { return data_; } - // Returns information regarding the buffer. - const BufferInfo& buffer_info() const { - return info_; - } - private: void* data_; - BufferInfo info_; }; // A decoded picture frame. @@ -103,7 +92,9 @@ class Picture { } // Returns the id of the bitstream buffer from which this frame was decoded. - // TODO(vrk): Handle the case where a picture can span multiple buffers. + // TODO(fischman,vrk): Remove this field; pictures can span arbitrarily many + // BitstreamBuffers, and it's not clear what clients would do with this + // information, anyway. int32 bitstream_buffer_id() const { return bitstream_buffer_id_; } |