Merge pull request #20511 from hrydgard/sasaudio-dont-reset

SasAudio: Don't reset the decoder on SetVoice if all params are the same
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2025-06-12 13:27:52 +02:00
commit 986eac71dc
1 file changed
+8 -2
+8 -2
View File
@@ -343,14 +343,20 @@ static u32 sceSasSetVoice(u32 core, int voiceNum, u32 vagAddr, int size, int loo
}
u32 prevVagAddr = v.vagAddr;
v.type = VOICETYPE_VAG;
bool reset = false;
if (v.type != VOICETYPE_VAG || v.vagAddr != vagAddr || v.vagSize != size || v.loop != loop) {
v.type = VOICETYPE_VAG;
reset = true;
}
v.vagAddr = vagAddr; // Real VAG header is 0x30 bytes behind the vagAddr
v.vagSize = size;
v.loop = loop != 0;
if (v.on) {
v.playing = true;
}
v.vag.Start(vagAddr, size, loop != 0);
if (reset) {
v.vag.Start(vagAddr, size, loop != 0);
}
return hleNoLog(0);
}