01-20-2016, 07:44 PM
I m using manjaro ( archlinux based distribution )
Sound problems with SDL Audio
|
01-20-2016, 07:44 PM
I m using manjaro ( archlinux based distribution )
01-23-2016, 04:44 PM
Ok now we're getting somewhere Sorry for delay. I've rebuilt with latest git, one Release version and one Debug version. Results are promising.
The assert does trigger in Debug version with 2.0.4 ! Code: PCSX2: /home/x/build/pcsx2-git/src/pcsx2/plugins/spu2-x/src/SndOut_SDL.cpp:49: void {anonymous}::callback_fillBuffer(void*, Uint8*, int): Assertion `len / sizeof(StereoOut_SDL) == samples' failed. Downgrade to lib32-sdl2-2.0.3 and no core dump.
01-24-2016, 11:46 AM
Interesting.
Would you be able to run it inside gdb? When you hit the assertion. Use "up" to go up on the stack and then when you're at the level of the callback. Could you print the content of the parameters. I.e. Code: p len
01-24-2016, 12:03 PM
I try to do something on git. Tell me if it is working on release build? I also add a printf on the sample setup.
Quote:printf(stderr, "SPU2-X: SDL failed to get desired samples (%d) got %d samples instead\n", desiredSamples, samples);Tell me if you see this kind of message.
01-24-2016, 12:53 PM
Great, the fix from git works
I don't see your printf though. I will try to gdb.
01-24-2016, 01:14 PM
Yes please. I would like to know what does SDL. If the number of sample is too slow, I'm afraid of buffer under/over run.
01-24-2016, 01:20 PM
gdb output:
Code: Request SDL audio driver: pulseaudio
01-24-2016, 01:40 PM
Could you ask SDL guy if it is expected that
User request a 1024 samples of 16 bits on 2 channel. Therefore a sample frame is sizeof(u16) * 2 = 4. But the len of callback buffer is only 2048. And therefore it could only contains 2048/4=512 samples instead of the 1024 requested. I just want to know if it is done on purpose or if is a not-expected side effect of other change.
01-24-2016, 01:55 PM
The sound is ok with the latest git version.
@gregory: Sure, no problem, I added the question.
I also tried to debug a build with "const Uint16 desiredSamples = 2048" (the patch you suggested on page 1) but result is the same: Code: (gdb) p len Edit: Uh no wait, I forgot to install the patched version. Here are actual results (I had to set a breakpoint because the assert didn't trigger anymore): Code: (gdb) p len |
« Next Oldest | Next Newest »
|