On Thu, 10 Dec 2015 06:51:48 -0800 (PST) Len Ovens <l...@ovenwerks.net> wrote:
> On Thu, 10 Dec 2015, Will J Godfrey wrote: > > > On Thu, 10 Dec 2015 09:07:25 -0500 > > Paul Davis <p...@linuxaudiosystems.com> wrote: > > > >> On Thu, Dec 10, 2015 at 9:04 AM, Will Godfrey <willgodf...@musically.me.uk> > >> wrote: > >> > >>> If I have a buffer size of 256 and always use a 4 byte data block, can I > >>> be > >>> confident that reads and writes will either transfer the correct number > >>> of bytes or none at all? > >>> > >> > >> > >> You cannot. > > > > Somehow I expected that would be the answer :( > > > > So, if I get, (say) three bytes processed, presumably I make another call > > for > > just one. > > You can check if there are 4 bytes available, if not don't read (yet). > Normally (at least for anything I have done) the reason I use the ring > buffer is to divorce the data processing from any real time requirement. > So I am reading the ring buffer in a loop, I can check how many bytes are > available. jack_ringbuffer_read_space(buffer) can be used I think. I'm doing this. My main concern was whether the pointers would be updated in byte steps or block size steps, and what implications that might have. I'm quite prepared to believe I might be over-thinking the problem. This has been known before :) -- It wasn't me! (Well actually, it probably was) ... the hard part is not dodging what life throws at you, but trying to catch the good bits. _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev