Chromium Code Reviews| Index: media/filters/pipeline_integration_test.cc |
| diff --git a/media/filters/pipeline_integration_test.cc b/media/filters/pipeline_integration_test.cc |
| index e79f631b72b307e4ab1f2b1d90e731425b020185..0ff2d3cf20d5266545dcd1b738abc4d6053477d1 100644 |
| --- a/media/filters/pipeline_integration_test.cc |
| +++ b/media/filters/pipeline_integration_test.cc |
| @@ -11,6 +11,7 @@ |
| #include "build/build_config.h" |
| #include "media/base/decoder_buffer.h" |
| #include "media/base/media_keys.h" |
| +#include "media/base/media_switches.h" |
| #include "media/base/test_data_util.h" |
| #include "media/cdm/aes_decryptor.h" |
| #include "media/filters/chunk_demuxer.h" |
| @@ -33,6 +34,7 @@ static const char kMP4Video[] = "video/mp4; codecs=\"avc1.4D4041\""; |
| static const char kMP4Audio[] = "audio/mp4; codecs=\"mp4a.40.2\""; |
| static const char kMP4AudioType[] = "audio/mp4"; |
| static const char kMP4VideoType[] = "video/mp4"; |
| +static const char kMP3[] = "audio/mpeg"; |
| // Key used to encrypt test files. |
| static const uint8 kSecretKey[] = { |
| @@ -285,12 +287,15 @@ class MockMediaSource { |
| void DemuxerOpenedTask() { |
| size_t semicolon = mimetype_.find(";"); |
| - std::string type = mimetype_.substr(0, semicolon); |
| - size_t quote1 = mimetype_.find("\""); |
| - size_t quote2 = mimetype_.find("\"", quote1 + 1); |
| - std::string codecStr = mimetype_.substr(quote1 + 1, quote2 - quote1 - 1); |
| + std::string type = mimetype_; |
| std::vector<std::string> codecs; |
| - Tokenize(codecStr, ",", &codecs); |
| + if (semicolon != std::string::npos) { |
| + type = mimetype_.substr(0, semicolon); |
| + size_t quote1 = mimetype_.find("\""); |
| + size_t quote2 = mimetype_.find("\"", quote1 + 1); |
| + std::string codecStr = mimetype_.substr(quote1 + 1, quote2 - quote1 - 1); |
| + Tokenize(codecStr, ",", &codecs); |
| + } |
| CHECK_EQ(chunk_demuxer_->AddId(kSourceId, type, codecs), ChunkDemuxer::kOk); |
| AppendData(initial_append_size_); |
| @@ -627,6 +632,19 @@ TEST_F(PipelineIntegrationTest, |
| } |
| #if defined(USE_PROPRIETARY_CODECS) |
| +TEST_F(PipelineIntegrationTest, MediaSource_MP3) { |
| + CommandLine::ForCurrentProcess()->AppendSwitch( |
| + switches::kEnableMP3StreamParser); |
|
scherkus (not reviewing)
2013/08/30 00:06:11
this is modifying global state mid-test-suite
it'
acolwell GONE FROM CHROMIUM
2013/08/30 01:42:22
Done.
|
| + |
| + MockMediaSource source("sfx.mp3", kMP3, kAppendWholeFile); |
| + StartPipelineWithMediaSource(&source); |
| + source.EndOfStream(); |
| + |
| + Play(); |
| + |
| + EXPECT_TRUE(WaitUntilOnEnded()); |
| +} |
| + |
| TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_MP4) { |
| MockMediaSource source("bear-640x360-av_frag.mp4", kMP4, kAppendWholeFile); |
| StartPipelineWithMediaSource(&source); |