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

Side by Side Diff: media/base/audio_video_metadata_extractor_unittest.cc

Issue 220303002: Media Metadata API: Extract raw tags for audio/video. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/logging.h" 5 #include "base/logging.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "media/base/audio_video_metadata_extractor.h" 8 #include "media/base/audio_video_metadata_extractor.h"
9 #include "media/base/test_data_util.h" 9 #include "media/base/test_data_util.h"
10 #include "media/filters/file_data_source.h" 10 #include "media/filters/file_data_source.h"
(...skipping 27 matching lines...) Expand all
38 } 38 }
39 39
40 TEST(AudioVideoMetadataExtractorTest, InvalidFile) { 40 TEST(AudioVideoMetadataExtractorTest, InvalidFile) {
41 GetExtractor("ten_byte_file", false, 0, -1, -1); 41 GetExtractor("ten_byte_file", false, 0, -1, -1);
42 } 42 }
43 43
44 TEST(AudioVideoMetadataExtractorTest, AudioOGG) { 44 TEST(AudioVideoMetadataExtractorTest, AudioOGG) {
45 scoped_ptr<AudioVideoMetadataExtractor> extractor = 45 scoped_ptr<AudioVideoMetadataExtractor> extractor =
46 GetExtractor("9ch.ogg", true, 0, -1, -1); 46 GetExtractor("9ch.ogg", true, 0, -1, -1);
47 EXPECT_EQ("Processed by SoX", extractor->comment()); 47 EXPECT_EQ("Processed by SoX", extractor->comment());
48
49 EXPECT_EQ(1u, extractor->raw_tags().size());
50 EXPECT_EQ("Processed by SoX", extractor->raw_tags().find("COMMENT")->second);
48 } 51 }
49 52
50 TEST(AudioVideoMetadataExtractorTest, AudioWAV) { 53 TEST(AudioVideoMetadataExtractorTest, AudioWAV) {
51 scoped_ptr<AudioVideoMetadataExtractor> extractor = 54 scoped_ptr<AudioVideoMetadataExtractor> extractor =
52 GetExtractor("sfx_u8.wav", true, 0, -1, -1); 55 GetExtractor("sfx_u8.wav", true, 0, -1, -1);
53 EXPECT_EQ("Lavf54.37.100", extractor->encoder()); 56 EXPECT_EQ("Lavf54.37.100", extractor->encoder());
54 EXPECT_EQ("Amadeus Pro", extractor->encoded_by()); 57 EXPECT_EQ("Amadeus Pro", extractor->encoded_by());
58
59 EXPECT_EQ(2u, extractor->raw_tags().size());
60 EXPECT_EQ("Lavf54.37.100", extractor->raw_tags().find("encoder")->second);
61 EXPECT_EQ("Amadeus Pro", extractor->raw_tags().find("encoded_by")->second);
55 } 62 }
56 63
57 TEST(AudioVideoMetadataExtractorTest, VideoWebM) { 64 TEST(AudioVideoMetadataExtractorTest, VideoWebM) {
58 scoped_ptr<AudioVideoMetadataExtractor> extractor = 65 scoped_ptr<AudioVideoMetadataExtractor> extractor =
59 GetExtractor("bear-320x240-multitrack.webm", true, 2, 320, 240); 66 GetExtractor("bear-320x240-multitrack.webm", true, 2, 320, 240);
60 EXPECT_EQ("Lavf53.9.0", extractor->encoder()); 67 EXPECT_EQ("Lavf53.9.0", extractor->encoder());
68
69 EXPECT_EQ(1u, extractor->raw_tags().size());
70 EXPECT_EQ("Lavf53.9.0", extractor->raw_tags().find("ENCODER")->second);
61 } 71 }
62 72
63 #if defined(USE_PROPRIETARY_CODECS) 73 #if defined(USE_PROPRIETARY_CODECS)
64 TEST(AudioVideoMetadataExtractorTest, AndroidRotatedMP4Video) { 74 TEST(AudioVideoMetadataExtractorTest, AndroidRotatedMP4Video) {
65 scoped_ptr<AudioVideoMetadataExtractor> extractor = 75 scoped_ptr<AudioVideoMetadataExtractor> extractor =
66 GetExtractor("90rotation.mp4", true, 0, 1920, 1080); 76 GetExtractor("90rotation.mp4", true, 0, 1920, 1080);
67 77
68 EXPECT_EQ(90, extractor->rotation()); 78 EXPECT_EQ(90, extractor->rotation());
79
80 EXPECT_EQ(7u, extractor->raw_tags().size());
81 EXPECT_EQ("isom3gp4",
82 extractor->raw_tags().find("compatible_brands")->second);
83 EXPECT_EQ("2014-02-11 00:39:25",
84 extractor->raw_tags().find("creation_time")->second);
85 EXPECT_EQ("VideoHandle", extractor->raw_tags().find("handler_name")->second);
86 EXPECT_EQ("eng", extractor->raw_tags().find("language")->second);
87 EXPECT_EQ("isom", extractor->raw_tags().find("major_brand")->second);
88 EXPECT_EQ("0", extractor->raw_tags().find("minor_version")->second);
89 EXPECT_EQ("90", extractor->raw_tags().find("rotate")->second);
69 } 90 }
70 91
71 TEST(AudioVideoMetadataExtractorTest, AudioMP3) { 92 TEST(AudioVideoMetadataExtractorTest, AudioMP3) {
72 scoped_ptr<AudioVideoMetadataExtractor> extractor = 93 scoped_ptr<AudioVideoMetadataExtractor> extractor =
73 GetExtractor("id3_png_test.mp3", true, 1, -1, -1); 94 GetExtractor("id3_png_test.mp3", true, 1, -1, -1);
74 95
75 EXPECT_EQ("Airbag", extractor->title()); 96 EXPECT_EQ("Airbag", extractor->title());
76 EXPECT_EQ("Radiohead", extractor->artist()); 97 EXPECT_EQ("Radiohead", extractor->artist());
77 EXPECT_EQ("OK Computer", extractor->album()); 98 EXPECT_EQ("OK Computer", extractor->album());
78 EXPECT_EQ(1, extractor->track()); 99 EXPECT_EQ(1, extractor->track());
79 EXPECT_EQ("Alternative", extractor->genre()); 100 EXPECT_EQ("Alternative", extractor->genre());
80 EXPECT_EQ("1997", extractor->date()); 101 EXPECT_EQ("1997", extractor->date());
81 EXPECT_EQ("Lavf54.4.100", extractor->encoder()); 102 EXPECT_EQ("Lavf54.4.100", extractor->encoder());
103
104 EXPECT_EQ(7u, extractor->raw_tags().size());
105 EXPECT_EQ("OK Computer", extractor->raw_tags().find("album")->second);
106 EXPECT_EQ("Radiohead", extractor->raw_tags().find("artist")->second);
107 EXPECT_EQ("1997", extractor->raw_tags().find("date")->second);
108 EXPECT_EQ("Lavf54.4.100", extractor->raw_tags().find("encoder")->second);
109 EXPECT_EQ("Alternative", extractor->raw_tags().find("genre")->second);
110 EXPECT_EQ("Airbag", extractor->raw_tags().find("title")->second);
111 EXPECT_EQ("1", extractor->raw_tags().find("track")->second);
82 } 112 }
83 #endif 113 #endif
84 114
85 } // namespace media 115 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698