[PD] still no hdsp+alsa+pd
Thomas Grill
t.grill at gmx.net
Sun Sep 15 04:12:13 CEST 2002
Hi all,
there are strange things happening with/in the HDSP alsa driver.
Calling pd with something like "pd -r 44100 -alsadev hw:1,0" results in
the usual console printout
Sample width set to 4 bytes
ALSA: set input channels to 10
ALSA lib pcm_hw.c:292:(snd_pcm_hw_hw_params) SNDRV_PCM_IOCTL_HW_PARAMS
failed: Device or resource busy
snd_pcm_hw_params (input): Device or resource busy
pd: pcm.c:4358: snd_pcm_sw_params_current: Assertion `pcm->setup' failed.
but also an interesting kernel message
ALSA ../../alsa-kernel/pci/rme9652/hdsp.c:690: cannot change between
single- and double-speed mode (capture PID = 2561, playback PID = 2561)
Looking into the driver code (and inserting some debug printouts) shows
that there seems to be a bug in the driver:
the function hdsp_system_sample_rate can also return 0 (which stands for
a "default" sample rate). This case is not handled in the select
statement starting at line 650 and causes the debug output and bail out.
If i adapt the code and print out the sample rates that pd wants to set
i get strange results:
ALSA ../../alsa-kernel/pci/rme9652/hdsp.c:646: set sample rate (current
= 0, set = 64000)
Does PD want to set a wrong sample rate?
Now the PD console printout is
pd: pcm.c:964: snd_pcm_writei: Assertion `pcm->access ==
SND_PCM_ACCESS_RW_INTERLEAVED' failed.
which seems much more logical.
Is there a way to cope with interleaved streams by having an appropriate
.asoundrc?
Hopefully getting nearer to a solution.... (but no time to do further
experiments)
greetings,
Thomas
More information about the Pd-list
mailing list