Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Unified Diff: content/renderer/media/media_stream_video_track_unittest.cc

Issue 1829193003: Request frame for new sinks from MediaStreamVideoTrack (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: miu@ nit. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « content/renderer/media/media_stream_video_track.cc ('k') | content/renderer/media/mock_media_stream_video_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698