From a674e8057ff6bf66184a9b749da5df7a57b3aab8 Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Sat, 11 Jul 2026 22:50:00 +0200 Subject: [PATCH] it was not butterworth, but... redo the audio calc only if it needs change --- src/fm95.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fm95.c b/src/fm95.c index 0645d12..7a05fc7 100644 --- a/src/fm95.c +++ b/src/fm95.c @@ -442,7 +442,7 @@ void init_runtime(FM95_Runtime* runtime, const FM95_Config config) { runtime->rds_symbol[i] = -1.0f; runtime->rds_last_bit[i] = 0; - runtime->rds_filter[i] = iirfilt_rrrf_create_prototype(LIQUID_IIRDES_CHEBY2, LIQUID_IIRDES_LOWPASS, LIQUID_IIRDES_SOS, 5, (2400.0f/config.sample_rate), 0.0f, 1.0f, 30.0f); + runtime->rds_filter[i] = iirfilt_rrrf_create_prototype(LIQUID_IIRDES_BUTTER, LIQUID_IIRDES_LOWPASS, LIQUID_IIRDES_SOS, 5, (2400.0f/config.sample_rate), 0.0f, 1.0f, 30.0f); if(config.stereo_ssb) init_delay_line(&runtime->rds_delays[i], config.stereo_ssb*2); } @@ -585,8 +585,10 @@ static void *handle_client(ipc_client_arg_t *arg) { case 113: // Set RDS streams memcpy(&bval, buf + 1, 1); - data->config->rds_streams = bval; - data->config->volumes.audio = calculate_sharedaudio_volume(data->config->volumes, bval); + if(data->config->rds_streams != bval) { + data->config->rds_streams = bval; + data->config->volumes.audio = calculate_sharedaudio_volume(data->config->volumes, bval); + } reply = 0; break; case 0xfe: