#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "media/filters/audio_renderer_algorithm.h"
#include <stddef.h>
#include <stdint.h>
#include <algorithm>
#include <cmath>
#include <memory>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "media/base/audio_buffer.h"
#include "media/base/audio_bus.h"
#include "media/base/audio_timestamp_helper.h"
#include "media/base/channel_layout.h"
#include "media/base/media_util.h"
#include "media/base/test_helpers.h"
#include "media/base/timestamp_constants.h"
#include "media/filters/wsola_internals.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace media {
const int kFrameSize = …;
const int kSamplesPerSecond = …;
const int kOutputDurationInSec = …;
static void FillWithSquarePulseTrain(
int half_pulse_width, int offset, int num_samples, float* data) { … }
static void FillWithSquarePulseTrain(
int half_pulse_width, int offset, int channel, AudioBus* audio_bus) { … }
class AudioRendererAlgorithmTest : public testing::Test { … };
TEST_F(AudioRendererAlgorithmTest, InitializeWithLargeParameters) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_Bitstream) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_NormalRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_NearlyNormalFasterRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_NearlyNormalSlowerRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_ResamplingRates) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_FillModes) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_WithOffset) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_UnderFlow) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_OneAndAQuarterRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_OneAndAHalfRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_DoubleRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_EightTimesRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_ThreeQuartersRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_HalfRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_QuarterRate) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_Pause) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_SlowDown) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_SpeedUp) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_JumpAroundSpeeds) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_SmallBufferSize) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_LargeBufferSize) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_LowerQualityAudio) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_HigherQualityAudio) { … }
TEST_F(AudioRendererAlgorithmTest, DotProduct) { … }
TEST_F(AudioRendererAlgorithmTest, MovingBlockEnergy) { … }
TEST_F(AudioRendererAlgorithmTest, FullAndDecimatedSearch) { … }
TEST_F(AudioRendererAlgorithmTest, QuadraticInterpolation) { … }
TEST_F(AudioRendererAlgorithmTest, QuadraticInterpolation_Colinear) { … }
TEST_F(AudioRendererAlgorithmTest, WsolaSlowdown) { … }
TEST_F(AudioRendererAlgorithmTest, WsolaSpeedup) { … }
TEST_F(AudioRendererAlgorithmTest, FillBufferOffset) { … }
TEST_F(AudioRendererAlgorithmTest, FillBuffer_ChannelMask) { … }
TEST_F(AudioRendererAlgorithmTest, NoLatencyHint) { … }
TEST_F(AudioRendererAlgorithmTest, LowLatencyHint) { … }
TEST_F(AudioRendererAlgorithmTest, HighLatencyHint) { … }
TEST_F(AudioRendererAlgorithmTest, ClampLatencyHint) { … }
}