diff --git a/src/core/libraries/audio3d/audio3d.cpp b/src/core/libraries/audio3d/audio3d.cpp index aa99ba220..ccbc8f305 100644 --- a/src/core/libraries/audio3d/audio3d.cpp +++ b/src/core/libraries/audio3d/audio3d.cpp @@ -12,80 +12,16 @@ namespace Libraries::Audio3d { -int PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMixCoefficients(OrbisAudio3dSpeakerArrayHandle handle, - OrbisAudio3dPosition pos, float fSpread, - float* pCoefficients, - unsigned int uiNumCoefficients) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); +// Audio3d + +int PS4_SYSV_ABI sceAudio3dInitialize(s64 iReserved) { + LOG_INFO(Lib_Audio3d, "iReserved = {}", iReserved); return ORBIS_OK; } -int PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMixCoefficients2(OrbisAudio3dSpeakerArrayHandle handle, - OrbisAudio3dPosition pos, float fSpread, - float* pCoefficients, - unsigned int uiNumCoefficients, - bool bHeightAware, - float fDownmixSpreadRadius) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortQueryDebug() { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dObjectUnreserve(OrbisAudio3dPortId uiPortId, - OrbisAudio3dObjectId uiObjectId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dObjectSetAttributes(OrbisAudio3dPortId uiPortId, - OrbisAudio3dObjectId uiObjectId, - size_t szNumAttributes, - const OrbisAudio3dAttribute* pAttributeArray) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -s32 PS4_SYSV_ABI sceAudio3dAudioOutOutput(s32 handle, const void* ptr) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dDeleteSpeakerArray(OrbisAudio3dSpeakerArrayHandle handle) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortGetAttributesSupported(OrbisAudio3dPortId uiPortId, - OrbisAudio3dAttributeId* pCapabilities, - unsigned int* pNumCapabilities) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dBedWrite(OrbisAudio3dPortId uiPortId, unsigned int uiNumChannels, - OrbisAudio3dFormat eFormat, const void* pBuffer, - unsigned int uiNumSamples) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -const char* PS4_SYSV_ABI sceAudio3dStrError(int iErrorCode) { - LOG_ERROR(Lib_Audio3d, "sceAudio3dStrError called, error code = %d", iErrorCode); - return "NOT_IMPLEMENTED"; -} - -int PS4_SYSV_ABI sceAudio3dPortGetState() { - LOG_WARNING(Lib_Audio3d, "DEBUG sceAudio3dPortGetState called"); - return ORBIS_OK; -} - -s32 PS4_SYSV_ABI sceAudio3dAudioOutOutputs(::Libraries::AudioOut::OrbisAudioOutOutputParam* param, - s32 num) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); +int PS4_SYSV_ABI sceAudio3dTerminate() { + // TODO: When not initialized or some ports still open, return ORBIS_AUDIO3D_ERROR_NOT_READY + LOG_INFO(Lib_Audio3d, "called"); return ORBIS_OK; } @@ -98,15 +34,227 @@ void PS4_SYSV_ABI sceAudio3dGetDefaultOpenParameters(OrbisAudio3dOpenParameters* sParameters->uiQueueDepth = 2; sParameters->eBufferMode = ORBIS_AUDIO3D_BUFFER_ADVANCE_AND_PUSH; sParameters->uiNumBeds = 2; + } else { + LOG_ERROR(Lib_Audio3d, "Invalid OpenParameters ptr"); } } -int PS4_SYSV_ABI sceAudio3dPortDestroy(OrbisAudio3dPortId uiPortId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); +int PS4_SYSV_ABI sceAudio3dPortOpen(OrbisUserServiceUserId iUserId, + const OrbisAudio3dOpenParameters* pParameters, + OrbisAudio3dPortId* pId) { + LOG_INFO(Lib_Audio3d, "iUserId = {}, pParameters = {}", iUserId, pParameters); return ORBIS_OK; } int PS4_SYSV_ABI sceAudio3dPortClose(OrbisAudio3dPortId uiPortId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortSetAttribute(OrbisAudio3dPortId uiPortId, + OrbisAudio3dAttributeId uiAttributeId, + const void* pAttribute, size_t szAttribute) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}, uiAttributeId = {}, pAttribute = {}, szAttribute = {}", + uiPortId, uiAttributeId, pAttribute, szAttribute); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortFlush(OrbisAudio3dPortId uiPortId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortAdvance(OrbisAudio3dPortId uiPortId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortPush(OrbisAudio3dPortId uiPortId, OrbisAudio3dBlocking eBlocking) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}, eBlocking = {}", uiPortId, eBlocking); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetAttributesSupported(OrbisAudio3dPortId uiPortId, + OrbisAudio3dAttributeId* pCapabilities, + unsigned int* pNumCapabilities) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetQueueLevel(OrbisAudio3dPortId uiPortId, unsigned int* pQueueLevel, + unsigned int* pQueueAvailable) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dObjectReserve(OrbisAudio3dPortId uiPortId, OrbisAudio3dObjectId* pId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dObjectUnreserve(OrbisAudio3dPortId uiPortId, + OrbisAudio3dObjectId uiObjectId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}, uiObjectId = {}", uiPortId, uiObjectId); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dObjectSetAttributes(OrbisAudio3dPortId uiPortId, + OrbisAudio3dObjectId uiObjectId, + size_t szNumAttributes, + const OrbisAudio3dAttribute* pAttributeArray) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}, uiObjectId = {}, szNumAttributes = {}", uiPortId, + uiObjectId, szNumAttributes); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dBedWrite(OrbisAudio3dPortId uiPortId, unsigned int uiNumChannels, + OrbisAudio3dFormat eFormat, const void* pBuffer, + unsigned int uiNumSamples) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}, uiNumChannels = {}, eFormat = {}, uiNumSamples = {}", + uiPortId, uiNumChannels, eFormat, pBuffer, uiNumSamples); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dBedWrite2(OrbisAudio3dPortId uiPortId, unsigned int uiNumChannels, + OrbisAudio3dFormat eFormat, const void* pBuffer, + unsigned int uiNumSamples, + OrbisAudio3dOutputRoute eOutputRoute, bool bRestricted) { + LOG_INFO(Lib_Audio3d, + "uiPortId = {}, uiNumChannels = {}, eFormat = {}, uiNumSamples = {}, eOutputRoute = " + "{}, bRestricted = {}", + uiPortId, uiNumChannels, eFormat, uiNumSamples, eOutputRoute, bRestricted); + return ORBIS_OK; +} + +size_t PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMemorySize(unsigned int uiNumSpeakers, bool bIs3d) { + LOG_INFO(Lib_Audio3d, "uiNumSpeakers = {}, bIs3d = {}", uiNumSpeakers, bIs3d); + return ORBIS_OK; +} + +int PS4_SYSV_ABI +sceAudio3dCreateSpeakerArray(OrbisAudio3dSpeakerArrayHandle* pHandle, + const OrbisAudio3dSpeakerArrayParameters* pParameters) { + if (pHandle == nullptr || pParameters == nullptr) { + LOG_ERROR(Lib_Audio3d, "invalid SpeakerArray parameters"); + return ORBIS_AUDIO3D_ERROR_INVALID_PARAMETER; + } + LOG_INFO(Lib_Audio3d, "called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dDeleteSpeakerArray(OrbisAudio3dSpeakerArrayHandle handle) { + LOG_INFO(Lib_Audio3d, "handle = {}", handle); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMixCoefficients(OrbisAudio3dSpeakerArrayHandle handle, + OrbisAudio3dPosition pos, float fSpread, + float* pCoefficients, + unsigned int uiNumCoefficients) { + LOG_INFO(Lib_Audio3d, "handle = {}, pos = {}, fSpread = {}, uiNumCoefficients = {}", handle, + pos, fSpread, uiNumCoefficients); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMixCoefficients2(OrbisAudio3dSpeakerArrayHandle handle, + OrbisAudio3dPosition pos, float fSpread, + float* pCoefficients, + unsigned int uiNumCoefficients, + bool bHeightAware, + float fDownmixSpreadRadius) { + LOG_INFO(Lib_Audio3d, + "handle = {}, pos = {}, fSpread = {}, uiNumCoefficients = {}, bHeightAware = {}, " + "fDownmixSpreadRadius = {}", + handle, pos, fSpread, uiNumCoefficients, bHeightAware, fDownmixSpreadRadius); + return ORBIS_OK; +} + +s32 PS4_SYSV_ABI sceAudio3dAudioOutOpen(OrbisAudio3dPortId uiPortId, OrbisUserServiceUserId userId, + s32 type, s32 index, u32 len, u32 freq, u32 param) { + LOG_INFO(Lib_Audio3d, + "uiPortId = {}, userId = {}, type = {}, index = {}, len = {}, freq = {}, param = {}", + uiPortId, userId, type, index, len, freq, param); + return ORBIS_OK; +} + +s32 PS4_SYSV_ABI sceAudio3dAudioOutClose(s32 handle) { + LOG_INFO(Lib_Audio3d, "handle = {}", handle); + return ORBIS_OK; +} + +s32 PS4_SYSV_ABI sceAudio3dAudioOutOutput(s32 handle, const void* ptr) { + LOG_INFO(Lib_Audio3d, "handle = {}", handle); + if (ptr == nullptr) { + LOG_ERROR(Lib_Audio3d, "invalid Output ptr"); + return ORBIS_AUDIO3D_ERROR_INVALID_PARAMETER; + } + return ORBIS_OK; +} + +s32 PS4_SYSV_ABI sceAudio3dAudioOutOutputs(::Libraries::AudioOut::OrbisAudioOutOutputParam* param, + s32 num) { + LOG_INFO(Lib_Audio3d, "num = {}", num); + if (param == nullptr) { + LOG_ERROR(Lib_Audio3d, "invalid OutputParam ptr"); + return ORBIS_AUDIO3D_ERROR_INVALID_PARAMETER; + } + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortCreate(unsigned int uiGranularity, OrbisAudio3dRate eRate, + s64 iReserved, OrbisAudio3dPortId* pId) { + LOG_INFO(Lib_Audio3d, "uiGranularity = {}, eRate = {}, iReserved = {}", uiGranularity, + eRate, iReserved); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortDestroy(OrbisAudio3dPortId uiPortId) { + LOG_INFO(Lib_Audio3d, "uiPortId = {}", uiPortId); + return ORBIS_OK; +} + +// Audio3dPrivate + +const char* PS4_SYSV_ABI sceAudio3dStrError(int iErrorCode) { + LOG_ERROR(Lib_Audio3d, "(PRIVATE) called, iErrorCode = {}", iErrorCode); + return "NOT_IMPLEMENTED"; +} + +// Audio3dDebug + +int PS4_SYSV_ABI sceAudio3dPortQueryDebug() { + LOG_WARNING(Lib_Audio3d, "(DEBUG) sceAudio3dPortQueryDebug called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetList() { + LOG_WARNING(Lib_Audio3d, "(DEBUG) sceAudio3dPortGetList called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetParameters() { + LOG_WARNING(Lib_Audio3d, "(DEBUG) sceAudio3dPortGetParameters called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetState() { + LOG_WARNING(Lib_Audio3d, "(DEBUG) sceAudio3dPortGetState called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortFreeState() { + LOG_WARNING(Lib_Audio3d, "(DEBUG) sceAudio3dPortFreeState called"); + return ORBIS_OK; +} + +// Unknown + +int PS4_SYSV_ABI sceAudio3dPortGetBufferLevel() { + LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAudio3dPortGetStatus() { LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); return ORBIS_OK; } @@ -116,124 +264,11 @@ int PS4_SYSV_ABI sceAudio3dReportRegisterHandler() { return ORBIS_OK; } -int PS4_SYSV_ABI sceAudio3dPortGetBufferLevel() { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortGetList(OrbisAudio3dPortId* pPorts, unsigned int* pNumPorts) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortCreate(unsigned int uiGranularity, OrbisAudio3dRate eRate, - s64 iReserved, OrbisAudio3dPortId* pId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dInitialize(s64 iReserved) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortPush(OrbisAudio3dPortId uiPortId, OrbisAudio3dBlocking eBlocking) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dTerminate() { - // TODO: When not initialized or some ports still open, return ORBIS_AUDIO3D_ERROR_NOT_READY - LOG_INFO(Lib_Audio3d, "sceAudio3dTerminate called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortOpen(OrbisUserServiceUserId iUserId, - const OrbisAudio3dOpenParameters* pParameters, - OrbisAudio3dPortId* pId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortGetQueueLevel(OrbisAudio3dPortId uiPortId, unsigned int* pQueueLevel, - unsigned int* pQueueAvailable) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortSetAttribute(OrbisAudio3dPortId uiPortId, - OrbisAudio3dAttributeId uiAttributeId, - const void* pAttribute, size_t szAttribute) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortFlush(OrbisAudio3dPortId uiPortId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortGetParameters() { - LOG_WARNING(Lib_Audio3d, "DEBUG sceAudio3dPortGetParameters called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortGetStatus() { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dObjectReserve(OrbisAudio3dPortId uiPortId, OrbisAudio3dObjectId* pId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -size_t PS4_SYSV_ABI sceAudio3dGetSpeakerArrayMemorySize(unsigned int uiNumSpeakers, bool bIs3d) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI -sceAudio3dCreateSpeakerArray(OrbisAudio3dSpeakerArrayHandle* pHandle, - const OrbisAudio3dSpeakerArrayParameters* pParameters) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dPortAdvance(OrbisAudio3dPortId uiPortId) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -s32 PS4_SYSV_ABI sceAudio3dAudioOutClose(s32 handle) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - int PS4_SYSV_ABI sceAudio3dReportUnregisterHandler() { LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); return ORBIS_OK; } -int PS4_SYSV_ABI sceAudio3dPortFreeState() { - LOG_WARNING(Lib_Audio3d, "DEBUG sceAudio3dPortFreeState called"); - return ORBIS_OK; -} - -s32 PS4_SYSV_ABI sceAudio3dAudioOutOpen(OrbisAudio3dPortId uiPortId, OrbisUserServiceUserId userId, - s32 type, s32 index, u32 len, u32 freq, u32 param) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - -int PS4_SYSV_ABI sceAudio3dBedWrite2(OrbisAudio3dPortId uiPortId, unsigned int uiNumChannels, - OrbisAudio3dFormat eFormat, const void* pBuffer, - unsigned int uiNumSamples, - OrbisAudio3dOutputRoute eOutputRoute, bool bRestricted) { - LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); - return ORBIS_OK; -} - int PS4_SYSV_ABI sceAudio3dSetGpuRenderer() { LOG_ERROR(Lib_Audio3d, "(STUBBED) called"); return ORBIS_OK; diff --git a/src/core/libraries/audio3d/audio3d.h b/src/core/libraries/audio3d/audio3d.h index 43f1fecda..6cbe2d02f 100644 --- a/src/core/libraries/audio3d/audio3d.h +++ b/src/core/libraries/audio3d/audio3d.h @@ -19,7 +19,6 @@ typedef int OrbisUserServiceUserId; typedef unsigned int OrbisAudio3dPortId; typedef unsigned int OrbisAudio3dObjectId; typedef unsigned int OrbisAudio3dAttributeId; -typedef unsigned int OrbisAudio3dPluginId; enum OrbisAudio3dFormat { ORBIS_AUDIO3D_FORMAT_S16 = 0, // s16 diff --git a/src/core/libraries/audio3d/audio3d_impl.h b/src/core/libraries/audio3d/audio3d_impl.h index 738b5dd4b..4e6342b1b 100644 --- a/src/core/libraries/audio3d/audio3d_impl.h +++ b/src/core/libraries/audio3d/audio3d_impl.h @@ -10,6 +10,7 @@ namespace Libraries::Audio3d { class Audio3d { public: private: + typedef unsigned int OrbisAudio3dPluginId; }; } // namespace Libraries::Audio3d