| Index: media/filters/video_frame_stream_unittest.cc
|
| diff --git a/media/filters/video_frame_stream_unittest.cc b/media/filters/video_frame_stream_unittest.cc
|
| index 79a8d9fa3ddd2a141ea1db894733edc3867a1e37..fa95c81d1884cb83278fad1789c3d134bc04ff31 100644
|
| --- a/media/filters/video_frame_stream_unittest.cc
|
| +++ b/media/filters/video_frame_stream_unittest.cc
|
| @@ -108,6 +108,7 @@ class VideoFrameStreamTest : public testing::TestWithParam<bool> {
|
| DEMUXER_READ_NORMAL,
|
| DEMUXER_READ_CONFIG_CHANGE,
|
| DECODER_INIT,
|
| + DECODER_REINIT,
|
| DECODER_READ,
|
| DECODER_RESET,
|
| DECODER_STOP
|
| @@ -137,6 +138,12 @@ class VideoFrameStreamTest : public testing::TestWithParam<bool> {
|
| message_loop_.RunUntilIdle();
|
| break;
|
|
|
| + case DECODER_REINIT:
|
| + decoder_->HoldNextInit();
|
| + ReadUntilPending();
|
| + message_loop_.RunUntilIdle();
|
| + break;
|
| +
|
| case DECODER_READ:
|
| decoder_->HoldNextRead();
|
| ReadUntilPending();
|
| @@ -176,6 +183,10 @@ class VideoFrameStreamTest : public testing::TestWithParam<bool> {
|
| decoder_->SatisfyInit();
|
| break;
|
|
|
| + case DECODER_REINIT:
|
| + decoder_->SatisfyInit();
|
| + break;
|
| +
|
| case DECODER_READ:
|
| decoder_->SatisfyRead();
|
| break;
|
| @@ -269,12 +280,32 @@ TEST_P(VideoFrameStreamTest, Read_AfterReset) {
|
| ReadFrame();
|
| }
|
|
|
| +// No Reset() before initialization is successfully completed.
|
| +
|
| TEST_P(VideoFrameStreamTest, Reset_AfterInitialization) {
|
| Initialize();
|
| Reset();
|
| }
|
|
|
| -TEST_P(VideoFrameStreamTest, Reset_DuringNormalDemuxerRead) {
|
| +TEST_P(VideoFrameStreamTest, Reset_DuringReinitialization) {
|
| + Initialize();
|
| + EnterPendingState(DECODER_REINIT);
|
| + video_frame_stream_->Reset(
|
| + base::Bind(&VideoFrameStreamTest::OnReset, base::Unretained(this)));
|
| + EXPECT_CALL(*this, OnReset());
|
| + SatisfyPendingCallback(DECODER_REINIT);
|
| + ReadFrame();
|
| +}
|
| +
|
| +TEST_P(VideoFrameStreamTest, Reset_AfterReinitialization) {
|
| + Initialize();
|
| + EnterPendingState(DECODER_REINIT);
|
| + SatisfyPendingCallback(DECODER_REINIT);
|
| + Reset();
|
| + ReadFrame();
|
| +}
|
| +
|
| +TEST_P(VideoFrameStreamTest, Reset_DuringDemuxerRead_Normal) {
|
| Initialize();
|
| EnterPendingState(DEMUXER_READ_NORMAL);
|
| EnterPendingState(DECODER_RESET);
|
| @@ -282,7 +313,7 @@ TEST_P(VideoFrameStreamTest, Reset_DuringNormalDemuxerRead) {
|
| SatisfyPendingCallback(DECODER_RESET);
|
| }
|
|
|
| -TEST_P(VideoFrameStreamTest, Reset_DuringConfigChangeDemuxerRead) {
|
| +TEST_P(VideoFrameStreamTest, Reset_DuringDemuxerRead_ConfigChange) {
|
| Initialize();
|
| EnterPendingState(DEMUXER_READ_CONFIG_CHANGE);
|
| EnterPendingState(DECODER_RESET);
|
| @@ -304,7 +335,7 @@ TEST_P(VideoFrameStreamTest, Reset_AfterNormalRead) {
|
| Reset();
|
| }
|
|
|
| -TEST_P(VideoFrameStreamTest, Reset_AfterConfigChangeRead) {
|
| +TEST_P(VideoFrameStreamTest, Reset_AfterDemuxerRead_ConfigChange) {
|
| Initialize();
|
| EnterPendingState(DEMUXER_READ_CONFIG_CHANGE);
|
| SatisfyPendingCallback(DEMUXER_READ_CONFIG_CHANGE);
|
| @@ -331,7 +362,22 @@ TEST_P(VideoFrameStreamTest, Stop_AfterInitialization) {
|
| Stop();
|
| }
|
|
|
| -TEST_P(VideoFrameStreamTest, Stop_DuringNormalDemuxerRead) {
|
| +TEST_P(VideoFrameStreamTest, Stop_DuringReinitialization) {
|
| + Initialize();
|
| + EnterPendingState(DECODER_REINIT);
|
| + EnterPendingState(DECODER_STOP);
|
| + SatisfyPendingCallback(DECODER_REINIT);
|
| + SatisfyPendingCallback(DECODER_STOP);
|
| +}
|
| +
|
| +TEST_P(VideoFrameStreamTest, Stop_AfterReinitialization) {
|
| + Initialize();
|
| + EnterPendingState(DECODER_REINIT);
|
| + SatisfyPendingCallback(DECODER_REINIT);
|
| + Stop();
|
| +}
|
| +
|
| +TEST_P(VideoFrameStreamTest, Stop_DuringDemuxerRead_Normal) {
|
| Initialize();
|
| EnterPendingState(DEMUXER_READ_NORMAL);
|
| EnterPendingState(DECODER_STOP);
|
| @@ -339,7 +385,7 @@ TEST_P(VideoFrameStreamTest, Stop_DuringNormalDemuxerRead) {
|
| SatisfyPendingCallback(DECODER_STOP);
|
| }
|
|
|
| -TEST_P(VideoFrameStreamTest, Stop_DuringConfigChangeDemuxerRead) {
|
| +TEST_P(VideoFrameStreamTest, Stop_DuringDemuxerRead_ConfigChange) {
|
| Initialize();
|
| EnterPendingState(DEMUXER_READ_CONFIG_CHANGE);
|
| EnterPendingState(DECODER_STOP);
|
|
|