[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