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

Unified Diff: media/renderers/renderer_impl_unittest.cc

Issue 1068593003: Introduce TimeSource notifications to the VideoRenderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Single call. Created 5 years, 8 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: media/renderers/renderer_impl_unittest.cc
diff --git a/media/renderers/renderer_impl_unittest.cc b/media/renderers/renderer_impl_unittest.cc
index 1dacbcc5ea85b58ca9787744e054bb3625508687..75fc0500dd18b820639cc9b05151c03fe5138af7 100644
--- a/media/renderers/renderer_impl_unittest.cc
+++ b/media/renderers/renderer_impl_unittest.cc
@@ -320,6 +320,41 @@ TEST_F(RendererImplTest, StartPlayingFrom) {
Play();
}
+TEST_F(RendererImplTest, StartPlayingFromWithPlaybackRate) {
+ InitializeWithAudioAndVideo();
+
+ // Play with a zero playback rate shouldn't start time.
+ Play();
+ Mock::VerifyAndClearExpectations(video_renderer_);
+
+ // Positive playback rate when ticking should start time.
+ EXPECT_CALL(*video_renderer_, OnTimeStateChanged(true));
+ SetPlaybackRate(1.0);
+ Mock::VerifyAndClearExpectations(video_renderer_);
+
+ // Double notifications shouldn't be sent.
+ SetPlaybackRate(1.0);
+ Mock::VerifyAndClearExpectations(video_renderer_);
+
+ // Zero playback rate should stop time.
+ EXPECT_CALL(*video_renderer_, OnTimeStateChanged(false));
+ SetPlaybackRate(0.0);
+ Mock::VerifyAndClearExpectations(video_renderer_);
+
+ // Double notifications shouldn't be sent.
+ SetPlaybackRate(0.0);
+ Mock::VerifyAndClearExpectations(video_renderer_);
+
+ // Starting playback and flushing should cause time to stop.
+ EXPECT_CALL(*video_renderer_, OnTimeStateChanged(true));
+ EXPECT_CALL(*video_renderer_, OnTimeStateChanged(false));
+ SetPlaybackRate(1.0);
+ Flush(false);
+
+ // A positive playback rate when playback isn't started should do nothing.
+ SetPlaybackRate(1.0);
+}
+
TEST_F(RendererImplTest, FlushAfterInitialization) {
InitializeWithAudioAndVideo();
Flush(true);

Powered by Google App Engine
This is Rietveld 408576698