blob: faac4bf9ff4cafc22c329d5310d592046c53ef99 [file] [log] [blame]
peah01973632016-03-03 11:21:51 -08001/*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef MODULES_AUDIO_PROCESSING_TEST_AUDIO_BUFFER_TOOLS_H_
12#define MODULES_AUDIO_PROCESSING_TEST_AUDIO_BUFFER_TOOLS_H_
peah01973632016-03-03 11:21:51 -080013
14#include <vector>
Jonas Olssona4d87372019-07-05 19:08:33 +020015
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020016#include "api/array_view.h"
17#include "modules/audio_processing/audio_buffer.h"
18#include "modules/audio_processing/include/audio_processing.h"
peah01973632016-03-03 11:21:51 -080019
20namespace webrtc {
21namespace test {
22
23// Copies a vector into an audiobuffer.
24void CopyVectorToAudioBuffer(const StreamConfig& stream_config,
peah55850012016-03-19 18:01:09 -070025 rtc::ArrayView<const float> source,
peah01973632016-03-03 11:21:51 -080026 AudioBuffer* destination);
27
28// Extracts a vector from an audiobuffer.
peah55850012016-03-19 18:01:09 -070029void ExtractVectorFromAudioBuffer(const StreamConfig& stream_config,
30 AudioBuffer* source,
31 std::vector<float>* destination);
peah01973632016-03-03 11:21:51 -080032
Per Ã…hgrendb5d7282021-03-15 16:31:04 +000033// Sets all values in `audio_buffer` to `value`.
34void FillBuffer(float value, AudioBuffer& audio_buffer);
35
36// Sets all values channel `channel` for `audio_buffer` to `value`.
37void FillBufferChannel(float value, int channel, AudioBuffer& audio_buffer);
38
peah01973632016-03-03 11:21:51 -080039} // namespace test
40} // namespace webrtc
41
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020042#endif // MODULES_AUDIO_PROCESSING_TEST_AUDIO_BUFFER_TOOLS_H_