summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorDavid Racine <bass_dr@hotmail.com>2026-09-06 09:10:21 -0400
committerGitHub <noreply@github.com>2026-09-06 13:10:21 +0000
commit17a4c2cf89a9b34c8b1b6db9bf17cd46ddb3c93b (patch)
tree3ab37dee33fc88d6e0b8be83a7395f01771e3acf /soh/src/code
parente44bd8d9897c367d9b3e853e14114cc1901839d7 (diff)
Reopen the OPUS decoder when a note moves to another sample (#7137)
The decoder cached on a note was keyed on nothing, so a note reused for a different streamed sample carried on decoding the previous track. Audible as the wrong custom music: the sequence and soundfont the audio editor reports are correct, only the samples reaching the mixer are not. Reproduced on the game-start cutscene chain with a streamed music pack in 4 of 6 runs; 0 of 6 after. Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: serprex <159546+serprex@users.noreply.github.com>
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/audio_playback.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/soh/src/code/audio_playback.c b/soh/src/code/audio_playback.c
index ce6c5d6f1..ba250252c 100644
--- a/soh/src/code/audio_playback.c
+++ b/soh/src/code/audio_playback.c
@@ -150,7 +150,7 @@ void Audio_NoteInit(Note* note) {
note->noteSubEu = gDefaultNoteSub;
}
-extern void aOPUSFree(struct OggOpusFile* opusFile);
+extern void aOPUSFree(struct OpusDecState* dec);
void Audio_NoteDisable(Note* note) {
if (note->noteSubEu.bitField0.needsInit == true) {
note->noteSubEu.bitField0.needsInit = false;