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

Unified Diff: media/filters/video_frame_stream_unittest.cc

Issue 16274005: Separate DemuxerStream and VideoDecoder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: VideoFrameStream ready for review. Created 7 years, 6 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/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);

Powered by Google App Engine
This is Rietveld 408576698