diff --git a/src/libs/audio.cpp b/src/libs/audio.cpp index 5af755acb..05d50e25b 100644 --- a/src/libs/audio.cpp +++ b/src/libs/audio.cpp @@ -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(); diff --git a/src/libs/audio.h b/src/libs/audio.h index 40706f5ff..fd4a2e636 100644 --- a/src/libs/audio.h +++ b/src/libs/audio.h @@ -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 diff --git a/src/libs/libAudio.cpp b/src/libs/libAudio.cpp index 2069a82b6..0827e7028 100644 --- a/src/libs/libAudio.cpp +++ b/src/libs/libAudio.cpp @@ -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