When command SNDRV_PCM_TRIGGER_STOP is asked in snd_pcm_ops trigger(), which buffer in the buffer list should be the last one to output by the DMA?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In our blackfin ad1981 linux driver, there is an output ring with
"periods" buffers. Each buffer is of the size of "period_size".

After ALSA starts playing, several buffers ahead of current one
running by the DMA controller are usually filled in advance by the
ALSA layer. When command SNDRV_PCM_TRIGGER_STOP is asked in
snd_pcm_ops trigger(), which buffer should be the last one to output
by the DMA?

1. Current buffer, which is running by the DMA controller
2. The last buffer, which the DMA controller just finished outputting
and snd_pcm_ops pointer() is notifiyed to ALSA layer. Does this mean
current buffer in DMA should be abandoned in the middle?
3. The last buffer, which the ALSA layer has just filled in snd_pcm_ops copy()?


Thanks
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux