<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">JACK is already much closer to the hardware than the networking stack.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">At the conclusion of the jack process callback, it writes samples *directly into the memory mapped buffer being used by the audio hardware*. The process callback is  preemptively (and with realtime scheduling) triggered directly from the interrupt handler of the audio interface.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">JACK does not use a round-robin approach to its clients. It creates a data (flow) graph based on their interconnections and executes them (serially or in parallel) in the order dictated by the graph. <br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 19, 2018 at 5:57 PM, Jonathan Brickman <span dir="ltr"><<a href="mailto:jeb@ponderworthy.com" target="_blank">jeb@ponderworthy.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Not really sure the subgraph is so good -- one of the things JACK gives us is the extremely solid knowledge of what it just did, is doing now, and will do next period.  If I run Pulse with JACK, it's JACK controlling the hardware and Pulse feeding into it, not the other way around, because Pulse is not tightly synchronized, whereas JACK is.  But if you can make it work as well, more power to you.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,0)">Concerning seeking and timing, though, I have had to wonder.  My impression of JACK for a long time (and more learned ladies and gentlemen, please correct) is that it uses a basically round-robin approach to its clients, with variation.  I have had to wonder, especially given my need for <a href="https://github.com/ponderworthy/MultiJACK" target="_blank">this</a>, how practical a model might be possible, using preemptive multitasking or even Ethernet-style collision avoidance through entropic data, at current CPU speeds.  It's chopped into frames, right?  Couldn't audio and MIDI data be mapped into networking frames and then thrown around using the kernel networking stack?  The timestamps are there...the connectivity is there...have to do interesting translations... :-)  Could be done at the IP level or even lower I would think.  The lower you go, the more power you get, because you're closer to the kernel at every step.<span class="HOEnZb"><font color="#888888"><br clear="all"></font></span></div><span class="HOEnZb"><font color="#888888"><br>-- <br><div class="m_4269539261070065650gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><i><font face="arial, helvetica, sans-serif" size="2"><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)">Jonathan E. Brickman</span></span><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)">   </span></span><span style="color:rgb(136,136,136)"></span><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)"><a href="http://login.jsp/?at=02e47df3-a9af-4cd9-b951-1a06d255b48f&mailto=jeb@ponderworthy.com" style="color:rgb(17,85,204)" target="_blank">jeb@ponderworthy.<wbr>com</a></span></span><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)">   <a href="tel:(785)%20233-9977" value="+17852339977" target="_blank">(785)233-9977</a></span></span></font></i></div><div><i><font face="arial, helvetica, sans-serif" size="2"><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)">Hear us at <a href="http://ponderworthy.com" target="_blank">http://ponderworthy.com</a> -- CDs and MP3s <a href="http://ponderworthy.com/ad-astra/ad-astra.html" target="_blank">now available!</a></span></span></font></i></div><div><i><font face="arial, helvetica, sans-serif" size="2"><span style="color:rgb(136,136,136)"><span color="#993300" style="color:rgb(153,51,0)">Music of compassion; fire, and life!!!</span></span></font></i></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Linux-audio-dev mailing list<br>
<a href="mailto:Linux-audio-dev@lists.linuxaudio.org">Linux-audio-dev@lists.<wbr>linuxaudio.org</a><br>
<a href="https://lists.linuxaudio.org/listinfo/linux-audio-dev" rel="noreferrer" target="_blank">https://lists.linuxaudio.org/<wbr>listinfo/linux-audio-dev</a><br>
<br></blockquote></div><br></div>