Index: content/renderer/media/rtc_video_decoder_unittest.cc |
=================================================================== |
--- content/renderer/media/rtc_video_decoder_unittest.cc (revision 109978) |
+++ content/renderer/media/rtc_video_decoder_unittest.cc (working copy) |
@@ -114,6 +114,8 @@ |
RTCVideoDecoderTest() { |
decoder_ = new RTCVideoDecoder(&message_loop_, kUrl); |
renderer_ = new MockVideoRenderer(); |
+ read_cb_ = base::Bind(&RTCVideoDecoderTest::FrameReady, |
+ base::Unretained(this)); |
DCHECK(decoder_); |
@@ -149,6 +151,7 @@ |
MockStatisticsCallback stats_callback_object_; |
StrictMock<MockFilterHost> host_; |
MessageLoop message_loop_; |
+ media::VideoDecoder::ReadCB read_cb_; |
private: |
DISALLOW_COPY_AND_ASSIGN(RTCVideoDecoderTest); |
@@ -180,6 +183,20 @@ |
EXPECT_EQ(RTCVideoDecoder::kNormal, decoder_->state_); |
} |
+TEST_F(RTCVideoDecoderTest, DoFlush) { |
+ const base::TimeDelta kZero; |
+ |
+ InitializeDecoderSuccessfully(); |
+ |
+ EXPECT_CALL(*this, FrameReady(_)); |
+ decoder_->Read(read_cb_); |
+ decoder_->Pause(media::NewExpectedClosure()); |
+ decoder_->Flush(media::NewExpectedClosure()); |
+ |
+ message_loop_.RunAllPending(); |
+ EXPECT_EQ(RTCVideoDecoder::kPaused, decoder_->state_); |
+} |
+ |
TEST_F(RTCVideoDecoderTest, DoRenderFrame) { |
const base::TimeDelta kZero; |
EXPECT_CALL(host_, GetTime()).WillRepeatedly(Return(base::TimeDelta())); |