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

Unified Diff: media/filters/ffmpeg_demuxer_unittest.cc

Issue 6648004: DemuxerFactory is born! (Closed)
Patch Set: Responses to scherkus@ CR Created 9 years, 9 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
« no previous file with comments | « media/filters/ffmpeg_demuxer_factory.cc ('k') | media/media.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_demuxer_unittest.cc
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc
index c4924934f724477c130f992db97e86bcc72fe18f..10c216238c95eaac430d085eefa81d2e3c6d84c5 100644
--- a/media/filters/ffmpeg_demuxer_unittest.cc
+++ b/media/filters/ffmpeg_demuxer_unittest.cc
@@ -72,6 +72,9 @@ class FFmpegDemuxerTest : public testing::Test {
demuxer_->set_host(&host_);
data_source_ = new StrictMock<MockDataSource>();
+ EXPECT_CALL(*data_source_, Stop(NotNull()))
+ .WillRepeatedly(Invoke(&RunStopFilterCallback));
+
// Initialize FFmpeg fixtures.
memset(&format_context_, 0, sizeof(format_context_));
memset(&input_format_, 0, sizeof(input_format_));
@@ -137,7 +140,8 @@ class FFmpegDemuxerTest : public testing::Test {
base::TimeDelta::FromMicroseconds(kDurations[AV_STREAM_AUDIO]);
EXPECT_CALL(host_, SetDuration(expected_duration));
- demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
+ demuxer_->Initialize(data_source_.get(),
+ NewExpectedStatusCallback(PIPELINE_OK));
message_loop_.RunAllPending();
}
@@ -175,9 +179,9 @@ TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
// Simulate av_open_input_file() failing.
EXPECT_CALL(mock_ffmpeg_, AVOpenInputFile(_, _, NULL, 0, NULL))
.WillOnce(Return(-1));
- EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_OPEN));
- demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
+ demuxer_->Initialize(data_source_.get(),
+ NewExpectedStatusCallback(DEMUXER_ERROR_COULD_NOT_OPEN));
message_loop_.RunAllPending();
}
@@ -188,9 +192,10 @@ TEST_F(FFmpegDemuxerTest, Initialize_ParseFails) {
EXPECT_CALL(mock_ffmpeg_, AVFindStreamInfo(&format_context_))
.WillOnce(Return(AVERROR_IO));
EXPECT_CALL(mock_ffmpeg_, AVCloseInputFile(&format_context_));
- EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_PARSE));
- demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
+ demuxer_->Initialize(
+ data_source_.get(),
+ NewExpectedStatusCallback(DEMUXER_ERROR_COULD_NOT_PARSE));
message_loop_.RunAllPending();
}
@@ -200,10 +205,11 @@ TEST_F(FFmpegDemuxerTest, Initialize_NoStreams) {
SCOPED_TRACE("");
InitializeDemuxerMocks();
}
- EXPECT_CALL(host_, SetError(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
format_context_.nb_streams = 0;
- demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
+ demuxer_->Initialize(
+ data_source_.get(),
+ NewExpectedStatusCallback(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
message_loop_.RunAllPending();
}
@@ -213,11 +219,12 @@ TEST_F(FFmpegDemuxerTest, Initialize_DataStreamOnly) {
SCOPED_TRACE("");
InitializeDemuxerMocks();
}
- EXPECT_CALL(host_, SetError(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
EXPECT_EQ(format_context_.streams[0], &streams_[AV_STREAM_DATA]);
format_context_.nb_streams = 1;
- demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
+ demuxer_->Initialize(
+ data_source_.get(),
+ NewExpectedStatusCallback(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
message_loop_.RunAllPending();
}
@@ -553,7 +560,11 @@ TEST_F(FFmpegDemuxerTest, Stop) {
scoped_refptr<DemuxerStream> audio = demuxer_->GetStream(DS_STREAM_AUDIO);
ASSERT_TRUE(audio);
- // Stop the demuxer.
+ // Stop the demuxer, overriding the default expectation to assert that
+ // data_source_ really is Stop()'d.
+ EXPECT_CALL(*data_source_, Stop(_))
+ .WillOnce(Invoke(&RunStopFilterCallback))
+ .RetiresOnSaturation();
demuxer_->Stop(NewExpectedCallback());
// Expect all calls in sequence.
« no previous file with comments | « media/filters/ffmpeg_demuxer_factory.cc ('k') | media/media.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698