Program blocks with alsa pulse plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm not sure where exactly the problem is, probably in the alsa pulse
plugin? And not sure where alsa pulse plugin should be reported, ALSA
or PA?
Using http://byuu.org/bsnes/ through the ALSA API with PulseAudio at
some point provokes the game to block with 100% CPU usage. Stopping it
I get this backtrace:

Program received signal SIGTSTP, Stopped (user).
0x00007ffff2b8a386 in poll () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff2b8a386 in poll () from /lib64/libc.so.6
#1  0x00007ffff72ac94c in snd1_pcm_wait_nocheck () from
/usr/lib64/libasound.so.2
#2  0x00007ffff72accb7 in snd1_pcm_write_areas () from /usr/lib64/libasound.so.2
#3  0x00007ffff72ebf3a in snd_pcm_ioplug_writei () from
/usr/lib64/libasound.so.2
#4  0x000000000043e1b8 in ruby::AudioALSA::sample (this=<value
optimized out>, left=<value optimized out>, right=<value optimized
out>)
    at lib/ruby/audio/alsa.cpp:101
#5  0x000000000043ed8b in ruby::AudioInterface::sample (this=0x74c520,
left=<value optimized out>, right=<value optimized out>)
    at lib/ruby/ruby_audio.cpp:110
#6  0x00000000004a5b82 in SNES::sDSP::enter (this=0x8528c0) at
dsp/sdsp/sdsp.cpp:199
#7  0x00000000004a309a in SNES::sSMP::op_read (this=0x851860,
addr=4532) at smp/ssmp/timing/timing.cpp:8
#8  0x00000000004a2652 in SNES::sSMP::enter (this=0x851860) at
smp/core/memory.hpp:2
#9  0x000000000043bec0 in ?? () at lib/libco/x86-64.c:31
#10 0x0000000000000000 in ?? ()

There are lots of snd_pcm_writei() (lib/ruby/audio/alsa.cpp:101) calls
before bsnes blocks, and the only errors are some underruns that are
"fixed" with snd_pcm_recover(). Just that at some point (easier to
trigger with 150% or 200% emu speed) blocks. It's using the "safe
ALSA" everywhere, so...


This is with openSUSE 11.1. But also with openSUSE 11.1 + PA from
multimedia:libs (0.9.14) and a recent GIT snapshot of ALSA from
multimedia:audio:snapshot and multimedia:audio:KMP.
There is a package for Fedora in rpmfusion, and they have a readme
that states the problem also happens there.

To avoid this bsnes dev created a native PA backend. I inform just in
case this is triggering a bug, perhaps affecting other software, you
are interested in fix...


PS. ...obviously bsnes never blocks when using ALSA directly.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux