Index: media/base/video_frame_unittest.cc |
diff --git a/media/base/video_frame_unittest.cc b/media/base/video_frame_unittest.cc |
index eabb21b0dc1edfd3aa8b7becf0d9808f086b910f..636a1a682ee4dd3661578698db8c96e18ebc5889 100644 |
--- a/media/base/video_frame_unittest.cc |
+++ b/media/base/video_frame_unittest.cc |
@@ -229,6 +229,8 @@ static void FrameNoLongerNeededCallback( |
TEST(VideoFrame, WrapVideoFrame) { |
const int kWidth = 4; |
const int kHeight = 4; |
+ const base::TimeDelta kFrameDuration = base::TimeDelta::FromMicroseconds(42); |
+ |
scoped_refptr<media::VideoFrame> frame; |
bool done_callback_was_run = false; |
{ |
@@ -238,11 +240,13 @@ TEST(VideoFrame, WrapVideoFrame) { |
gfx::Rect visible_rect(1, 1, 1, 1); |
gfx::Size natural_size = visible_rect.size(); |
- frame = media::VideoFrame::WrapVideoFrame( |
- wrapped_frame, visible_rect, natural_size); |
- frame->AddDestructionObserver( |
- base::Bind(&FrameNoLongerNeededCallback, wrapped_frame, |
- &done_callback_was_run)); |
+ wrapped_frame->metadata()->SetTimeDelta( |
+ media::VideoFrameMetadata::FRAME_DURATION, kFrameDuration); |
+ frame = media::VideoFrame::WrapVideoFrame(wrapped_frame, visible_rect, |
+ natural_size); |
+ frame->AddDestructionObserver(base::Bind( |
+ &FrameNoLongerNeededCallback, wrapped_frame, &done_callback_was_run)); |
+ |
EXPECT_EQ(wrapped_frame->coded_size(), frame->coded_size()); |
EXPECT_EQ(wrapped_frame->data(media::VideoFrame::kYPlane), |
frame->data(media::VideoFrame::kYPlane)); |
@@ -250,6 +254,23 @@ TEST(VideoFrame, WrapVideoFrame) { |
EXPECT_EQ(visible_rect, frame->visible_rect()); |
EXPECT_NE(wrapped_frame->natural_size(), frame->natural_size()); |
EXPECT_EQ(natural_size, frame->natural_size()); |
+ |
+ // Verify metada was copied to the wrapped frame |
watk
2016/03/02 21:25:16
s/metada/metadata
Full stop.
tguilbert
2016/03/03 21:42:04
Done.
|
+ base::TimeDelta frame_duration; |
+ bool frame_has_duration = frame->metadata()->GetTimeDelta( |
+ media::VideoFrameMetadata::FRAME_DURATION, &frame_duration); |
+ |
+ EXPECT_TRUE(frame_has_duration); |
+ if (frame_has_duration) { |
watk
2016/03/02 21:25:16
No need to handle !frame_has_duration because that
tguilbert
2016/03/03 21:42:04
Good to know, thank you for the tip.
|
+ EXPECT_EQ(frame_duration, kFrameDuration); |
+ |
+ // Verify the metadata copy was a deep copy |
watk
2016/03/02 21:25:16
Full stop.
tguilbert
2016/03/03 21:42:04
Done.
|
+ wrapped_frame->metadata()->Clear(); |
+ EXPECT_NE( |
+ wrapped_frame->metadata()->HasKey( |
+ media::VideoFrameMetadata::FRAME_DURATION), |
+ frame->metadata()->HasKey(media::VideoFrameMetadata::FRAME_DURATION)); |
+ } |
} |
EXPECT_FALSE(done_callback_was_run); |