[CM] alsa problem ..

ilya .d errordeveloper at gmail.com
Sat, 6 Oct 2007 18:16:32 +0000

On Thu, Jul 05, 2007 at 12:23:11PM -0700, Fernando Lopez-Lezcano wrote:
> On Thu, 2007-07-05 at 12:12 -0700, Bill Schottstaedt wrote:
> > I don't know anything about this, but I notice a variable
> > 
> > snd_pcm_access_t alsa_interleave 
> > 
> > in audio.c line 3971 -- I wonder what would happen if you
> > changed it to some other value?  I can easily bring it out to
> > the Snd extension language if it's useful.
> Hmm, I fuzzily seem to remember I never implemented interleaved support
> in the alsa driver (only a few - two - cards used it at the time), if
> nobody fixed this in between......
> -- Fernando

I have still got this issue ..
but i just found out that there are two functions in the API -

Read / Write transfer
There are two versions of read / write routines. The first expects the
interleaved samples at input (SND_PCM_ACCESS_RW_INTERLEAVED access
method), and the second one expects non-interleaved (samples in
separated buffers - SND_PCM_ACCESS_RW_NONINTERLEAVED access method) at
input. There are these functions for interleaved transfers:
snd_pcm_writei() snd_pcm_readi(). For non-interleaved transfers, there
are these functions: snd_pcm_writen() and snd_pcm_readn().
this what file:///usr/share/doc/alsa-lib-1.0.14a-r1/html/pcm.html says
.. it probably was written a while ago .. i did post to alsa-devel
list, but go no reply yet.

i think about trying to change the function in audio.c .. but not sure
may be there is few more things to check out ..
snd_pcm_writei() and snd_pcm_readni() occure only twice each as i see.

as i tend to use only two apps - pure data and snd - i just looked up in
pd's source, and apparently it only uses snd_pcm_writei() and
snd_pcm_readni() as well!
pd works fine with this card ..
any ideas ..??
i get the same error if i use hw:0 or plughw:0