[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