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(a)gmail.com <mailto:andredasilvapinto@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(a)lists.jackaudio.org
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org