summaryrefslogtreecommitdiffstats
path: root/media/filters
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:05:30 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-19 00:05:30 +0000
commit8b70f1e6b4909378f23fe1ebd6a75db6919a7155 (patch)
treee6c352189c573ac1f9d3a7f41a55463525112979 /media/filters
parent9444d4e59f5703da920d792141a78224861319bd (diff)
downloadchromium_src-8b70f1e6b4909378f23fe1ebd6a75db6919a7155.zip
chromium_src-8b70f1e6b4909378f23fe1ebd6a75db6919a7155.tar.gz
chromium_src-8b70f1e6b4909378f23fe1ebd6a75db6919a7155.tar.bz2
Retry: Move MockFFmpeg instance setting into the constructor/destructor.
Previously tests had to manually call MockFFmpeg::set() during test setup and teardown. Now that operation is handled automatically via scoping. BUG=72933 TEST=media_unittests Review URL: http://codereview.chromium.org/6539021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75472 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/filters')
-rw-r--r--media/filters/bitstream_converter_unittest.cc10
-rw-r--r--media/filters/ffmpeg_demuxer_unittest.cc96
-rw-r--r--media/filters/ffmpeg_glue_unittest.cc11
-rw-r--r--media/filters/ffmpeg_h264_bitstream_converter_unittest.cc1
-rw-r--r--media/filters/ffmpeg_video_decoder_unittest.cc6
5 files changed, 49 insertions, 75 deletions
diff --git a/media/filters/bitstream_converter_unittest.cc b/media/filters/bitstream_converter_unittest.cc
index 85ca34e..6efb225 100644
--- a/media/filters/bitstream_converter_unittest.cc
+++ b/media/filters/bitstream_converter_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -23,9 +23,6 @@ namespace media {
class BitstreamConverterTest : public testing::Test {
protected:
BitstreamConverterTest() {
- // Initialize MockFFmpeg.
- MockFFmpeg::set(&mock_ffmpeg_);
-
memset(&test_stream_context_, 0, sizeof(test_stream_context_));
memset(&test_filter_, 0, sizeof(test_filter_));
memset(&test_packet_, 0, sizeof(test_packet_));
@@ -33,10 +30,7 @@ class BitstreamConverterTest : public testing::Test {
test_packet_.size = kTestSize1;
}
- virtual ~BitstreamConverterTest() {
- // Reset MockFFmpeg.
- MockFFmpeg::set(NULL);
- }
+ virtual ~BitstreamConverterTest() {}
AVCodecContext test_stream_context_;
AVBitStreamFilterContext test_filter_;
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc
index aec72ea..c492493 100644
--- a/media/filters/ffmpeg_demuxer_unittest.cc
+++ b/media/filters/ffmpeg_demuxer_unittest.cc
@@ -105,9 +105,6 @@ class FFmpegDemuxerTest : public testing::Test {
streams_[i].time_base.den = 1 * base::Time::kMicrosecondsPerSecond;
streams_[i].time_base.num = 1;
}
-
- // Initialize MockFFmpeg.
- MockFFmpeg::set(&mock_ffmpeg_);
}
virtual ~FFmpegDemuxerTest() {
@@ -119,18 +116,15 @@ class FFmpegDemuxerTest : public testing::Test {
// Release the reference to the demuxer.
demuxer_ = NULL;
-
- // Reset MockFFmpeg.
- MockFFmpeg::set(NULL);
}
// Sets up MockFFmpeg to allow FFmpegDemuxer to successfully initialize.
void InitializeDemuxerMocks() {
- EXPECT_CALL(*MockFFmpeg::get(), AVOpenInputFile(_, _, NULL, 0, NULL))
+ EXPECT_CALL(mock_ffmpeg_, AVOpenInputFile(_, _, NULL, 0, NULL))
.WillOnce(DoAll(SetArgumentPointee<0>(&format_context_), Return(0)));
- EXPECT_CALL(*MockFFmpeg::get(), AVFindStreamInfo(&format_context_))
+ EXPECT_CALL(mock_ffmpeg_, AVFindStreamInfo(&format_context_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), AVCloseInputFile(&format_context_));
+ EXPECT_CALL(mock_ffmpeg_, AVCloseInputFile(&format_context_));
}
// Initializes both MockFFmpeg and FFmpegDemuxer.
@@ -179,7 +173,7 @@ const uint8* FFmpegDemuxerTest::kNullData = NULL;
TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
// Simulate av_open_input_file() failing.
- EXPECT_CALL(*MockFFmpeg::get(), AVOpenInputFile(_, _, NULL, 0, NULL))
+ EXPECT_CALL(mock_ffmpeg_, AVOpenInputFile(_, _, NULL, 0, NULL))
.WillOnce(Return(-1));
EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_OPEN));
@@ -189,11 +183,11 @@ TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
TEST_F(FFmpegDemuxerTest, Initialize_ParseFails) {
// Simulate av_find_stream_info() failing.
- EXPECT_CALL(*MockFFmpeg::get(), AVOpenInputFile(_, _, NULL, 0, NULL))
+ EXPECT_CALL(mock_ffmpeg_, AVOpenInputFile(_, _, NULL, 0, NULL))
.WillOnce(DoAll(SetArgumentPointee<0>(&format_context_), Return(0)));
- EXPECT_CALL(*MockFFmpeg::get(), AVFindStreamInfo(&format_context_))
+ EXPECT_CALL(mock_ffmpeg_, AVFindStreamInfo(&format_context_))
.WillOnce(Return(AVERROR_IO));
- EXPECT_CALL(*MockFFmpeg::get(), AVCloseInputFile(&format_context_));
+ EXPECT_CALL(mock_ffmpeg_, AVCloseInputFile(&format_context_));
EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_PARSE));
demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
@@ -270,14 +264,14 @@ TEST_F(FFmpegDemuxerTest, Read_DiscardUninteresting) {
}
// Ignore all AVFreePacket() calls. We check this elsewhere.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
// The demuxer will read a data packet which will get immediately freed,
// followed by a read error to end the reading.
InSequence s;
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_DATA, kNullData, 0));
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(Return(AVERROR_IO));
// Attempt a read from the audio stream and run the message loop until done.
@@ -301,13 +295,13 @@ TEST_F(FFmpegDemuxerTest, Read_Audio) {
}
// Ignore all AVFreePacket() calls. We check this via valgrind.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
// The demuxer will read a data packet which will get immediately freed,
// followed by reading an audio packet...
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kAudioData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
// Attempt a read from the audio stream and run the message loop until done.
@@ -333,12 +327,12 @@ TEST_F(FFmpegDemuxerTest, Read_Video) {
}
// Ignore all AVFreePacket() calls. We check this via valgrind.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
// Simulate a successful frame read.
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_VIDEO, kVideoData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
// Attempt a read from the video stream and run the message loop until done.
@@ -364,9 +358,9 @@ TEST_F(FFmpegDemuxerTest, Read_EndOfStream) {
}
// Ignore all AVFreePacket() calls. We check this via valgrind.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(Return(AVERROR_IO));
// We should now expect an end of stream buffer.
@@ -403,59 +397,59 @@ TEST_F(FFmpegDemuxerTest, Seek) {
const int64 kExpectedFlags = AVSEEK_FLAG_BACKWARD;
// Ignore all AVFreePacket() calls. We check this via valgrind.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
// Expect all calls in sequence.
InSequence s;
// First we'll read a video packet that causes two audio packets to be queued
// inside FFmpegDemuxer...
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kAudioData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kAudioData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_VIDEO, kVideoData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), CheckPoint(1));
+ EXPECT_CALL(mock_ffmpeg_, CheckPoint(1));
// ...then we'll expect a seek call...
- EXPECT_CALL(*MockFFmpeg::get(),
+ EXPECT_CALL(mock_ffmpeg_,
AVSeekFrame(&format_context_, -1, kExpectedTimestamp, kExpectedFlags))
.WillOnce(Return(0));
// ...then our callback will be executed...
FilterCallback* seek_callback = NewExpectedCallback();
- EXPECT_CALL(*MockFFmpeg::get(), CheckPoint(2));
+ EXPECT_CALL(mock_ffmpeg_, CheckPoint(2));
// ...followed by two audio packet reads we'll trigger...
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kAudioData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kAudioData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
// ...followed by two video packet reads...
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_VIDEO, kVideoData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_VIDEO, kVideoData, kDataSize));
- EXPECT_CALL(*MockFFmpeg::get(), AVDupPacket(_))
+ EXPECT_CALL(mock_ffmpeg_, AVDupPacket(_))
.WillOnce(Return(0));
// ...and finally a sanity checkpoint to make sure everything was released.
- EXPECT_CALL(*MockFFmpeg::get(), CheckPoint(3));
+ EXPECT_CALL(mock_ffmpeg_, CheckPoint(3));
// Read a video packet and release it.
scoped_refptr<DemuxerStreamReader> reader(new DemuxerStreamReader());
@@ -470,13 +464,13 @@ TEST_F(FFmpegDemuxerTest, Seek) {
// Release the video packet and verify the other packets are still queued.
reader->Reset();
message_loop_.RunAllPending();
- MockFFmpeg::get()->CheckPoint(1);
+ mock_ffmpeg_.CheckPoint(1);
// Issue a simple forward seek, which should discard queued packets.
demuxer_->Seek(base::TimeDelta::FromMicroseconds(kExpectedTimestamp),
seek_callback);
message_loop_.RunAllPending();
- MockFFmpeg::get()->CheckPoint(2);
+ mock_ffmpeg_.CheckPoint(2);
// Audio read #1.
reader->Read(audio);
@@ -520,7 +514,7 @@ TEST_F(FFmpegDemuxerTest, Seek) {
// Manually release the last reference to the buffer and verify it was freed.
reader->Reset();
message_loop_.RunAllPending();
- MockFFmpeg::get()->CheckPoint(3);
+ mock_ffmpeg_.CheckPoint(3);
}
// A mocked callback specialization for calling Read(). Since RunWithParams()
@@ -568,14 +562,14 @@ TEST_F(FFmpegDemuxerTest, Stop) {
// The callback should be immediately deleted. We'll use a checkpoint to
// verify that it has indeed been deleted.
EXPECT_CALL(*callback, OnDelete());
- EXPECT_CALL(*MockFFmpeg::get(), CheckPoint(1));
+ EXPECT_CALL(mock_ffmpeg_, CheckPoint(1));
// Attempt the read...
audio->Read(callback.release());
message_loop_.RunAllPending();
// ...and verify that |callback| was deleted.
- MockFFmpeg::get()->CheckPoint(1);
+ mock_ffmpeg_.CheckPoint(1);
}
TEST_F(FFmpegDemuxerTest, DisableAudioStream) {
@@ -593,17 +587,17 @@ TEST_F(FFmpegDemuxerTest, DisableAudioStream) {
message_loop_.RunAllPending();
// Ignore all AVFreePacket() calls. We check this via valgrind.
- EXPECT_CALL(*MockFFmpeg::get(), AVFreePacket(_)).Times(AnyNumber());
+ EXPECT_CALL(mock_ffmpeg_, AVFreePacket(_)).Times(AnyNumber());
// Expect all calls in sequence.
InSequence s;
// The demuxer will read an audio packet which will get immediately freed.
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(CreatePacketNoCount(AV_STREAM_AUDIO, kNullData, 0));
// Then an end-of-stream packet is read.
- EXPECT_CALL(*MockFFmpeg::get(), AVReadFrame(&format_context_, _))
+ EXPECT_CALL(mock_ffmpeg_, AVReadFrame(&format_context_, _))
.WillOnce(Return(AVERROR_IO));
// Get our streams.
diff --git a/media/filters/ffmpeg_glue_unittest.cc b/media/filters/ffmpeg_glue_unittest.cc
index f823669..3c09fcf 100644
--- a/media/filters/ffmpeg_glue_unittest.cc
+++ b/media/filters/ffmpeg_glue_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -36,12 +36,9 @@ class MockProtocol : public FFmpegURLProtocol {
class FFmpegGlueTest : public ::testing::Test {
public:
- FFmpegGlueTest() {
- }
+ FFmpegGlueTest() {}
virtual void SetUp() {
- MockFFmpeg::set(&mock_ffmpeg_);
-
// Singleton should initialize FFmpeg.
CHECK(FFmpegGlue::GetInstance());
@@ -50,10 +47,6 @@ class FFmpegGlueTest : public ::testing::Test {
CHECK(protocol_);
}
- virtual void TearDown() {
- MockFFmpeg::set(NULL);
- }
-
// Helper to open a URLContext pointing to the given mocked protocol.
// Callers are expected to close the context at the end of their test.
virtual void OpenContext(MockProtocol* protocol, URLContext* context) {
diff --git a/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc b/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc
index bf582f6..5799123 100644
--- a/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc
+++ b/media/filters/ffmpeg_h264_bitstream_converter_unittest.cc
@@ -270,7 +270,6 @@ class FFmpegH264BitstreamConverterTest : public testing::Test {
FFmpegH264BitstreamConverterTest() {
// Set up the ffmpeg mock and use our local fake functions to do the
// actual implementation for packet allocation / freeing.
- MockFFmpeg::set(&ffmpeg_mock_);
ON_CALL(ffmpeg_mock_, AVInitPacket(_))
.WillByDefault(Invoke(fake_av_init_packet));
ON_CALL(ffmpeg_mock_, AVNewPacket(_, _))
diff --git a/media/filters/ffmpeg_video_decoder_unittest.cc b/media/filters/ffmpeg_video_decoder_unittest.cc
index da87170..95acdc4 100644
--- a/media/filters/ffmpeg_video_decoder_unittest.cc
+++ b/media/filters/ffmpeg_video_decoder_unittest.cc
@@ -156,9 +156,6 @@ class FFmpegVideoDecoderTest : public testing::Test {
stream_.r_frame_rate.den = 1;
buffer_ = new DataBuffer(1);
end_of_stream_buffer_ = new DataBuffer(0);
-
- // Initialize MockFFmpeg.
- MockFFmpeg::set(&mock_ffmpeg_);
}
virtual ~FFmpegVideoDecoderTest() {
@@ -172,9 +169,6 @@ class FFmpegVideoDecoderTest : public testing::Test {
// Finish up any remaining tasks.
message_loop_.RunAllPending();
-
- // Reset MockFFmpeg.
- MockFFmpeg::set(NULL);
}
void InitializeDecoderSuccessfully() {