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

Unified Diff: media/filters/chunk_demuxer_unittest.cc

Issue 7587012: Remove mock_ffmpeg and update media unittests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address CR comments. Created 9 years, 4 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/chunk_demuxer_unittest.cc
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc
index b26b757ea17b75a18a3b9f86f7d491c0285ecdf7..e6b3abab8469df58b0249198a02cbd485b52f74b 100644
--- a/media/filters/chunk_demuxer_unittest.cc
+++ b/media/filters/chunk_demuxer_unittest.cc
@@ -2,14 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/base_paths.h"
#include "base/bind.h"
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "media/base/media.h"
#include "media/base/mock_callback.h"
-#include "media/base/mock_ffmpeg.h"
#include "media/base/mock_filter_host.h"
+#include "media/base/test_data_util.h"
#include "media/filters/chunk_demuxer.h"
#include "media/filters/chunk_demuxer_client.h"
#include "media/webm/cluster_builder.h"
@@ -58,47 +54,12 @@ class ChunkDemuxerTest : public testing::Test{
ChunkDemuxerTest()
: client_(new MockChunkDemuxerClient()),
demuxer_(new ChunkDemuxer(client_.get())) {
- memset(&format_context_, 0, sizeof(format_context_));
- memset(&streams_, 0, sizeof(streams_));
- memset(&codecs_, 0, sizeof(codecs_));
-
- codecs_[VIDEO].codec_type = AVMEDIA_TYPE_VIDEO;
- codecs_[VIDEO].codec_id = CODEC_ID_VP8;
- codecs_[VIDEO].width = 320;
- codecs_[VIDEO].height = 240;
-
- codecs_[AUDIO].codec_type = AVMEDIA_TYPE_AUDIO;
- codecs_[AUDIO].codec_id = CODEC_ID_VORBIS;
- codecs_[AUDIO].channels = 2;
- codecs_[AUDIO].sample_rate = 44100;
}
virtual ~ChunkDemuxerTest() {
ShutdownDemuxer();
}
- void ReadFile(const std::string& name, scoped_array<uint8>* buffer,
- int* size) {
- FilePath file_path;
- EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &file_path));
- file_path = file_path.Append(FILE_PATH_LITERAL("media"))
- .Append(FILE_PATH_LITERAL("test"))
- .Append(FILE_PATH_LITERAL("data"))
- .AppendASCII(name);
-
- int64 tmp = 0;
- EXPECT_TRUE(file_util::GetFileSize(file_path, &tmp));
- EXPECT_LT(tmp, 32768);
- int file_size = static_cast<int>(tmp);
-
- buffer->reset(new uint8[file_size]);
- EXPECT_EQ(file_size,
- file_util::ReadFile(file_path,
- reinterpret_cast<char*>(buffer->get()),
- file_size));
- *size = file_size;
- }
-
void CreateInfoTracks(bool has_audio, bool has_video,
scoped_array<uint8>* buffer, int* size) {
scoped_array<uint8> info;
@@ -108,11 +69,11 @@ class ChunkDemuxerTest : public testing::Test{
scoped_array<uint8> video_track_entry;
int video_track_entry_size = 0;
- ReadFile("webm_info_element", &info, &info_size);
- ReadFile("webm_vorbis_track_entry", &audio_track_entry,
- &audio_track_entry_size);
- ReadFile("webm_vp8_track_entry", &video_track_entry,
- &video_track_entry_size);
+ ReadTestDataFile("webm_info_element", &info, &info_size);
+ ReadTestDataFile("webm_vorbis_track_entry", &audio_track_entry,
+ &audio_track_entry_size);
+ ReadTestDataFile("webm_vp8_track_entry", &video_track_entry,
+ &video_track_entry_size);
int tracks_element_size = 0;
@@ -159,24 +120,10 @@ class ChunkDemuxerTest : public testing::Test{
}
void AppendInfoTracks(bool has_audio, bool has_video) {
- EXPECT_CALL(mock_ffmpeg_, AVOpenInputFile(_, _, NULL, 0, NULL))
- .WillOnce(DoAll(SetArgumentPointee<0>(&format_context_),
- Return(0)));
-
- EXPECT_CALL(mock_ffmpeg_, AVFindStreamInfo(&format_context_))
- .WillOnce(Return(0));
-
- EXPECT_CALL(mock_ffmpeg_, AVCloseInputFile(&format_context_));
-
- EXPECT_CALL(mock_ffmpeg_, AVRegisterLockManager(_))
- .WillRepeatedly(Return(0));
-
scoped_array<uint8> info_tracks;
int info_tracks_size = 0;
CreateInfoTracks(has_audio, has_video, &info_tracks, &info_tracks_size);
- SetupAVFormatContext(has_audio, has_video);
-
AppendData(info_tracks.get(), info_tracks_size);
}
@@ -211,12 +158,6 @@ class ChunkDemuxerTest : public testing::Test{
EXPECT_CALL(*client_, DemuxerClosed());
demuxer_->Shutdown();
}
-
- if (format_context_.streams) {
- delete[] format_context_.streams;
- format_context_.streams = NULL;
- format_context_.nb_streams = 0;
- }
}
void AddSimpleBlock(ClusterBuilder* cb, int track_num, int64 timecode) {
@@ -226,41 +167,12 @@ class ChunkDemuxerTest : public testing::Test{
MOCK_METHOD1(Checkpoint, void(int id));
- MockFFmpeg mock_ffmpeg_;
MockFilterHost mock_filter_host_;
- AVFormatContext format_context_;
- AVCodecContext codecs_[MAX_CODECS_INDEX];
- AVStream streams_[MAX_CODECS_INDEX];
-
scoped_ptr<MockChunkDemuxerClient> client_;
scoped_refptr<ChunkDemuxer> demuxer_;
private:
- void SetupAVFormatContext(bool has_audio, bool has_video) {
- int i = 0;
- format_context_.streams = new AVStream*[MAX_CODECS_INDEX];
- if (has_audio) {
- format_context_.streams[i] = &streams_[i];
- streams_[i].codec = &codecs_[AUDIO];
- streams_[i].duration = 100;
- streams_[i].time_base.den = base::Time::kMicrosecondsPerSecond;
- streams_[i].time_base.num = 1;
- i++;
- }
-
- if (has_video) {
- format_context_.streams[i] = &streams_[i];
- streams_[i].codec = &codecs_[VIDEO];
- streams_[i].duration = 100;
- streams_[i].time_base.den = base::Time::kMicrosecondsPerSecond;
- streams_[i].time_base.num = 1;
- i++;
- }
-
- format_context_.nb_streams = i;
- }
-
DISALLOW_COPY_AND_ASSIGN(ChunkDemuxerTest);
};

Powered by Google App Engine
This is Rietveld 408576698