mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 00:53:02 -05:00
Palworld (PPSA23126, #2648) stops at start-up on the export, imported by its bundled libdiscord_partner_sdk.prx: FAIL: unresolved ELF import oiOi7vgPfAY from libSceAudioOut.prx PPSA28416 imports it from its bundled party-ps5-shipping.prx as well. The call itself has not been observed yet. SharpProspero (5dfdb4b0, Interop/Audio/AudioOut2.cs:460-464) declares `int sceAudioOut2EnableChat()`, "Allows chat audio alongside the application's own", and the ps5-payload-dev SDK stub (f5d40f02, sce_stubs/libSceAudioOut.c:62) exports it as well. There is no context or handle to validate. The host mixes no chat audio and AudioOut2 has no chat port, so the call records that chat audio is allowed (traced once with APS5_TRACE_AUDIOOUT2) and returns 0. Whether the console fails it without a chat session or when repeated is recorded in technical debt, and the PPSA28416 "signature unknown" entry is dropped. NID oiOi7vgPfAY matches tools/nid_names.py and the shadPS4 aerolib list. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
#include <atomic>
|
|
#include <cstdint>
|
|
#include "SceTypes.hpp"
|
|
#include "prx/libc/include/General.hpp"
|
|
#include "AudioOut2Internal.hpp"
|
|
|
|
static constexpr int USER_ID_SYSTEM = 0xFF;
|
|
static constexpr std::uint32_t MIN_SUPPORTED_3D_LATENCY = 1;
|
|
static constexpr std::uint32_t MAX_SUPPORTED_3D_LATENCY = 2;
|
|
|
|
static std::atomic<bool> g_chatEnabled{false};
|
|
|
|
extern "C" {
|
|
|
|
int APS5_VABI sceAudioOut2Initialize(void) {
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAudioOut2Set3DLatency(int userId, std::uint32_t latency) {
|
|
if (userId != USER_ID_SYSTEM || latency < MIN_SUPPORTED_3D_LATENCY || latency > MAX_SUPPORTED_3D_LATENCY) NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAudioOut2GetSystemState(AudioOut2SystemState* state) {
|
|
if (!state) return static_cast<int>(0x80260502);
|
|
state->loudness = 0.0f;
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAudioOut2SetSystemDebugState(const AudioOut2SystemDebugStateParam* param) {
|
|
(void)param;
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAudioOut2EnableChat(void) {
|
|
if (!g_chatEnabled.exchange(true)) AUDIOOUT2_TRACE("t=%.3f EnableChat: chat audio is allowed alongside the title's; the host mixes no chat audio\n", AudioOut2TraceSeconds());
|
|
return 0;
|
|
}
|
|
|
|
}
|