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

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

Issue 1906423005: Replace scoped_ptr with std::unique_ptr in //media/base. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptr-media-base: android Created 4 years, 7 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
« no previous file with comments | « media/base/cdm_promise_adapter.cc ('k') | media/base/data_buffer.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 // MSVC++ requires this to be set before any other includes to get M_SQRT1_2. 5 // MSVC++ requires this to be set before any other includes to get M_SQRT1_2.
6 #define _USE_MATH_DEFINES 6 #define _USE_MATH_DEFINES
7 7
8 #include <cmath> 8 #include <cmath>
9 #include <memory>
9 10
10 #include "base/macros.h" 11 #include "base/macros.h"
11 #include "base/strings/stringprintf.h" 12 #include "base/strings/stringprintf.h"
12 #include "media/base/audio_bus.h" 13 #include "media/base/audio_bus.h"
13 #include "media/base/audio_parameters.h" 14 #include "media/base/audio_parameters.h"
14 #include "media/base/channel_mixer.h" 15 #include "media/base/channel_mixer.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace media { 18 namespace media {
18 19
(...skipping 15 matching lines...) Expand all
34 input_layout == CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC || 35 input_layout == CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC ||
35 output_layout == CHANNEL_LAYOUT_DISCRETE || 36 output_layout == CHANNEL_LAYOUT_DISCRETE ||
36 output_layout == CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC || 37 output_layout == CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC ||
37 output_layout == CHANNEL_LAYOUT_STEREO_DOWNMIX) { 38 output_layout == CHANNEL_LAYOUT_STEREO_DOWNMIX) {
38 continue; 39 continue;
39 } 40 }
40 41
41 SCOPED_TRACE(base::StringPrintf( 42 SCOPED_TRACE(base::StringPrintf(
42 "Input Layout: %d, Output Layout: %d", input_layout, output_layout)); 43 "Input Layout: %d, Output Layout: %d", input_layout, output_layout));
43 ChannelMixer mixer(input_layout, output_layout); 44 ChannelMixer mixer(input_layout, output_layout);
44 scoped_ptr<AudioBus> input_bus = AudioBus::Create( 45 std::unique_ptr<AudioBus> input_bus =
45 ChannelLayoutToChannelCount(input_layout), kFrames); 46 AudioBus::Create(ChannelLayoutToChannelCount(input_layout), kFrames);
46 scoped_ptr<AudioBus> output_bus = AudioBus::Create( 47 std::unique_ptr<AudioBus> output_bus =
47 ChannelLayoutToChannelCount(output_layout), kFrames); 48 AudioBus::Create(ChannelLayoutToChannelCount(output_layout), kFrames);
48 for (int ch = 0; ch < input_bus->channels(); ++ch) 49 for (int ch = 0; ch < input_bus->channels(); ++ch)
49 std::fill(input_bus->channel(ch), input_bus->channel(ch) + kFrames, 1); 50 std::fill(input_bus->channel(ch), input_bus->channel(ch) + kFrames, 1);
50 51
51 mixer.Transform(input_bus.get(), output_bus.get()); 52 mixer.Transform(input_bus.get(), output_bus.get());
52 } 53 }
53 } 54 }
54 } 55 }
55 56
56 struct ChannelMixerTestData { 57 struct ChannelMixerTestData {
57 ChannelMixerTestData(ChannelLayout input_layout, ChannelLayout output_layout, 58 ChannelMixerTestData(ChannelLayout input_layout, ChannelLayout output_layout,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 return os << data.DebugString(); 98 return os << data.DebugString();
98 } 99 }
99 100
100 class ChannelMixerTest : public testing::TestWithParam<ChannelMixerTestData> {}; 101 class ChannelMixerTest : public testing::TestWithParam<ChannelMixerTestData> {};
101 102
102 // Verify channels are mixed and scaled correctly. The test only works if all 103 // Verify channels are mixed and scaled correctly. The test only works if all
103 // output channels have the same value. 104 // output channels have the same value.
104 TEST_P(ChannelMixerTest, Mixing) { 105 TEST_P(ChannelMixerTest, Mixing) {
105 ChannelLayout input_layout = GetParam().input_layout; 106 ChannelLayout input_layout = GetParam().input_layout;
106 int input_channels = GetParam().input_channels; 107 int input_channels = GetParam().input_channels;
107 scoped_ptr<AudioBus> input_bus = AudioBus::Create(input_channels, kFrames); 108 std::unique_ptr<AudioBus> input_bus =
109 AudioBus::Create(input_channels, kFrames);
108 AudioParameters input_audio(AudioParameters::AUDIO_PCM_LINEAR, input_layout, 110 AudioParameters input_audio(AudioParameters::AUDIO_PCM_LINEAR, input_layout,
109 AudioParameters::kAudioCDSampleRate, 16, kFrames); 111 AudioParameters::kAudioCDSampleRate, 16, kFrames);
110 if (input_layout == CHANNEL_LAYOUT_DISCRETE) 112 if (input_layout == CHANNEL_LAYOUT_DISCRETE)
111 input_audio.set_channels_for_discrete(input_channels); 113 input_audio.set_channels_for_discrete(input_channels);
112 114
113 ChannelLayout output_layout = GetParam().output_layout; 115 ChannelLayout output_layout = GetParam().output_layout;
114 int output_channels = GetParam().output_channels; 116 int output_channels = GetParam().output_channels;
115 scoped_ptr<AudioBus> output_bus = AudioBus::Create(output_channels, kFrames); 117 std::unique_ptr<AudioBus> output_bus =
118 AudioBus::Create(output_channels, kFrames);
116 AudioParameters output_audio(AudioParameters::AUDIO_PCM_LINEAR, output_layout, 119 AudioParameters output_audio(AudioParameters::AUDIO_PCM_LINEAR, output_layout,
117 AudioParameters::kAudioCDSampleRate, 16, 120 AudioParameters::kAudioCDSampleRate, 16,
118 kFrames); 121 kFrames);
119 if (output_layout == CHANNEL_LAYOUT_DISCRETE) 122 if (output_layout == CHANNEL_LAYOUT_DISCRETE)
120 output_audio.set_channels_for_discrete(output_channels); 123 output_audio.set_channels_for_discrete(output_channels);
121 124
122 const float* channel_values = GetParam().channel_values; 125 const float* channel_values = GetParam().channel_values;
123 ASSERT_EQ(input_bus->channels(), GetParam().num_channel_values); 126 ASSERT_EQ(input_bus->channels(), GetParam().num_channel_values);
124 127
125 float expected_value = 0; 128 float expected_value = 0;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 kStereoToMonoValues, arraysize(kStereoToMonoValues)), 178 kStereoToMonoValues, arraysize(kStereoToMonoValues)),
176 ChannelMixerTestData(CHANNEL_LAYOUT_DISCRETE, 2, 179 ChannelMixerTestData(CHANNEL_LAYOUT_DISCRETE, 2,
177 CHANNEL_LAYOUT_DISCRETE, 5, 180 CHANNEL_LAYOUT_DISCRETE, 5,
178 kStereoToMonoValues, arraysize(kStereoToMonoValues)), 181 kStereoToMonoValues, arraysize(kStereoToMonoValues)),
179 ChannelMixerTestData(CHANNEL_LAYOUT_DISCRETE, 5, 182 ChannelMixerTestData(CHANNEL_LAYOUT_DISCRETE, 5,
180 CHANNEL_LAYOUT_DISCRETE, 2, 183 CHANNEL_LAYOUT_DISCRETE, 2,
181 kFiveDiscreteValues, arraysize(kFiveDiscreteValues)) 184 kFiveDiscreteValues, arraysize(kFiveDiscreteValues))
182 )); 185 ));
183 186
184 } // namespace media 187 } // namespace media
OLDNEW
« no previous file with comments | « media/base/cdm_promise_adapter.cc ('k') | media/base/data_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698