| Index: content/renderer/media/media_stream_video_track_unittest.cc
|
| diff --git a/content/renderer/media/media_stream_video_track_unittest.cc b/content/renderer/media/media_stream_video_track_unittest.cc
|
| index 8de755e66530d85663315dfe36aa1bbd9a032b03..466d38576fbe87bb6b4581a89a4e5386826c4381 100644
|
| --- a/content/renderer/media/media_stream_video_track_unittest.cc
|
| +++ b/content/renderer/media/media_stream_video_track_unittest.cc
|
| @@ -82,6 +82,16 @@ class MediaStreamVideoTrackTest : public ::testing::Test {
|
| return track;
|
| }
|
|
|
| + void UpdateVideoSourceToRequestFrame() {
|
| + blink_source_.reset();
|
| + mock_source_ = new MockMediaStreamVideoSource(false, true);
|
| + blink_source_.initialize(base::UTF8ToUTF16("dummy_source_id"),
|
| + blink::WebMediaStreamSource::TypeVideo,
|
| + base::UTF8ToUTF16("dummy_source_name"),
|
| + false /* remote */, true /* readonly */);
|
| + blink_source_.setExtraData(mock_source_);
|
| + }
|
| +
|
| MockMediaStreamVideoSource* mock_source() { return mock_source_; }
|
| const blink::WebMediaStreamSource& blink_source() const {
|
| return blink_source_;
|
| @@ -232,4 +242,20 @@ TEST_F(MediaStreamVideoTrackTest, StopLastTrack) {
|
| MediaStreamVideoSink::RemoveFromVideoTrack(&sink2, track2);
|
| }
|
|
|
| +TEST_F(MediaStreamVideoTrackTest, CheckTrackRequestsFrame) {
|
| + UpdateVideoSourceToRequestFrame();
|
| + blink::WebMediaStreamTrack track = CreateTrack();
|
| +
|
| + // Add sink and expect to get a frame.
|
| + MockMediaStreamVideoSink sink;
|
| + base::RunLoop run_loop;
|
| + base::Closure quit_closure = run_loop.QuitClosure();
|
| + EXPECT_CALL(sink, OnVideoFrame()).WillOnce(RunClosure(quit_closure));
|
| + MediaStreamVideoSink::AddToVideoTrack(&sink, sink.GetDeliverFrameCB(), track);
|
| + run_loop.Run();
|
| + EXPECT_EQ(1, sink.number_of_frames());
|
| +
|
| + MediaStreamVideoSink::RemoveFromVideoTrack(&sink, track);
|
| +}
|
| +
|
| } // namespace content
|
|
|