From 3a58e3a1d055db9e96c3c209c624f6e375bcfee4 Mon Sep 17 00:00:00 2001 From: David Reid Date: Wed, 6 Mar 2019 19:29:57 +1000 Subject: [PATCH] Fix resampling tests. --- research/tests/mal_resampler_test_0.c | 2 +- tests/mal_resampling.c | 21 +++++++++++------- tests/mal_test_0.vcxproj | 32 ++++++++++----------------- tests/mal_test_0.vcxproj.filters | 3 --- 4 files changed, 26 insertions(+), 32 deletions(-) diff --git a/research/tests/mal_resampler_test_0.c b/research/tests/mal_resampler_test_0.c index 765bf18a..32e88c12 100644 --- a/research/tests/mal_resampler_test_0.c +++ b/research/tests/mal_resampler_test_0.c @@ -17,7 +17,7 @@ mal_uint32 on_read(mal_resampler* pResampler, mal_uint32 frameCount, void** ppFr { mal_assert(pResampler->config.format == mal_format_f32); - return (mal_uint32)mal_sine_wave_read_ex(&sineWave, frameCount, pResampler->config.channels, pResampler->config.layout, (float**)ppFramesOut); + return (mal_uint32)mal_sine_wave_read_f32_ex(&sineWave, frameCount, pResampler->config.channels, pResampler->config.layout, (float**)ppFramesOut); } int main(int argc, char** argv) diff --git a/tests/mal_resampling.c b/tests/mal_resampling.c index 754c5c1f..551081f8 100644 --- a/tests/mal_resampling.c +++ b/tests/mal_resampling.c @@ -40,7 +40,7 @@ mal_uint32 srcNextSampleIndex = mal_countof(srcInput); void reload_src_input() { - mal_sine_wave_read(&sineWave, mal_countof(srcInput), srcInput); + mal_sine_wave_read_f32(&sineWave, mal_countof(srcInput), srcInput); srcNextSampleIndex = 0; } @@ -64,13 +64,15 @@ mal_uint32 on_src(mal_src* pSRC, mal_uint32 frameCount, void** ppSamplesOut, voi return framesToRead; } -mal_uint32 on_send_to_device(mal_device* pDevice, mal_uint32 frameCount, void* pFrames) +void on_send_to_device(mal_device* pDevice, void* pOutput, const void* pInput, mal_uint32 frameCount) { (void)pDevice; - mal_assert(pDevice->format == mal_format_f32); - mal_assert(pDevice->channels == 1); + (void)pInput; - float* pFramesF32 = (float*)pFrames; + mal_assert(pDevice->playback.format == mal_format_f32); + mal_assert(pDevice->playback.channels == 1); + + float* pFramesF32 = (float*)pOutput; // To reproduce the case we are needing to test, we need to read from the SRC in a very specific way. We keep looping // until we've read the requested frame count, however we have an inner loop that keeps running until mal_src_read() @@ -95,7 +97,6 @@ mal_uint32 on_send_to_device(mal_device* pDevice, mal_uint32 frameCount, void* p } mal_assert(totalFramesRead == frameCount); - return frameCount; } int main(int argc, char** argv) @@ -104,14 +105,18 @@ int main(int argc, char** argv) (void)argv; - mal_device_config config = mal_device_config_init_playback(mal_format_f32, 1, 0, on_send_to_device); + mal_device_config config = mal_device_config_init(mal_device_type_playback); + config.playback.format = mal_format_f32; + config.playback.channels = 1; + config.dataCallback = on_send_to_device; + mal_device device; mal_result result; config.bufferSizeInFrames = 8192*1; // We first play the sound the way it's meant to be played. - result = mal_device_init(NULL, mal_device_type_playback, NULL, &config, NULL, &device); + result = mal_device_init(NULL, &config, &device); if (result != MAL_SUCCESS) { return -1; } diff --git a/tests/mal_test_0.vcxproj b/tests/mal_test_0.vcxproj index 88f14651..4ea24f9e 100644 --- a/tests/mal_test_0.vcxproj +++ b/tests/mal_test_0.vcxproj @@ -310,14 +310,6 @@ true true - - true - true - true - true - true - true - true true @@ -335,12 +327,12 @@ true - false - false - false - false - false - false + true + true + true + true + true + true true @@ -351,12 +343,12 @@ true - true - true - true - true - true - true + false + false + false + false + false + false true diff --git a/tests/mal_test_0.vcxproj.filters b/tests/mal_test_0.vcxproj.filters index 92eb763f..7d80857f 100644 --- a/tests/mal_test_0.vcxproj.filters +++ b/tests/mal_test_0.vcxproj.filters @@ -45,9 +45,6 @@ Source Files - - Source Files - Source Files