audio: implement sceAudioOutGetSystemState

This commit is contained in:
nmzik
2026-10-21 17:48:37 +02:00
parent 7b7294aa03
commit 2944d126b3
3 changed files with 22 additions and 0 deletions
+19
View File
@@ -841,6 +841,12 @@ struct AudioOutPortState {
uint64_t reserved2[2];
};
struct AudioOutSystemState {
float loudness;
uint8_t reserved8[4];
uint64_t reserved64[3];
};
int KYTY_SYSV_ABI AudioOutInit() {
PRINT_NAME();
@@ -952,6 +958,19 @@ int KYTY_SYSV_ABI AudioOutGetPortState(int handle, AudioOutPortState* state) {
return OK;
}
int KYTY_SYSV_ABI AudioOutGetSystemState(AudioOutSystemState* state) {
PRINT_NAME();
if (state == nullptr) {
return AUDIO_OUT_ERROR_INVALID_POINTER;
}
// Loudness is undefined until measurement starts; no measurement is emulated.
*state = {};
return OK;
}
int KYTY_SYSV_ABI AudioOutSetVolume(int handle, uint32_t flag, int* vol) {
PRINT_NAME();
+2
View File
@@ -18,6 +18,7 @@ namespace AudioOut {
struct AudioOutOutputParam;
struct AudioOutPortState;
struct AudioOutSystemState;
int KYTY_SYSV_ABI AudioOutInit();
int KYTY_SYSV_ABI AudioOutOpen(int user_id, int type, int index, uint32_t len, uint32_t freq,
@@ -27,6 +28,7 @@ int KYTY_SYSV_ABI AudioOutOutputs(AudioOutOutputParam* param, uint32_t num);
int KYTY_SYSV_ABI AudioOutOutput(int handle, const void* ptr);
int KYTY_SYSV_ABI AudioOutClose(int handle);
int KYTY_SYSV_ABI AudioOutGetPortState(int handle, AudioOutPortState* state);
int KYTY_SYSV_ABI AudioOutGetSystemState(AudioOutSystemState* state);
} // namespace AudioOut
+1
View File
@@ -131,6 +131,7 @@ LIB_DEFINE(InitAudio_1_AudioOut) {
LIB_FUNC("QOQtbeDqsT4", AudioOut::AudioOutOutput);
LIB_FUNC("s1--uE9mBFw", AudioOut::AudioOutClose);
LIB_FUNC("GrQ9s4IrNaQ", AudioOut::AudioOutGetPortState);
LIB_FUNC("R5hemoKKID8", AudioOut::AudioOutGetSystemState);
}
} // namespace LibAudioOut