| 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);
|
|
|