[PD] JACK affects UDP rate

Miller Puckette msp at ucsd.edu
Sat Jul 24 03:05:23 CEST 2021


Aha.. I've been meaning to look at why jack doesn't respond to audio latency
setting... I think it needs fooling with.

cheers
M

On Sat, Jul 24, 2021 at 01:01:43AM +0200, Christof Ressi wrote:
> Hi Miller,
> 
> > As I understand it, when Pd is idle (finishes a 64-sample block and can't yet
> > crunch the following one), then it goes back and re-checks for network or
> > GUI input, and keeps doing that until either there isn't anything to read or
> > else the next block becomes runnable.
> 
> AFAICT, that's true for pa_send_dacs(), but not for jack_send_dacs(). The
> former calls sys_microsleep() in a loop, so it will only actually sleep if
> there are no more sockets to read; the latter immediately blocks on a
> condition variable if the buffer is not available.
> 
> > I need to add some sort of poll-it-again functionality to libpd but haven't
> > figured out what shape it should take yet.
> Since libpd manages the audio callback, the client can simply call
> sys_pollgui() as often as they want/need. I don't think that you actually
> have to add anything. Maybe just add a more fitting alias, like sys_poll()
> or sys_pollsockets()? sys_pollgui() is really a misnomer...
> 
> Christof
> 
> > So this is a simple throttling
> > mechanism.  (And it's not necessary to put this on another thread).
> > 
> > However, in the context of libpd thre's no concept of "idle" and so in that
> > setup there's only one network read per block.
> > 
> > And yes, this can lead to delays since the Macintosh helpfully stores unread
> > packets until the reading process gets around to realding them.  I think that
> > also only happens in the context of libpd.
> > 
> > I need to add some sort of poll-it-again functionality to libpd but haven't
> > figured out what shape it should take yet.
> > 
> > Miller

-- 





More information about the Pd-list mailing list