EDIT 12/8: @support : can you guys please work with me on this?
Roon Core Machine
M1 Mac Mini, 16GB Ram and M1 MacBookPro 14", 16GB Ram, latest system software
Networking Gear & Setup Details
Unifi Dream Machine, switches and AP’s. Mac mini directly connected to UDM, MBP via wireless
Connected Audio Devices
Problem occurs even after fresh install with only Devialet Phantoms configured
Number of Tracks in Library
After clean install: less than 1.000 Tidal tracks
Description of Issue
Playing local library is fine. However, Tidal or Internet Radio goes fine for minutes, not hours. Sometimes Roon skips tracks and continues playing, sometimes Roon gives the impression of playing, but progress bar stays at “00:00”.
Tidal via web player and Internet Radio are rock solid for days on end on all my Macs, iDevices and RasPi’s
Thanks a whole lot for getting in touch to let us know about the issue you ran into. It looks like you are on the right track with identifying what doesn’t go quite right.
For some context, it is worth pointing out that Roon relies more on local network stability and is more bandwidth intensive than a service like TIDAL or Internet radio that streams directly to the audio endpoints; a WiFi configuration that might be okay for a direct stream might not be up to the task of handling the way that Roon works. While other services might choose to k=lower quality streams dependent on network conditions, Roon shows the exact Signal Path and if it can’t play that, it stops playback instead of altering the stream.
If you have a bit of time, reading through the article below should be very helpful:
Otherwise, a great first step would be to change your router’s DNS servers from the ISP provided ones to Cloudflare DNS, Quad9 or Google DNS.
Ok, so I tried to eliminate local network errors and attached my M1 Mac mini directly to my cable modem, resulting in the same problems:
12/09 10:58:54 Trace: [streamingmediafile] [1] [http://sp-pr-fa.audio.tidal.com/mediatracks/CAEaKRInYWM2ZGYxNTczOWVlMjg1NTk2ZWUyYjRmY2I0YWJiN2FfNjEubXA0/0.flac] [cachedbytes=0/-1] got length 51643430
12/09 10:58:55 Warn: [streamingmediafile] [1] [http://sp-pr-fa.audio.tidal.com/mediatracks/CAEaKRInYWM2ZGYxNTczOWVlMjg1NTk2ZWUyYjRmY2I0YWJiN2FfNjEubXA0/0.flac] [cachedbytes=200784/-1] real len was 200784, was expecting 51643430
12/09 10:58:55 Trace: [streamingmediafile] [1] [http://sp-pr-fa.audio.tidal.com/mediatracks/CAEaKRInYWM2ZGYxNTczOWVlMjg1NTk2ZWUyYjRmY2I0YWJiN2FfNjEubXA0/0.flac] [cachedbytes=200784/51643430] finished caching
12/09 10:58:55 Trace: [streamingmediafile] [1] [http://sp-pr-fa.audio.tidal.com/mediatracks/CAEaKRInYWM2ZGYxNTczOWVlMjg1NTk2ZWUyYjRmY2I0YWJiN2FfNjEubXA0/0.flac] [cachedbytes=200784/51643430] starting immediate read at off=0 length=51643430
…
12/09 10:59:04 Warn: [streamingmediafile] [2] [http://ab-pr-fa.audio.tidal.com/0180832/20140909133521_37.m4a] [cachedbytes=98660/-1] caching failed: System.Net.WebException: The operation has timed out.
at System.Net.HttpWebRequest.RunWithTimeoutWorker[T] (System.Threading.Tasks.Task1[TResult] workerTask, System.Int32 timeout, System.Action abort, System.Func1[TResult] aborted, System.Threading.CancellationTokenSource cts) [0x000f8] in :0
at System.Net.WebResponseStream.ReadAsync (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.Threading.CancellationToken cancellationToken) [0x0025d] in :0
at System.Net.WebConnectionStream.EndRead (System.IAsyncResult r) [0x00020] in :0
at Sooloos.Media.StreamingMediaFileImpl+<>c__DisplayClass22_0.b__0 (System.IAsyncResult ar) [0x00084] in <9e1613e42fd04d0285019231e789d1f5>:0 /
12/09 10:59:04 Error: [seekableurimediafile] while determining length: System.IO.IOException: streaming media failed due to network
at Sooloos.Media.StreamingMediaFileImpl.get_Length () [0x00038] in <9e1613e42fd04d0285019231e789d1f5>:0
at Sooloos.Media.StreamingMediaFile.get_Length () [0x00000] in <9e1613e42fd04d0285019231e789d1f5>:0
at Sooloos.Media.CachingSeekableUriMediaFile.LengthCallback (System.IntPtr userdata, System.Int64& out_length) [0x00017] in <9e1613e42fd04d0285019231e789d1f5>:0
Here you can see that Roon gets only the first bits of the Tidal FLAC file.
Next I connected my M1 MacBookPro via my iPhone hotspot to the internet. Tidal web client works, Roon gives me exactly the same problems, while playing to the internal speakers.
So as a test, I fired up my old 2012 MacBook Pro and made the roon client the server. It’s connected to the network via WiFi, and works without any problems.
Going forward from this, I think a bug in Roon for MacOS is far more likely the culprit here. I can play my local library to all my Roon clients at once, while streaming 2 4K HDR movies to my TV’s. There are simply no problems regarding DNS, latency or throughput.
I’d like the Roon support team to work with me on this. I read all the FAQs and have been doing the troubleshooting on an off for a few weeks now.
Thanks for your thorough email and analysis. I’ll loop in our technical team on this. While they get back to us, I was hoping you could try just one more thing on the Core that brings up these errors: