[alsa-devel] safe support for rewind in ALSA

Raymond Yau superquad.vortex2 at gmail.com
Sat Feb 6 12:59:12 CET 2010


2010/2/2 Jaroslav Kysela <perex at perex.cz>

> On Mon, 1 Feb 2010, pl bossart wrote:
>
> > All,
> > I'd like to reopen a thread on concerns with the current
> > implementation of rewind in ALSA. This was already discussed on the
> > mailing list last year without any progress.
>
> I don't think that there have been no progress. The queued samples can be
> stored to runtime->delay now, so snd_pcm_delay() returns a correct
> value.
>
> The snd_pcm_rewind() and snd_pcm_forward() functions should operate in the
> ring buffer and it's ok. See the USB driver for an example. Just add
> support for runtime->delay to the lowlevel drivers and use snd_pcm_delay()
> correctly in the user space and everything will work as expected.
>
> In other words - for hardware with large FIFOs, the runtime->delay should
> be used for queued samples and the hw_ptr in the ring buffer should be
> increased as soon as the FIFO is filled with samples from the ring buffer.
>
>                                        Jaroslav
>
>
How about those alsa plugins ( e.g. pulse , jack , oss , .... )

Can alsa application use snd_pcm_rewind() for pulse plugin or oss plugin ?


More information about the Alsa-devel mailing list