Index: media/cast/sender/video_sender_unittest.cc |
diff --git a/media/cast/sender/video_sender_unittest.cc b/media/cast/sender/video_sender_unittest.cc |
index 120d8c7678b624c30f2317f327607fc66617b083..7a13e16d7496534df7e6bf72c19ef8e2be95e8be 100644 |
--- a/media/cast/sender/video_sender_unittest.cc |
+++ b/media/cast/sender/video_sender_unittest.cc |
@@ -128,6 +128,20 @@ class PeerVideoSender : public VideoSender { |
base::Bind(&IgnorePlayoutDelayChanges)) {} |
using VideoSender::OnReceivedCastFeedback; |
}; |
+ |
+void CreateFrameAndMemsetPlane(VideoFrameFactory* const video_frame_factory) { |
+ auto video_frame = video_frame_factory->CreateFrame(base::TimeDelta()); |
+ ASSERT_TRUE(video_frame.get()); |
+ EXPECT_EQ(VideoFrame::I420, video_frame->format()); |
+ auto size = video_frame->coded_size(); |
+ EXPECT_EQ(kWidth, size.width()); |
+ EXPECT_EQ(kHeight, size.height()); |
+ memset(video_frame->data(VideoFrame::kYPlane), |
+ 0xfe, |
+ video_frame->rows(VideoFrame::kYPlane) * |
+ video_frame->stride(VideoFrame::kYPlane)); |
+} |
+ |
} // namespace |
class VideoSenderTest : public ::testing::Test { |
@@ -536,5 +550,15 @@ TEST_F(VideoSenderTest, AcksCancelRetransmits) { |
EXPECT_EQ(0, transport_.number_of_rtp_packets()); |
} |
+TEST_F(VideoSenderTest, CheckVideoFrameFactory) { |
+ EXPECT_EQ(STATUS_VIDEO_INITIALIZED, InitEncoder(false, true)); |
+ auto video_frame_factory = video_sender_->video_frame_factory(); |
+ ASSERT_TRUE(video_frame_factory.get()); |
+ CreateFrameAndMemsetPlane(video_frame_factory.get()); |
+ video_sender_.reset(NULL); |
+ task_runner_->RunTasks(); |
+ CreateFrameAndMemsetPlane(video_frame_factory.get()); |
+} |
+ |
} // namespace cast |
} // namespace media |