/* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef MODULES_AUDIO_PROCESSING_TEST_SIMULATOR_BUFFERS_H_ #define MODULES_AUDIO_PROCESSING_TEST_SIMULATOR_BUFFERS_H_ #include #include #include "modules/audio_processing/audio_buffer.h" #include "modules/audio_processing/include/audio_processing.h" #include "rtc_base/random.h" namespace webrtc { namespace test { struct SimulatorBuffers { SimulatorBuffers(int render_input_sample_rate_hz, int capture_input_sample_rate_hz, int render_output_sample_rate_hz, int capture_output_sample_rate_hz, size_t num_render_input_channels, size_t num_capture_input_channels, size_t num_render_output_channels, size_t num_capture_output_channels); ~SimulatorBuffers(); void CreateConfigAndBuffer(int sample_rate_hz, size_t num_channels, Random* rand_gen, std::unique_ptr* buffer, StreamConfig* config, std::vector* buffer_data, std::vector* buffer_data_samples); void UpdateInputBuffers(); std::unique_ptr render_input_buffer; std::unique_ptr capture_input_buffer; std::unique_ptr render_output_buffer; std::unique_ptr capture_output_buffer; StreamConfig render_input_config; StreamConfig capture_input_config; StreamConfig render_output_config; StreamConfig capture_output_config; std::vector render_input; std::vector render_input_samples; std::vector capture_input; std::vector capture_input_samples; std::vector render_output; std::vector render_output_samples; std::vector capture_output; std::vector capture_output_samples; }; } // namespace test } // namespace webrtc #endif // MODULES_AUDIO_PROCESSING_TEST_SIMULATOR_BUFFERS_H_