On Friday 16 November 2001 12.06, you wrote:
> > However, the hardware has no DMA, so the CPU needs to do the copying from
> > the sound card memory to the host memory, which is done in the interrupt
> > handler of the driver. This makes the card unsuitable for free-running
> > memory-mapped mode, since the mapped host memory isn't updated until the
> > interrupt is generated. This means that some programs using memory-mapped
> > mode could get choppy sound using this driver. However, it could be fixed
> > by a hack, which would not only copy in the interrupt handler, but also
> > when the sample pointer is accessed, since one can assume that most
> > free-running code will access the sample pointer before using the memory.
> > I think it is quite an ugly hack, so I have not implemented it though.
>
> It's not an ugly hack. It's a working solution, because the pointer
> routine is always called from interrupt and when the user space
> code requests the actual position. It is not allowed to an application
> to write data directly without knowledge of the actual position. We have
> already  this code in the CS46XX and EMU10K1 raw PCM drivers - see
> snd_cs46xx_*_transfer routines. It is also guaranteed that the samples are
> copied only once when needed.

Ok, I'll get right on it! Expect a patch within a few days.

/Anders Torger

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to