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

Side by Side Diff: media/mp4/aac_unittest.cc

Issue 10795050: Fix MediaSource code so it can handle HE-AAC content that uses implicit signalling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address CR comments. Created 8 years, 5 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
« no previous file with comments | « media/mp4/aac.cc ('k') | media/mp4/mp4_stream_parser.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/mp4/aac.h" 5 #include "media/mp4/aac.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace media { 9 namespace media {
10 10
11 namespace mp4 { 11 namespace mp4 {
12 12
13 TEST(AACTest, BasicProfileTest) { 13 TEST(AACTest, BasicProfileTest) {
14 AAC aac; 14 AAC aac;
15 uint8 buffer[] = {0x12, 0x10}; 15 uint8 buffer[] = {0x12, 0x10};
16 std::vector<uint8> data; 16 std::vector<uint8> data;
17 17
18 data.assign(buffer, buffer + sizeof(buffer)); 18 data.assign(buffer, buffer + sizeof(buffer));
19 19
20 EXPECT_TRUE(aac.Parse(data)); 20 EXPECT_TRUE(aac.Parse(data));
21 EXPECT_EQ(aac.frequency(), 44100u); 21 EXPECT_EQ(aac.GetOutputSamplesPerSecond(false), 44100);
22 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_STEREO); 22 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_STEREO);
23 } 23 }
24 24
25 TEST(AACTest, ExtensionTest) { 25 TEST(AACTest, ExtensionTest) {
26 AAC aac; 26 AAC aac;
27 uint8 buffer[] = {0x13, 0x08, 0x56, 0xe5, 0x9d, 0x48, 0x80}; 27 uint8 buffer[] = {0x13, 0x08, 0x56, 0xe5, 0x9d, 0x48, 0x80};
28 std::vector<uint8> data; 28 std::vector<uint8> data;
29 29
30 data.assign(buffer, buffer + sizeof(buffer)); 30 data.assign(buffer, buffer + sizeof(buffer));
31 31
32 EXPECT_TRUE(aac.Parse(data)); 32 EXPECT_TRUE(aac.Parse(data));
33 EXPECT_EQ(aac.frequency(), 48000u); 33 EXPECT_EQ(aac.GetOutputSamplesPerSecond(false), 48000);
34 EXPECT_EQ(aac.GetOutputSamplesPerSecond(true), 48000);
34 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_STEREO); 35 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_STEREO);
35 } 36 }
36 37
38 TEST(AACTest, TestImplicitSBR) {
39 AAC aac;
40 uint8 buffer[] = {0x13, 0x10};
41 std::vector<uint8> data;
42
43 data.assign(buffer, buffer + sizeof(buffer));
44
45 EXPECT_TRUE(aac.Parse(data));
46 EXPECT_EQ(aac.GetOutputSamplesPerSecond(false), 24000);
47 EXPECT_EQ(aac.GetOutputSamplesPerSecond(true), 48000);
48 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_STEREO);
49 }
50
37 TEST(AACTest, SixChannelTest) { 51 TEST(AACTest, SixChannelTest) {
38 AAC aac; 52 AAC aac;
39 uint8 buffer[] = {0x11, 0xb0}; 53 uint8 buffer[] = {0x11, 0xb0};
40 std::vector<uint8> data; 54 std::vector<uint8> data;
41 55
42 data.assign(buffer, buffer + sizeof(buffer)); 56 data.assign(buffer, buffer + sizeof(buffer));
43 57
44 EXPECT_TRUE(aac.Parse(data)); 58 EXPECT_TRUE(aac.Parse(data));
45 EXPECT_EQ(aac.frequency(), 48000u); 59 EXPECT_EQ(aac.GetOutputSamplesPerSecond(false), 48000);
46 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_5_1); 60 EXPECT_EQ(aac.channel_layout(), CHANNEL_LAYOUT_5_1);
47 } 61 }
48 62
49 TEST(AACTest, DataTooShortTest) { 63 TEST(AACTest, DataTooShortTest) {
50 AAC aac; 64 AAC aac;
51 std::vector<uint8> data; 65 std::vector<uint8> data;
52 66
53 EXPECT_FALSE(aac.Parse(data)); 67 EXPECT_FALSE(aac.Parse(data));
54 68
55 data.push_back(0x12); 69 data.push_back(0x12);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 109
96 EXPECT_FALSE(aac.Parse(data)); 110 EXPECT_FALSE(aac.Parse(data));
97 111
98 data[1] = 0x08; 112 data[1] = 0x08;
99 EXPECT_TRUE(aac.Parse(data)); 113 EXPECT_TRUE(aac.Parse(data));
100 } 114 }
101 115
102 } // namespace mp4 116 } // namespace mp4
103 117
104 } // namespace media 118 } // namespace media
OLDNEW
« no previous file with comments | « media/mp4/aac.cc ('k') | media/mp4/mp4_stream_parser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698