Opened 3 months ago
Last modified 3 months ago
#15598 pending feature request (pending)
BACKENDS: PS3: How does audio work / maybe incomplete source code
Reported by: | NiQ1 | Owned by: | aquadran |
---|---|---|---|
Priority: | normal | Component: | Port: PS3 |
Version: | Keywords: | ||
Cc: | NiQ1 | Game: |
Description
According to the wiki, ScummVM uses the SDL_PSL1GHT port of the SDL library, but it seems that the audio driver is broken (completely missing the play function), and yet audio does work in the PS3 port.
For maintainers who have access to the build servers - Could you check if maybe you're using a modified version of the SDK that has this function implemented?
The file is SDL/src/audio/psl1ght/SDL_psl1ghtaudio.c
The function PSL1GHT_AUD_PlayDevice is almost completely commented out (save for a single debug print).
If the library on the build servers has it implemented, it means that the said code is not public, and I'd really appreciate it if you post somewhere. If possible please make the entire library available so we could build the package with the same sources.
If it's not implemented even in the version you're using, please tell me (also if you're familiar enough with SDL and know how audio works without it, I'd very much love to learn!)
Thank you.
Change History (6)
comment:1 by , 3 months ago
Summary: | PS3 - How does audio work / maybe incomplete source code → BACKENDS: PS3: How does audio work / maybe incomplete source code |
---|
comment:2 by , 3 months ago
Type: | defect → feature request |
---|
follow-up: 5 comment:3 by , 3 months ago
First of all, thank you for getting back to me so soon.
It would appear that function is not implemented there either... guess I'd need to figure this one out myself.
However, the version of the library that you're using is a lot newer than the one mentioned on the ScummVM wiki, and I doubt it would compile with the old library by now. Furthermore, the version you're using never came up in Google searches, so updating the wiki to point at the correct library is important.
Library: https://github.com/ps3aqua/SDL2_PSL1GHT/
Toolchain: https://github.com/ps3aqua/ps3toolchain
comment:4 by , 3 months ago
P.S.
I can't figure out a way to contact ps3aqua, but since his/her GitHub says they're developing it especially for ScummVM then maybe they're around here?
Please tell them there's a use after free in the joystick routines. Not sure whether it has a serious security significance.
comment:5 by , 3 months ago
Component: | Audio → Port: PS3 |
---|---|
Owner: | set to |
Resolution: | → pending |
Status: | new → pending |
Replying to NiQ1:
[...] Furthermore, the version you're using never came up in Google searches, so updating the wiki to point at the correct library is important.
You're right :) I've just updated the PS3 wiki page at <https://wiki.scummvm.org/index.php?title=PlayStation_3>.
I can't figure out a way to contact ps3aqua, but since his/her GitHub says they're developing it especially for ScummVM then maybe they're around here?
It's aquadran over here (or the same nickname, over gmail.com). I've updated this ticket so that he gets a notification.
Please tell them there's a use after free in the joystick routines. Not sure whether it has a serious security significance.
Thanks, do you have any more technical detail about what you saw?
comment:6 by , 3 months ago
SDL2_PSL1GHT is not really port for PS3, it's minimalistic functionality for ScummVM with wrapped some psl1ight sdk functions. Audio is working I think by putting audio data (scummvm mixer) into audio ps3 audio queue.
What are expectations from this ticket?
Personally I was thinking about dropping SDL layer and use psl1ight directly, but I'm keeping it for now.
Hi,
I'm not the PS3 maintainer and I don't maintain the build servers either, but the scripts, libraries and toolchains used to build the development releases can be found here:
https://github.com/scummvm/dockerized-bb/tree/master/toolchains/ps3
with build instructions (using Docker) here:
https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/Docker
In your particular case, the PS3 toolchain currently used is described here:
https://github.com/scummvm/dockerized-bb/blob/master/toolchains/ps3/packages/toolchain/build.sh#L3-L11
and the PS3 libraries are here:
https://github.com/scummvm/dockerized-bb/blob/master/toolchains/ps3/packages/libraries/build.sh#L3-L11
and if you follow that, you should find the https://github.com/ps3aqua/SDL2_PSL1GHT fork that's used.