[Jack-Devel] Netjack 2: how to improve reliability by allowing greater latency?

André Pinto andredasilvapinto at gmail.com
Wed May 20 22:01:46 CEST 2015


Hi David,

Thanks for your reply. I think it is understandable that people didn't
reply to this topic as this is a feature described as not-supported on the
GitHub wiki page:

"Wireless and Internet use are not supported because they can't be
qualified as *realtime*. In Netjack, you can set a additional latency which
allow you to prevent from larger transmission delays, due to the use of
networks with some kind of *random delivery*, like wireless or Internet
networks. Netjack2 doesn't include this feature for now. That's why we
recommend the use of classical wired network."

https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_NetJack2#2-requirements

I just went ahead anyway and tried my luck by compiling it with OPUS
support as I was also interested in learning a little bit more about
Jack/NetJack.

Nevertheless, if you end up trying it, please share your experience, but I
guess I will have to go with some other (less interesting) solution with a
different technology for my home wireless stereo system (probably KORUS
www.korussound.com that uses the patented SKAA technology and requires
additional dongles everywhere, which I was trying to avoid).

Thanks!

On Wed, May 20, 2015 at 9:28 PM, David Nielson <david at naptastic.com> wrote:

> I was hoping someone who knows more would chime in. It's been a LONG
> time since I used Netjack, but I thought there was an option to add
> extra periods of latency, specifically for what you're requesting? And
> it was this capability that allowed some people back in the day to do
> recording sessions internationally?
>
> I can't test it right now, but if I get a chance tonight, I will. No
> promises.
>
> David Nielson
>
> On 05/20/2015 02:17 PM, André Pinto wrote:
> > Judging by the lack of replies, I guess this is not a use case that the
> > current netjack implementation supports right?
> >
> > I don't know how much work would imply making netjack a viable solution
> > for WiFi streaming but if it is something relatively easy to do, it
> > might be interesting to explore that path considering the lack of
> > alternatives for "low latency" audio streaming, bad bluetooth audio
> > quality and support, proliferation of devices and omnipresence of WiFi
> > networks across the globe.
> >
> > Thank you all anyway for your work on Jack!
> > Cheers,
> > André
> >
> > On Fri, May 15, 2015 at 7:51 PM, André Pinto
> > <andredasilvapinto at gmail.com <mailto:andredasilvapinto at gmail.com>>
> wrote:
> >
> >     Hello,
> >
> >     I've been playing around with Jack/Netjack and the Opus codec in
> >     order to setup a "low latency" WiFi audio stream at home.
> >
> >     After compiling Opus with custom modes and Jack2 with Opus support
> >     (both from the master branches of the respective repositories), I
> >     was able to run the Master-Slave setup:
> >
> >     Master.
> >     jackd -R -d alsa -d hw:1 -D=false -r44100 -S -n16
> >     jack_load netmanager
> >
> >     Slave:
> >     jackd -R -d net -C0 -P2 -o0 -i0 -O320 -M1200 -l5
> >
> >     + jack_connect to route the net input on the master to the speakers
> >
> >     But as I was getting quite frequent audio deterioration, with the
> >     master showing messages like these:
> >
> >     Packet(s) missing from... -1 1
> >     Wrong packet type : a
> >     JackEngine::XRun: client = SLAVE_HOSTNAME was not finished, state =
> >     Running
> >     JackEngine::XRun: client netmanager finished after current callback
> >     JackAudioDriver::ProcessGraphAsyncMaster: Process error
> >     Wrong packet type : a
> >     Packet(s) missing from... -1 1
> >     JackAudioDriver::ProcessGraphAsyncMaster: Process error
> >     JackEngine::XRun: client = SLAVE_HOSTNAME was not finished, state =
> >     Triggered
> >
> >     I've thought that maybe I should just try increasing the network
> >     latency argument on the slave, as, for my use case, I'm happy with
> >     latency < 200 ms.
> >
> >     By using something like -l30 (the maximum I'm allowed to set) on the
> >     slave I was able to greatly diminish the Process errors (I still get
> >     the same lots of wrong packet type and packet missing messages
> >     though) but it didn't fix the audio artifacts. Actually sometimes
> >     this change makes the playback even worse with ms pauses every
> second.
> >
> >     So I would like to know if there is any other way to relax the low
> >     latency requirement in order to improve playback reliability. Or is
> >     there some kind of incompatibility in the configuration I'm passing
> >     to both endpoints that is causing these problems?
> >
> >     Thanks!
> >     André.
> >
> >
> >
> >
> > _______________________________________________
> > Jack-Devel mailing list
> > Jack-Devel at lists.jackaudio.org
> > http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
> >
> _______________________________________________
> Jack-Devel mailing list
> Jack-Devel at lists.jackaudio.org
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/jackaudio/attachments/20150520/b52af152/attachment.html>


More information about the Jackaudio mailing list