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

Unified Diff: media/filters/pipeline_integration_test.cc

Issue 10545066: Implement support for 2 source ids (1 for audio and 1 for video). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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
« no previous file with comments | « media/filters/chunk_demuxer_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/pipeline_integration_test.cc
diff --git a/media/filters/pipeline_integration_test.cc b/media/filters/pipeline_integration_test.cc
index f9a18ea1d05679948fda349e53e86e90ad54917c..2ad7b2ab51312910533908216a6f3aace4024c1d 100644
--- a/media/filters/pipeline_integration_test.cc
+++ b/media/filters/pipeline_integration_test.cc
@@ -21,10 +21,13 @@ static const char* kSourceId = "SourceId";
// Media Source API.
class MockMediaSource : public ChunkDemuxerClient {
public:
- MockMediaSource(const std::string& filename, int initial_append_size)
+ MockMediaSource(const std::string& filename, int initial_append_size,
+ bool has_audio, bool has_video)
: url_(GetTestDataURL(filename)),
current_position_(0),
- initial_append_size_(initial_append_size) {
+ initial_append_size_(initial_append_size),
+ has_audio_(has_audio),
+ has_video_(has_video) {
file_data_ = ReadTestDataFile(filename);
DCHECK_GT(initial_append_size_, 0);
@@ -77,9 +80,13 @@ class MockMediaSource : public ChunkDemuxerClient {
virtual void DemuxerOpened(ChunkDemuxer* demuxer) {
chunk_demuxer_ = demuxer;
- std::vector<std::string> codecs(2);
- codecs[0] = "vp8";
- codecs[1] = "vorbis";
+ std::vector<std::string> codecs;
+ if (has_audio_)
+ codecs.push_back("vorbis");
+
+ if (has_video_)
+ codecs.push_back("vp8");
+
chunk_demuxer_->AddId(kSourceId, "video/webm", codecs);
AppendData(initial_append_size_);
}
@@ -103,6 +110,8 @@ class MockMediaSource : public ChunkDemuxerClient {
scoped_refptr<DecoderBuffer> file_data_;
int current_position_;
int initial_append_size_;
+ bool has_audio_;
+ bool has_video_;
scoped_refptr<ChunkDemuxer> chunk_demuxer_;
AesDecryptor* decryptor_;
};
@@ -132,8 +141,10 @@ class PipelineIntegrationTest
base::TimeDelta start_seek_time,
base::TimeDelta seek_time,
int seek_file_position,
- int seek_append_size) {
- MockMediaSource source(filename, initial_append_size);
+ int seek_append_size,
+ bool has_audio,
+ bool has_video) {
+ MockMediaSource source(filename, initial_append_size, has_audio, has_video);
StartPipelineWithMediaSource(source);
if (pipeline_status_ != PIPELINE_OK)
@@ -176,7 +187,7 @@ TEST_F(PipelineIntegrationTest, BasicPlaybackHashed) {
}
TEST_F(PipelineIntegrationTest, EncryptedPlayback) {
- MockMediaSource source("bear-320x240-encrypted.webm", 219726);
+ MockMediaSource source("bear-320x240-encrypted.webm", 219726, true, true);
StartPipelineWithMediaSource(source);
source.EndOfStream();
@@ -238,7 +249,7 @@ TEST_F(PipelineIntegrationTest, ChunkDemuxerAbortRead_AudioOnly) {
ASSERT_TRUE(TestSeekDuringRead("bear-320x240-audio-only.webm", 8192,
base::TimeDelta::FromMilliseconds(464),
base::TimeDelta::FromMilliseconds(617),
- 0x10CA, 19730));
+ 0x10CA, 19730, true, false));
}
// Verify video decoder & renderer can handle aborted demuxer reads.
@@ -246,7 +257,7 @@ TEST_F(PipelineIntegrationTest, ChunkDemuxerAbortRead_VideoOnly) {
ASSERT_TRUE(TestSeekDuringRead("bear-320x240-video-only.webm", 32768,
base::TimeDelta::FromMilliseconds(200),
base::TimeDelta::FromMilliseconds(1668),
- 0x1C896, 65536));
+ 0x1C896, 65536, false, true));
}
} // namespace media
« no previous file with comments | « media/filters/chunk_demuxer_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698