[alsa-devel] snd_pcm_drain and partial periods

Clemens Ladisch clemens at ladisch.de
Fri Nov 25 18:38:56 CET 2011


Trent Piepho wrote:
> When the driver schedules the final period, couldn't it check if the
> device is draining, and if so try to end playback at the right time.

The ALSA framework was designed for cards where DMA doesn't need to
be scheduled continuously, so it is assumed that stopping happens
asynchronously.

You could try to check the PCM state, but it's possible that the call
to snd_pcm_drain() happens after you've scheduled the final period.


Regards,
Clemens


More information about the Alsa-devel mailing list