Chromium Code Reviews| Index: media/base/audio_video_metadata_extractor_unittest.cc |
| diff --git a/media/base/audio_video_metadata_extractor_unittest.cc b/media/base/audio_video_metadata_extractor_unittest.cc |
| index d7b3bbf594b4ac4f54444ed5273c40162d29de21..3af9194ee55dc446ed3a37bf03dfd3dfd99eb3ea 100644 |
| --- a/media/base/audio_video_metadata_extractor_unittest.cc |
| +++ b/media/base/audio_video_metadata_extractor_unittest.cc |
| @@ -14,6 +14,7 @@ namespace media { |
| scoped_ptr<AudioVideoMetadataExtractor> GetExtractor( |
| const std::string& filename, |
| + bool extract_attached_images, |
| bool expected_result, |
| double expected_duration, |
| int expected_width, |
| @@ -23,7 +24,7 @@ scoped_ptr<AudioVideoMetadataExtractor> GetExtractor( |
| scoped_ptr<AudioVideoMetadataExtractor> extractor( |
| new AudioVideoMetadataExtractor); |
| - bool extracted = extractor->Extract(&source); |
| + bool extracted = extractor->Extract(&source, extract_attached_images); |
| EXPECT_EQ(expected_result, extracted); |
| if (!extracted) |
| @@ -38,12 +39,12 @@ scoped_ptr<AudioVideoMetadataExtractor> GetExtractor( |
| } |
| TEST(AudioVideoMetadataExtractorTest, InvalidFile) { |
| - GetExtractor("ten_byte_file", false, 0, -1, -1); |
| + GetExtractor("ten_byte_file", true, false, 0, -1, -1); |
| } |
| TEST(AudioVideoMetadataExtractorTest, AudioOGG) { |
| scoped_ptr<AudioVideoMetadataExtractor> extractor = |
| - GetExtractor("9ch.ogg", true, 0, -1, -1); |
| + GetExtractor("9ch.ogg", true, true, 0, -1, -1); |
| EXPECT_EQ("Processed by SoX", extractor->comment()); |
| EXPECT_EQ("ogg", extractor->stream_infos()[0].type); |
| @@ -55,11 +56,13 @@ TEST(AudioVideoMetadataExtractorTest, AudioOGG) { |
| EXPECT_EQ("vorbis", extractor->stream_infos()[1].type); |
| EXPECT_EQ("Processed by SoX", |
| extractor->stream_infos()[1].tags.find("COMMENT")->second); |
| + |
| + EXPECT_EQ(0u, extractor->attached_images_bytes().size()); |
| } |
| TEST(AudioVideoMetadataExtractorTest, AudioWAV) { |
| scoped_ptr<AudioVideoMetadataExtractor> extractor = |
| - GetExtractor("sfx_u8.wav", true, 0, -1, -1); |
| + GetExtractor("sfx_u8.wav", true, true, 0, -1, -1); |
| EXPECT_EQ("Lavf54.37.100", extractor->encoder()); |
| EXPECT_EQ("Amadeus Pro", extractor->encoded_by()); |
| @@ -74,11 +77,13 @@ TEST(AudioVideoMetadataExtractorTest, AudioWAV) { |
| EXPECT_EQ("pcm_u8", extractor->stream_infos()[1].type); |
| EXPECT_EQ(0u, extractor->stream_infos()[1].tags.size()); |
| + |
| + EXPECT_EQ(0u, extractor->attached_images_bytes().size()); |
| } |
| TEST(AudioVideoMetadataExtractorTest, VideoWebM) { |
| scoped_ptr<AudioVideoMetadataExtractor> extractor = |
| - GetExtractor("bear-320x240-multitrack.webm", true, 2, 320, 240); |
| + GetExtractor("bear-320x240-multitrack.webm", true, true, 2, 320, 240); |
| EXPECT_EQ("Lavf53.9.0", extractor->encoder()); |
| EXPECT_EQ(6u, extractor->stream_infos().size()); |
| @@ -104,12 +109,14 @@ TEST(AudioVideoMetadataExtractorTest, VideoWebM) { |
| EXPECT_EQ(1u, extractor->stream_infos()[5].tags.size()); |
| EXPECT_EQ("Lavc52.32.0", |
| extractor->stream_infos()[5].tags.find("ENCODER")->second); |
| + |
| + EXPECT_EQ(0u, extractor->attached_images_bytes().size()); |
| } |
| #if defined(USE_PROPRIETARY_CODECS) |
| TEST(AudioVideoMetadataExtractorTest, AndroidRotatedMP4Video) { |
| scoped_ptr<AudioVideoMetadataExtractor> extractor = |
| - GetExtractor("90rotation.mp4", true, 0, 1920, 1080); |
| + GetExtractor("90rotation.mp4", true, true, 0, 1920, 1080); |
| EXPECT_EQ(90, extractor->rotation()); |
| @@ -144,11 +151,13 @@ TEST(AudioVideoMetadataExtractorTest, AndroidRotatedMP4Video) { |
| EXPECT_EQ("SoundHandle", |
| extractor->stream_infos()[2].tags.find("handler_name")->second); |
| EXPECT_EQ("eng", extractor->stream_infos()[2].tags.find("language")->second); |
| + |
| + EXPECT_EQ(0u, extractor->attached_images_bytes().size()); |
| } |
| TEST(AudioVideoMetadataExtractorTest, AudioMP3) { |
| scoped_ptr<AudioVideoMetadataExtractor> extractor = |
| - GetExtractor("id3_png_test.mp3", true, 1, -1, -1); |
| + GetExtractor("id3_png_test.mp3", true, true, 1, -1, -1); |
| EXPECT_EQ("Airbag", extractor->title()); |
| EXPECT_EQ("Radiohead", extractor->artist()); |
| @@ -181,6 +190,15 @@ TEST(AudioVideoMetadataExtractorTest, AudioMP3) { |
| EXPECT_EQ(2u, extractor->stream_infos()[2].tags.size()); |
| EXPECT_EQ("Other", extractor->stream_infos()[2].tags.find("comment")->second); |
| EXPECT_EQ("", extractor->stream_infos()[2].tags.find("title")->second); |
| + |
| + EXPECT_EQ(1u, extractor->attached_images_bytes().size()); |
| + EXPECT_EQ(155752u, extractor->attached_images_bytes()[0].size()); |
| + |
| + EXPECT_EQ("\x89PNG\r\n\x1a\n", |
|
DaleCurtis
2014/05/08 23:02:25
You can use base::MD5 or base::Sha1 to hash the im
tommycli
2014/05/08 23:20:42
Done.
|
| + extractor->attached_images_bytes()[0].substr(0, 8)); |
| + EXPECT_EQ("IEND\xae\x42\x60\x82", |
| + extractor->attached_images_bytes()[0].substr( |
| + extractor->attached_images_bytes()[0].size() - 8, 8)); |
| } |
| #endif |