summaryrefslogtreecommitdiffstats
path: root/media/video/picture.h
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 17:08:04 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 17:08:04 +0000
commit5986c0b4837956dfa15d0ad8a8e1fc14d66e7b21 (patch)
treeb8454ba0ec8eb1efca8b50a36e0022a258cb1a88 /media/video/picture.h
parent54db01c704b1c32737a8d74cfd80a42a8b27082a (diff)
downloadchromium_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.h29
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_;
}