[pulseaudio-discuss] PulseAudio/alsa_plugins bugs without Wine
Joerg-Cyril.Hoehle at t-systems.com
Joerg-Cyril.Hoehle at t-systems.com
Mon Jan 9 06:23:52 PST 2012
Hi,
David Henningsson wrote:
>I'd think that wine is a big enough project to justify a pulseaudio driver
Wine may have a very large user base, but if you look at who regularly
contributed code in the audio area in recent years, you'll find 2
names: Andrew and mine, with Maarten and Eric in past years.
What I want to see happen is for the PA + alsa_plugin combination to
deliver its promise of seamless integration with ALSA, i.e. be able to
use standard ALSA calls. IMHO it is not acceptable should PA ask
every app to write a backend using its own API.
The avail>buffer_size appears to be a bug in the alsa_plugins, given
that it persists after disconnecting from PA. The "need to restart
PA to recover any sound" bug that people report can only be a bug
in the PA server.
I'm sorry I've not written a C equivalent of my trivial CLISP FFI code,
nor do I have any machine with the latest PA -- the most recent one is
running Ubuntu Lucid.
Do you believe posting the Common Lisp code to the PA bugtracker would help?
It really is nothing more than:
1. open and setup hw_params + sw_params, e.g. 8000x8x1
2. snd_pcm_prepare
3. snd_pcm_write a little, e.g. 600 frames
4. print snd_pcm_state, avail_update & delay
5. sleep 5ms
6. go to 3 a dozen times
7. print snd_pcm_state, avail_update & delay
8. sleep 5ms
9. go to 7 at most 50 times or until avail < 0.
10. sleep some seconds
11. snd_pcm_recover
12. add any mix of snd_pcm_reset / drop / prepare
13. go to 3 half a dozen times.
The rest is manual analysis of log output.
It is *very* revealing*. For instance, sometimes snd_pcm_delay freezes
for 30ms, then works again as one would expect, continuously decreasing.
You may run that playing silence and observe the broken values of
avail_update. You may also play a tune and check whether audio
output matches your expectations.
Regards,
Jörg Höhle
More information about the pulseaudio-discuss
mailing list