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

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

Issue 121383002: Media Galleries API Metadata: Add audio video metadata extractor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
acolwell GONE FROM CHROMIUM 2014/01/07 00:27:24 ditto
tommycli 2014/01/07 00:55:28 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/logging.h"
6 #include "base/memory/scoped_ptr.h"
7 #include "build/build_config.h"
8 #include "media/base/audio_video_metadata_extractor.h"
9 #include "media/base/test_data_util.h"
10 #include "media/filters/file_data_source.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12
13 namespace media {
14
15 scoped_ptr<AudioVideoMetadataExtractor> GetExtractor(
16 const std::string& filename,
17 bool expected_result,
18 double expected_duration,
19 int expected_width,
20 int expected_height) {
21 FileDataSource source;
22 EXPECT_TRUE(source.Initialize(GetTestDataFilePath(filename)));
23
24 scoped_ptr<AudioVideoMetadataExtractor> extractor(
25 new AudioVideoMetadataExtractor);
26 bool extracted = extractor->Extract(&source);
27 EXPECT_EQ(expected_result, extracted);
28
29 if (!extracted)
30 return extractor.Pass();
31
32 EXPECT_EQ(expected_duration, extractor->duration());
33
34 EXPECT_EQ(expected_width, extractor->width());
35 EXPECT_EQ(expected_height, extractor->height());
36
37 return extractor.Pass();
38 }
39
40 TEST(AudioVideoMetadataExtractorTest, InvalidFile) {
41 GetExtractor("ten_byte_file", false, 0, -1, -1);
42 }
43
44 TEST(AudioVideoMetadataExtractorTest, AudioOGG) {
45 scoped_ptr<AudioVideoMetadataExtractor> extractor =
46 GetExtractor("9ch.ogg", true, 0, -1, -1);
47 EXPECT_EQ("Processed by SoX", extractor->comment());
48 }
49
50 TEST(AudioVideoMetadataExtractorTest, AudioWAV) {
51 scoped_ptr<AudioVideoMetadataExtractor> extractor =
52 GetExtractor("sfx_u8.wav", true, 0, -1, -1);
53 EXPECT_EQ("Lavf54.37.100", extractor->encoder());
54 EXPECT_EQ("Amadeus Pro", extractor->encoded_by());
55 }
56
57 TEST(AudioVideoMetadataExtractorTest, VideoWebM) {
58 scoped_ptr<AudioVideoMetadataExtractor> extractor =
59 GetExtractor("bear-320x240-multitrack.webm", true, 2, 320, 240);
60 EXPECT_EQ("Lavf53.9.0", extractor->encoder());
61 }
62
63 #if defined(USE_PROPRIETARY_CODECS)
64 TEST(AudioVideoMetadataExtractorTest, AudioMP3) {
65 scoped_ptr<AudioVideoMetadataExtractor> extractor =
66 GetExtractor("id3_png_test.mp3", true, 1, -1, -1);
67
68 EXPECT_EQ("Airbag", extractor->title());
69 EXPECT_EQ("Radiohead", extractor->artist());
70 EXPECT_EQ("OK Computer", extractor->album());
71 EXPECT_EQ(1, extractor->track());
72 EXPECT_EQ("Alternative", extractor->genre());
73 EXPECT_EQ("1997", extractor->date());
74 EXPECT_EQ("Lavf54.4.100", extractor->encoder());
75 }
76 #endif
77
78 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698