Merge pull request #19095 from hrydgard/mono-atrac-fix

Add back a hack for the SasAudio/sceAtrac integration (mono audio).
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2024-04-29 22:33:35 +01:00
commit 020b539a25
2 files changed
+9

No files matched your search

+4
View File
@@ -216,6 +216,10 @@ public:
int GetOutputChannels() const {
return outputChannels_;
}
void SetOutputChannels(int channels) {
// Only used for sceSas audio. To be refactored away in the future.
outputChannels_ = channels;
}
int atracID_ = -1;
+5
View File
@@ -1007,6 +1007,11 @@ u32 AtracSasDecodeData(int atracID, u8* outbuf, u32 outbufPtr, u32 *SamplesNum,
int AtracSasGetIDByContext(u32 contextAddr) {
int atracID = (int)Memory::Read_U32(contextAddr + 0xfc);
// Restored old hack here that forces outputChannels_ to 1, since sceSas expects mono output, unlike normal usage.
// This is for savestate compatibility.
// I think it would be better to simply pass in a 1 as a parameter to atrac->DecodeData in AtracSasDecodeData above.
AtracBase *atrac = getAtrac(atracID);
atrac->SetOutputChannels(1);
return atracID;
}