| 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..1b5071b3145ef453260425755e506fa2c7d03469 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 UpdateVideoSourceToRespondToRequestRefreshFrame() {
|
| + 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) {
|
| + UpdateVideoSourceToRespondToRequestRefreshFrame();
|
| + 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
|
|
|