| Index: media/base/video_frame_unittest.cc
|
| diff --git a/media/base/video_frame_unittest.cc b/media/base/video_frame_unittest.cc
|
| index 05465d9b09dc1ec28751511bf97d205a71635378..271610d838a761590641e411b606a8c5668d2dae 100644
|
| --- a/media/base/video_frame_unittest.cc
|
| +++ b/media/base/video_frame_unittest.cc
|
| @@ -200,6 +200,39 @@ TEST(VideoFrame, CreateBlackFrame) {
|
| }
|
| }
|
|
|
| +static void FrameNoLongerNeededCallback(
|
| + const scoped_refptr<media::VideoFrame>& frame,
|
| + bool* triggered) {
|
| + *triggered = true;
|
| +}
|
| +
|
| +TEST(VideoFrame, WrapVideoFrame) {
|
| + const int kWidth = 4;
|
| + const int kHeight = 4;
|
| + scoped_refptr<media::VideoFrame> frame;
|
| + bool no_longer_needed_triggered = false;
|
| + {
|
| + scoped_refptr<media::VideoFrame> wrapped_frame =
|
| + VideoFrame::CreateBlackFrame(gfx::Size(kWidth, kHeight));
|
| + ASSERT_TRUE(wrapped_frame.get());
|
| +
|
| + gfx::Rect visible_rect(1, 1, 1, 1);
|
| + frame = media::VideoFrame::WrapVideoFrame(
|
| + wrapped_frame, visible_rect,
|
| + base::Bind(&FrameNoLongerNeededCallback, wrapped_frame,
|
| + &no_longer_needed_triggered));
|
| + EXPECT_EQ(wrapped_frame->coded_size(), frame->coded_size());
|
| + EXPECT_EQ(wrapped_frame->data(media::VideoFrame::kYPlane),
|
| + frame->data(media::VideoFrame::kYPlane));
|
| + EXPECT_NE(wrapped_frame->visible_rect(), frame->visible_rect());
|
| + EXPECT_EQ(visible_rect, frame->visible_rect());
|
| + }
|
| +
|
| + EXPECT_FALSE(no_longer_needed_triggered);
|
| + frame = NULL;
|
| + EXPECT_TRUE(no_longer_needed_triggered);
|
| +}
|
| +
|
| // Ensure each frame is properly sized and allocated. Will trigger OOB reads
|
| // and writes as well as incorrect frame hashes otherwise.
|
| TEST(VideoFrame, CheckFrameExtents) {
|
|
|