[LAD] Jack ring buffer (again)

Len Ovens len at ovenwerks.net
Sat May 14 13:26:38 UTC 2016


On Sat, 14 May 2016, Will Godfrey wrote:

> While I understand that generally you can't be certain of writing or reading
> all bytes in a block of data in one call, what about the specific case where
> you *always* read and write the same number of bytes and the buffer is an exact
> multiple of this size.
>
> e.g data block is 5 bytes & buffer size is 75 bytes.

I don't think it matters... That is, I think the buffer could be 16bytes 
and you only use 3 bytes at a time (ie. MIDI) In general you can know how 
many bytes are available on the read end, and choose not to read untill 
there are at least three bytes. Then only read three bytes at a time... 
checking for at least three each time. (or whatever other size read you 
wish, audio is two bytes for 16bit, 3 for 24bit and 4 for 32bit Float, if 
you really want to do non-RT audio)

Checking for wrap around is the libs chore. I have not had any missing 
info in my projects and never worried about buffer size (besides too 
small) or size of read/data chunk in relation to size.

--
Len Ovens
www.ovenwerks.net



More information about the Linux-audio-dev mailing list