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

Unified Diff: media/base/audio_parameters_unittest.cc

Issue 1907973003: media: Move audio_parameters and audio_point to media/base/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/audio_parameters.cc ('k') | media/base/audio_point.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/audio_parameters_unittest.cc
diff --git a/media/base/audio_parameters_unittest.cc b/media/base/audio_parameters_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..ef0d5764dc4c2dfd168f6ae22353a36b110c4862
--- /dev/null
+++ b/media/base/audio_parameters_unittest.cc
@@ -0,0 +1,226 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+
+#include "base/macros.h"
+#include "base/strings/string_number_conversions.h"
+#include "media/base/audio_parameters.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace media {
+
+TEST(AudioParameters, Constructor_Default) {
+ AudioParameters::Format expected_format = AudioParameters::AUDIO_PCM_LINEAR;
+ int expected_bits = 0;
+ int expected_channels = 0;
+ ChannelLayout expected_channel_layout = CHANNEL_LAYOUT_NONE;
+ int expected_rate = 0;
+ int expected_samples = 0;
+ AudioParameters::PlatformEffectsMask expected_effects =
+ AudioParameters::NO_EFFECTS;
+ std::vector<Point> expected_mic_positions;
+
+ AudioParameters params;
+
+ EXPECT_EQ(expected_format, params.format());
+ EXPECT_EQ(expected_bits, params.bits_per_sample());
+ EXPECT_EQ(expected_channels, params.channels());
+ EXPECT_EQ(expected_channel_layout, params.channel_layout());
+ EXPECT_EQ(expected_rate, params.sample_rate());
+ EXPECT_EQ(expected_samples, params.frames_per_buffer());
+ EXPECT_EQ(expected_effects, params.effects());
+ EXPECT_EQ(expected_mic_positions, params.mic_positions());
+}
+
+TEST(AudioParameters, Constructor_ParameterValues) {
+ AudioParameters::Format expected_format =
+ AudioParameters::AUDIO_PCM_LOW_LATENCY;
+ int expected_bits = 16;
+ int expected_channels = 6;
+ ChannelLayout expected_channel_layout = CHANNEL_LAYOUT_5_1;
+ int expected_rate = 44100;
+ int expected_samples = 880;
+
+ AudioParameters params(expected_format, expected_channel_layout,
+ expected_rate, expected_bits, expected_samples);
+
+ EXPECT_EQ(expected_format, params.format());
+ EXPECT_EQ(expected_bits, params.bits_per_sample());
+ EXPECT_EQ(expected_channels, params.channels());
+ EXPECT_EQ(expected_channel_layout, params.channel_layout());
+ EXPECT_EQ(expected_rate, params.sample_rate());
+ EXPECT_EQ(expected_samples, params.frames_per_buffer());
+}
+
+TEST(AudioParameters, GetBytesPerBuffer) {
+ EXPECT_EQ(100, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_MONO, 1000, 8, 100)
+ .GetBytesPerBuffer());
+ EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_MONO, 1000, 16, 100)
+ .GetBytesPerBuffer());
+ EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO, 1000, 8, 100)
+ .GetBytesPerBuffer());
+ EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_MONO, 1000, 8, 200)
+ .GetBytesPerBuffer());
+ EXPECT_EQ(800, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO, 1000, 16, 200)
+ .GetBytesPerBuffer());
+ EXPECT_EQ(
+ 300, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 8, 100)
+ .GetBytesPerBuffer());
+}
+
+TEST(AudioParameters, GetBytesPerSecond) {
+ EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_NONE, 0, 0, 0)
+ .GetBytesPerSecond());
+ EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO, 0, 0, 0)
+ .GetBytesPerSecond());
+ EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_NONE, 100, 0, 0)
+ .GetBytesPerSecond());
+ EXPECT_EQ(0, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_NONE, 0, 8, 0)
+ .GetBytesPerSecond());
+ EXPECT_EQ(200, AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO, 100, 8, 0)
+ .GetBytesPerSecond());
+}
+
+TEST(AudioParameters, Compare) {
+ AudioParameters values[] = {
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_MONO,
+ 2000, 16, 200),
+
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO,
+ 2000, 16, 200),
+
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 16, 200),
+
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_MONO, 2000, 16, 200),
+
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO, 2000, 16, 200),
+
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 1000, 16, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 8, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 8, 200),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 16, 100),
+ AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC, 2000, 16, 200),
+ };
+
+ for (size_t i = 0; i < arraysize(values); ++i) {
+ for (size_t j = 0; j < arraysize(values); ++j) {
+ SCOPED_TRACE("i=" + base::SizeTToString(i) + " j=" +
+ base::SizeTToString(j));
+ EXPECT_EQ(i < j, values[i] < values[j]);
+ }
+
+ // Verify that a value is never less than itself.
+ EXPECT_FALSE(values[i] < values[i]);
+ }
+}
+
+TEST(AudioParameters, Constructor_ValidChannelCounts) {
+ int expected_channels = 8;
+ ChannelLayout expected_layout = CHANNEL_LAYOUT_DISCRETE;
+
+ AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY,
+ expected_layout, 44100, 16, 880);
+ params.set_channels_for_discrete(expected_channels);
+ EXPECT_EQ(expected_channels, params.channels());
+ EXPECT_EQ(expected_layout, params.channel_layout());
+ EXPECT_TRUE(params.IsValid());
+}
+
+} // namespace media
« no previous file with comments | « media/base/audio_parameters.cc ('k') | media/base/audio_point.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698