At Tue, 12 Jun 2007 11:36:33 -0500, Timur Tabi wrote: > > Takashi Iwai wrote: > > > Yes. And the "ping-poing" is the case that you have two periods in a > > ring buffer. > > Ok, I understand the 'periods' concept now, thanks. > > So when/where does ALSA copy data to the DMA buffer? Isn't there supposed to be some kind > of callback where ALSA calls the driver and says, "here's some data, please copy it to > your DMA buffer?" > > Or does ALSA do all the copying itself whenever the driver calls snd_pcm_period_elapsed()? It depends on the implementation, but usually the latter case. The whole data-transfer task is done by ALSA PCM middle layer, and each driver has to take care of the DMA setup -- as long as your hardware can have a buffer on RAM. If you need to copy the data to hardware buffer manually in some way, the things become complicated... Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel