Re: [PATCH - ALSA JACK plugin 1/1] jack: Only allow ALSA periods multiple of JACKd period

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

 



On Thu, 19 Jul 2018 09:50:09 +0200,
<twischer@xxxxxxxxxxxxxx> wrote:
> 
> From: Laxmi Devi <ldevi@xxxxxxxxxxxxxx>
> 
> There is a higher Xrun probability whenever the ALSA period is not a
> multiple of the JACKd period and the ALSA buffer is only twice the period.
> Allowing ALSA buffers of min. 3x period is not a good solution because this
> would increase the latency.
> 
> As an example in case of ALSA is using a period of 11 frames and JACK a
> period of 12 frames and a buffer of 22 frames (2x ALSA period) is used:
> - The buffer is filled and contains 22 frames
> - JACK is reading 12 frames. Buffer is only containing 10 frames
> - Now, ALSA has to be scheduled exactly after the last JACK read and
>   before the next read. Otherwise we will get an Xrun
> In case of ALSA is using a multiple period of JACK, JACK can always read
> 2 periods before an Xrun if the buffer was full.
> 
> In case of ALSA is using a period of 12 frames and JACK a period of 11
> frames and a buffer of 24 frames (2x ALSA period) is used:
> - The buffer is filled and contains 24 frames
> - JACK is reading 11 frames. Buffer is now containing 13 frames. But ALSA
>   can still not write to the buffer
> - JACK reads 11 additional frames. Buffer contains 2 frames
> - Now, ALSA has to be scheduled exactly after the last JACK read and
>   before the next read. Otherwise we will get an Xrun
> In case of ALSA is using a multiple period of JACK, ALSA can always write
> to the buffer as long as the buffer is filled with less or equal of half
> of buffer.
> 
> Therefore this patch enforces an ALSA period which is always a multiple
> of the JACKd period.
> 
> Signed-off-by: Laxmi Devi <ldevi@xxxxxxxxxxxxxx>
> Signed-off-by: Timo Wischer <twischer@xxxxxxxxxxxxxx>

Applied now.  Thanks.


Takashi
_______________________________________________
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