From e5333f4e7c92d9a12c853cbcbedaa3f190342579 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 7 May 2024 22:32:33 -0700 Subject: [PATCH] GBA Audio: Call audioRateChanged on reset if applicable --- src/gba/audio.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gba/audio.c b/src/gba/audio.c index c84d6ce27..e6b495382 100644 --- a/src/gba/audio.c +++ b/src/gba/audio.c @@ -43,6 +43,7 @@ void GBAAudioInit(struct GBAAudio* audio, size_t samples) { audio->forceDisableChA = false; audio->forceDisableChB = false; audio->masterVolume = GBA_AUDIO_VOLUME_MAX; + audio->sampleInterval = GBA_ARM7TDMI_FREQUENCY / 0x8000; } void GBAAudioReset(struct GBAAudio* audio) { @@ -81,7 +82,12 @@ void GBAAudioReset(struct GBAAudio* audio) { audio->chBLeft = false; audio->chBTimer = false; audio->enable = false; - audio->sampleInterval = GBA_ARM7TDMI_FREQUENCY / 0x8000; + if (audio->sampleInterval != GBA_ARM7TDMI_FREQUENCY / 0x8000) { + audio->sampleInterval = GBA_ARM7TDMI_FREQUENCY / 0x8000; + if (audio->p->stream && audio->p->stream->audioRateChanged) { + audio->p->stream->audioRateChanged(audio->p->stream, GBA_ARM7TDMI_FREQUENCY / audio->sampleInterval); + } + } audio->psg.sampleInterval = audio->sampleInterval; }