[alsa-devel] [PATCH - JACK PCM plugin] jack: Use boundary as hw_ptr wrap around
Takashi Iwai
tiwai at suse.de
Tue Feb 13 18:03:32 CET 2018
On Tue, 13 Feb 2018 15:56:08 +0100,
Wischer, Timo (ADITG/ESB) wrote:
>
> Hello Takashi,
>
> > This has nothing to do with the reported position. If this happens,
> it simply means an XRUN. You should report the error instead.
>
> When the ALSA buffer is full and the JACK daemon is requesting exactly the amount of samples of the buffer size
> I do not see an under run here.
> After such an operation the ALSA buffer is empty
> but the JACK daemon has not read more samples than available.
The backend has nothing to do with such a case. This happens only
when the application uses periods=1, and then it implies that the
application must know of the situation.
The ioplug simulates the say the hardware device would behave. It
notifies the period elapse via file-descriptor and it reports the DMA
ring-buffer position. The ring buffer is between 0 to buffer size,
you must not exceed it in the reporting.
Takashi
> Exactly in this case we would increment the hw_ptr += buffer_size
> but this would not be recognized by the ALSA library
> when we are using a wrap around of buffer_size.
>
>
> > No, the ioplug backend has to report the position from 0 to buffer_size.
>
> I know but I think the ioplug API implementation has possibly to be changed to allow exactly such use cases
> as described above.
>
> Or do you have another idea how to report such a hw_ptr change?
>
> Best regards
>
> Timo Wischer
>
> Advanced Driver Information Technology GmbH
> Engineering Software Base (ADITG/ESB)
> Robert-Bosch-Str. 200
> 31139 Hildesheim
> Germany
>
> Tel. +49 5121 49 6938
> Fax +49 5121 49 6999
> twischer at de.adit-jv.com
>
> ADIT is a joint venture company of Robert Bosch GmbH/Robert Bosch Car Multimedia GmbH and DENSO Corporation
> Sitz: Hildesheim, Registergericht: Amtsgericht Hildesheim HRB 3438
> Geschäftsführung: Wilhelm Grabow, Ken Yaguchi
>
More information about the Alsa-devel
mailing list