fix: increase test audio buffer size to prevent buffer overflow

Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
Loic Coenen
2026-05-04 21:55:46 +00:00
parent 9e3d75536d
commit e417843fd8

View File

@@ -42,7 +42,9 @@ static atomic_int tests_passed;
static atomic_int tests_failed;
// Shared buffers for test audio input (written by test thread, read by JACK callback)
static float test_audio_input[MAX_CHANNELS][TEST_NFRAMES * TEST_DURATION_SECONDS];
// Max samples = sample_rate * max_duration_seconds (sample_rate is typically 48000)
#define MAX_SAMPLES (48000 * TEST_DURATION_SECONDS)
static float test_audio_input[MAX_CHANNELS][MAX_SAMPLES];
static atomic_size_t test_audio_input_count[MAX_CHANNELS];
static atomic_size_t test_audio_input_read[MAX_CHANNELS];
@@ -51,7 +53,7 @@ static uint8_t test_midi_buffer[3]; // status, note, velocity
static atomic_bool test_midi_pending;
// Test audio output buffers (written by JACK callback, read by test thread)
static float test_output_buffer[MAX_CHANNELS][TEST_NFRAMES * TEST_DURATION_SECONDS];
static float test_output_buffer[MAX_CHANNELS][MAX_SAMPLES];
static atomic_size_t test_output_count[MAX_CHANNELS];
// ============================================================
@@ -100,7 +102,7 @@ static int test_process_callback(jack_nframes_t nframes, void *arg) {
jack_port_get_buffer(test_audio_in[ch], nframes);
size_t count = atomic_load(&test_output_count[ch]);
if (count + nframes <= TEST_NFRAMES * TEST_DURATION_SECONDS) {
if (count + nframes <= MAX_SAMPLES) {
for (jack_nframes_t i = 0; i < nframes; i++) {
test_output_buffer[ch][count + i] = in[i];
}