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 tag2015, 3 months ago

Summary: PS3 - How does audio work / maybe incomplete source codeBACKENDS: PS3: How does audio work / maybe incomplete source code

comment:2 by dwatteau, 3 months ago

Type: defectfeature request

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.

comment:3 by NiQ1, 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 NiQ1, 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.

in reply to:  3 comment:5 by dwatteau, 3 months ago

Component: AudioPort: PS3
Owner: set to aquadran
Resolution: pending
Status: newpending

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 aquadran, 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.

Last edited 3 months ago by aquadran (previous) (diff)
Note: See TracTickets for help on using tickets.