summaryrefslogtreecommitdiffstats
path: root/media/base/video_frame_unittest.cc
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 20:35:35 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-14 20:35:35 +0000
commit629b32899929cc043154ee54a4bf6364eccf5ce6 (patch)
tree77fb9a472f5b8302d20b836b21992e7e753968bb /media/base/video_frame_unittest.cc
parent77d7aeebd314325c40d602bdaffe9342e3f4e29e (diff)
downloadchromium_src-629b32899929cc043154ee54a4bf6364eccf5ce6.zip
chromium_src-629b32899929cc043154ee54a4bf6364eccf5ce6.tar.gz
chromium_src-629b32899929cc043154ee54a4bf6364eccf5ce6.tar.bz2
Add a private opaque pointer option to VideoFrame.
This will allow using types such as EGLImageKHR for decoding and rendering. Patch by wjia@google.com: http://codereview.chromium.org/2008005/show BUG=none TEST=compiles Review URL: http://codereview.chromium.org/2137001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47307 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/video_frame_unittest.cc')
-rw-r--r--media/base/video_frame_unittest.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/media/base/video_frame_unittest.cc b/media/base/video_frame_unittest.cc
index 27e15dc..caa5675 100644
--- a/media/base/video_frame_unittest.cc
+++ b/media/base/video_frame_unittest.cc
@@ -119,6 +119,8 @@ TEST(VideoFrame, CreateFrame) {
EXPECT_FALSE(frame->IsDiscontinuous());
// Test VideoFrame implementation.
+ EXPECT_EQ(media::VideoFrame::TYPE_SYSTEM_MEMORY, frame->type());
+ EXPECT_EQ(media::VideoFrame::YV12, frame->format());
{
SCOPED_TRACE("");
InitializeYV12Frame(frame, 0.0f);
@@ -173,4 +175,24 @@ TEST(VideoFrame, CreateBlackFrame) {
}
}
+TEST(VideoFrame, CreatePrivateFrame) {
+ void* private_buffer = NULL;
+ const base::TimeDelta kTimestampA = base::TimeDelta::FromMicroseconds(1337);
+ const base::TimeDelta kDurationA = base::TimeDelta::FromMicroseconds(1667);
+
+ // Create an EGL Frame.
+ scoped_refptr<media::VideoFrame> frame;
+ VideoFrame::CreatePrivateFrame(media::VideoFrame::TYPE_EGL_IMAGE,
+ media::VideoFrame::RGBA, 0, 0,
+ kTimestampA, kDurationA,
+ private_buffer, &frame);
+ ASSERT_TRUE(frame);
+
+ // Test |frame| properties.
+ EXPECT_EQ(media::VideoFrame::TYPE_EGL_IMAGE, frame->type());
+ EXPECT_EQ(media::VideoFrame::RGBA, frame->format());
+ EXPECT_EQ(private_buffer, frame->private_buffer());
+ EXPECT_EQ(NULL, frame->data(VideoFrame::kYPlane));
+}
+
} // namespace media