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

Side by Side Diff: media/audio/audio_parameters_unittest.cc

Issue 9691001: Audio software mixer. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 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 (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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/string_number_conversions.h" 6 #include "base/string_number_conversions.h"
7 #include "media/audio/audio_parameters.h" 7 #include "media/audio/audio_parameters.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 TEST(AudioParameters, Constructor_Default) { 10 TEST(AudioParameters, Constructor_Default) {
(...skipping 16 matching lines...) Expand all
27 27
28 TEST(AudioParameters, Constructor_ParameterValues) { 28 TEST(AudioParameters, Constructor_ParameterValues) {
29 AudioParameters::Format expected_format = 29 AudioParameters::Format expected_format =
30 AudioParameters::AUDIO_PCM_LOW_LATENCY; 30 AudioParameters::AUDIO_PCM_LOW_LATENCY;
31 int expected_bits = 16; 31 int expected_bits = 16;
32 int expected_channels = 6; 32 int expected_channels = 6;
33 ChannelLayout expected_channel_layout = CHANNEL_LAYOUT_5_1; 33 ChannelLayout expected_channel_layout = CHANNEL_LAYOUT_5_1;
34 int expected_rate = 44100; 34 int expected_rate = 44100;
35 int expected_samples = 880; 35 int expected_samples = 880;
36 36
37 AudioParameters params(expected_format, expected_channel_layout, 37 AudioParameters params(expected_format, false, expected_channel_layout,
38 expected_rate, expected_bits, expected_samples); 38 expected_rate, expected_bits, expected_samples);
39 39
40 EXPECT_EQ(expected_format, params.format()); 40 EXPECT_EQ(expected_format, params.format());
41 EXPECT_EQ(expected_bits, params.bits_per_sample()); 41 EXPECT_EQ(expected_bits, params.bits_per_sample());
42 EXPECT_EQ(expected_channels, params.channels()); 42 EXPECT_EQ(expected_channels, params.channels());
43 EXPECT_EQ(expected_channel_layout, params.channel_layout()); 43 EXPECT_EQ(expected_channel_layout, params.channel_layout());
44 EXPECT_EQ(expected_rate, params.sample_rate()); 44 EXPECT_EQ(expected_rate, params.sample_rate());
45 EXPECT_EQ(expected_samples, params.frames_per_buffer()); 45 EXPECT_EQ(expected_samples, params.frames_per_buffer());
46 } 46 }
47 47
48 TEST(AudioParameters, GetBytesPerBuffer) { 48 TEST(AudioParameters, GetBytesPerBuffer) {
49 EXPECT_EQ(100, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 49 EXPECT_EQ(100, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
50 CHANNEL_LAYOUT_MONO, 1000, 8, 100) 50 CHANNEL_LAYOUT_MONO, 1000, 8, 100)
51 .GetBytesPerBuffer()); 51 .GetBytesPerBuffer());
52 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 52 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
53 CHANNEL_LAYOUT_MONO, 1000, 16, 100) 53 CHANNEL_LAYOUT_MONO, 1000, 16, 100)
54 .GetBytesPerBuffer()); 54 .GetBytesPerBuffer());
55 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 55 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
56 CHANNEL_LAYOUT_STEREO, 1000, 8, 100) 56 CHANNEL_LAYOUT_STEREO, 1000, 8, 100)
57 .GetBytesPerBuffer()); 57 .GetBytesPerBuffer());
58 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 58 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
59 CHANNEL_LAYOUT_MONO, 1000, 8, 200) 59 CHANNEL_LAYOUT_MONO, 1000, 8, 200)
60 .GetBytesPerBuffer()); 60 .GetBytesPerBuffer());
61 EXPECT_EQ(800, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 61 EXPECT_EQ(800, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
62 CHANNEL_LAYOUT_STEREO, 1000, 16, 200) 62 CHANNEL_LAYOUT_STEREO, 1000, 16, 200)
63 .GetBytesPerBuffer()); 63 .GetBytesPerBuffer());
64 } 64 }
65 65
66 TEST(AudioParameters, GetBytesPerSecond) { 66 TEST(AudioParameters, GetBytesPerSecond) {
67 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 67 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
68 CHANNEL_LAYOUT_NONE, 0, 0, 0) 68 CHANNEL_LAYOUT_NONE, 0, 0, 0)
69 .GetBytesPerSecond()); 69 .GetBytesPerSecond());
70 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 70 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
71 CHANNEL_LAYOUT_STEREO, 0, 0, 0) 71 CHANNEL_LAYOUT_STEREO, 0, 0, 0)
72 .GetBytesPerSecond()); 72 .GetBytesPerSecond());
73 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 73 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
74 CHANNEL_LAYOUT_NONE, 100, 0, 0) 74 CHANNEL_LAYOUT_NONE, 100, 0, 0)
75 .GetBytesPerSecond()); 75 .GetBytesPerSecond());
76 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 76 EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
77 CHANNEL_LAYOUT_NONE, 0, 8, 0) 77 CHANNEL_LAYOUT_NONE, 0, 8, 0)
78 .GetBytesPerSecond()); 78 .GetBytesPerSecond());
79 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, 79 EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
80 CHANNEL_LAYOUT_STEREO, 100, 8, 0) 80 CHANNEL_LAYOUT_STEREO, 100, 8, 0)
81 .GetBytesPerSecond()); 81 .GetBytesPerSecond());
82 } 82 }
83 83
84 TEST(AudioParameters, Compare) { 84 TEST(AudioParameters, Compare) {
85 AudioParameters values[] = { 85 AudioParameters values[] = {
86 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 86 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
87 1000, 8, 100), 87 CHANNEL_LAYOUT_MONO, 1000, 8, 100),
88 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 88 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
89 1000, 8, 200), 89 CHANNEL_LAYOUT_MONO, 1000, 8, 200),
90 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 90 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
91 1000, 16, 100), 91 CHANNEL_LAYOUT_MONO, 1000, 16, 100),
92 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 92 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
93 1000, 16, 200), 93 CHANNEL_LAYOUT_MONO, 1000, 16, 200),
94 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 94 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
95 2000, 8, 100), 95 CHANNEL_LAYOUT_MONO, 2000, 8, 100),
96 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 96 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
97 2000, 8, 200), 97 CHANNEL_LAYOUT_MONO, 2000, 8, 200),
98 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 98 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
99 2000, 16, 100), 99 CHANNEL_LAYOUT_MONO, 2000, 16, 100),
100 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO, 100 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
101 2000, 16, 200), 101 CHANNEL_LAYOUT_MONO, 2000, 16, 200),
102 102
103 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 103 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
104 1000, 8, 100), 104 CHANNEL_LAYOUT_STEREO, 1000, 8, 100),
105 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 105 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
106 1000, 8, 200), 106 CHANNEL_LAYOUT_STEREO, 1000, 8, 200),
107 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 107 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
108 1000, 16, 100), 108 CHANNEL_LAYOUT_STEREO, 1000, 16, 100),
109 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 109 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
110 1000, 16, 200), 110 CHANNEL_LAYOUT_STEREO, 1000, 16, 200),
111 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 111 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
112 2000, 8, 100), 112 CHANNEL_LAYOUT_STEREO, 2000, 8, 100),
113 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 113 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
114 2000, 8, 200), 114 CHANNEL_LAYOUT_STEREO, 2000, 8, 200),
115 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 115 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
116 2000, 16, 100), 116 CHANNEL_LAYOUT_STEREO, 2000, 16, 100),
117 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 117 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, false,
118 2000, 16, 200), 118 CHANNEL_LAYOUT_STEREO, 2000, 16, 200),
119 119
120 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 120 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
121 1000, 8, 100), 121 CHANNEL_LAYOUT_MONO, 1000, 8, 100),
122 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 122 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
123 1000, 8, 200), 123 CHANNEL_LAYOUT_MONO, 1000, 8, 200),
124 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 124 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
125 1000, 16, 100), 125 CHANNEL_LAYOUT_MONO, 1000, 16, 100),
126 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 126 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
127 1000, 16, 200), 127 CHANNEL_LAYOUT_MONO, 1000, 16, 200),
128 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 128 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
129 2000, 8, 100), 129 CHANNEL_LAYOUT_MONO, 2000, 8, 100),
130 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 130 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
131 2000, 8, 200), 131 CHANNEL_LAYOUT_MONO, 2000, 8, 200),
132 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 132 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
133 2000, 16, 100), 133 CHANNEL_LAYOUT_MONO, 2000, 16, 100),
134 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_MONO, 134 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
135 2000, 16, 200), 135 CHANNEL_LAYOUT_MONO, 2000, 16, 200),
136 136
137 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 137 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
138 CHANNEL_LAYOUT_STEREO, 1000, 8, 100), 138 CHANNEL_LAYOUT_STEREO, 1000, 8, 100),
139 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 139 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
140 CHANNEL_LAYOUT_STEREO, 1000, 8, 200), 140 CHANNEL_LAYOUT_STEREO, 1000, 8, 200),
141 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 141 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
142 CHANNEL_LAYOUT_STEREO, 1000, 16, 100), 142 CHANNEL_LAYOUT_STEREO, 1000, 16, 100),
143 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 143 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
144 CHANNEL_LAYOUT_STEREO, 1000, 16, 200), 144 CHANNEL_LAYOUT_STEREO, 1000, 16, 200),
145 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 145 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
146 CHANNEL_LAYOUT_STEREO, 2000, 8, 100), 146 CHANNEL_LAYOUT_STEREO, 2000, 8, 100),
147 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 147 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
148 CHANNEL_LAYOUT_STEREO, 2000, 8, 200), 148 CHANNEL_LAYOUT_STEREO, 2000, 8, 200),
149 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 149 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
150 CHANNEL_LAYOUT_STEREO, 2000, 16, 100), 150 CHANNEL_LAYOUT_STEREO, 2000, 16, 100),
151 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, 151 AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, false,
152 CHANNEL_LAYOUT_STEREO, 2000, 16, 200), 152 CHANNEL_LAYOUT_STEREO, 2000, 16, 200),
153 }; 153 };
154 154
155 AudioParameters::Compare target; 155 AudioParameters::Compare target;
156 for (size_t i = 0; i < arraysize(values); ++i) { 156 for (size_t i = 0; i < arraysize(values); ++i) {
157 for (size_t j = 0; j < arraysize(values); ++j) { 157 for (size_t j = 0; j < arraysize(values); ++j) {
158 SCOPED_TRACE("i=" + base::IntToString(i) + " j=" + base::IntToString(j)); 158 SCOPED_TRACE("i=" + base::IntToString(i) + " j=" + base::IntToString(j));
159 EXPECT_EQ(i < j, target(values[i], values[j])); 159 EXPECT_EQ(i < j, target(values[i], values[j]));
160 } 160 }
161 161
162 // Verify that a value is never less than itself. 162 // Verify that a value is never less than itself.
163 EXPECT_FALSE(target(values[i], values[i])); 163 EXPECT_FALSE(target(values[i], values[i]));
164 } 164 }
165 } 165 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698