Skipping when playing Tidal content

New customer of Roon. Running latest version (build 814) on a hefty machine (16 cores, 32 GB, the works.) Roon is skipping tracks randomly on Tidal. When I am using the Tidal Windows app, no such skipping happens.

Signal path:

S/PDIF out to a Topping D30 Pro/A30 Pro stack powering a HD800S.

PS: As I was typing this message, it skipped tracks, twice. Not happy at all.

@beka Would love some attention here.

I have technical logs which might help your team iron out this issue once and for all:

08/12 18:03:36 Trace: [TheQudelix] [Lossless 83.0x, 24/44 MQA TIDAL FLAC => 24/88] [100% buf] [PLAYING @ 0:04/4:23] Parent Song - Chelsea Cutler / Jeremy Zucker
08/12 18:03:41 Trace: [TheQudelix] [Lossless 81.6x, 24/44 MQA TIDAL FLAC => 24/88] [100% buf] [PLAYING @ 0:10/4:23] Parent Song - Chelsea Cutler / Jeremy Zucker
08/12 18:03:45 Info: [stats] 5907mb Virtual, 472mb Physical, 82mb Managed, 2406 Handles, 162 Threads
08/12 18:03:46 Trace: [TheQudelix] [Lossless 82.3x, 24/44 MQA TIDAL FLAC => 24/88] [90% buf] [PLAYING @ 0:15/4:23] Parent Song - Chelsea Cutler / Jeremy Zucker
08/12 18:03:51 Trace: [TheQudelix] [Lossless 81.9x, 24/44 MQA TIDAL FLAC => 24/88] [42% buf] [PLAYING @ 0:20/4:23] Parent Song - Chelsea Cutler / Jeremy Zucker
08/12 18:03:55 Debug: [prebuffer] sleeping in read -- this isn't good
08/12 18:03:56 Warn: [streamingmediafile] [12] [http://sp-pr-cf.audio.tidal.com/mediatracks/CAEaKRInOGJiNmFhNWE0MTUwOWRhYzUxMTg1NWRlZWQ0MGM2YzBfNjAubXA0/0.flac] [cachedbytes=0/48711301] in immediate read: System.Net.WebException: The operation has timed out.
   at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at Sooloos.Media.StreamingMediaFileImpl._ReadImmediate(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
08/12 18:03:56 Error: [cachingseekableurimediafile] while reading: System.Net.WebException: The operation has timed out.
   at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at Sooloos.Media.StreamingMediaFileImpl._ReadImmediate(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.StreamingMediaFileImpl._Read(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.StreamingMediaFileImpl.Read(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.CachingSeekableUriMediaFile.ReadCallback(IntPtr userdata, IntPtr buf, IntPtr count, IntPtr& out_bytesread)
08/12 18:03:56 Warn: [prebuffer] in buffer threadSystem.Exception: Read failure: IoFailure
   at Sooloos.Audio.MediaDecoderAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.FormatDetectAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Audio.SeekableBufferedAudioSignal._Buffer(Int32 buffer_seq)
   at Sooloos.Audio.SeekableBufferedAudioSignal.<>c__DisplayClass31_0.<_StartBuffering>b__0()
08/12 18:03:56 Info: [TheQudelix] [zoneplayer] Track ended unexpectedly: Sooloos.Audio.BufferedReadException: error during buffered read ---> System.Exception: Read failure: IoFailure
   at Sooloos.Audio.MediaDecoderAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.FormatDetectAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Audio.SeekableBufferedAudioSignal._Buffer(Int32 buffer_seq)
   at Sooloos.Audio.SeekableBufferedAudioSignal.<>c__DisplayClass31_0.<_StartBuffering>b__0()
   --- End of inner exception stack trace ---
   at Sooloos.Audio.SeekableBufferedAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.ZonePlayerTrack._Stream.ReadImp(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Audio.AudioStream.Read(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Broker.Transport.AudioFileStreamWrapper.ReadImp(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Audio.AudioStream.Read(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Broker.Transport.ZonePlayerBase.ReadImp(AudioBuffer buf, Int32 nsamples)
08/12 18:03:56 Warn: [zone TheQudelix] Track Stopped Due to Error
08/12 18:03:56 Info: [zone TheQudelix] OnPlayFeedback StoppedEndOfMediaUnnatural
08/12 18:03:56 Debug: [zone TheQudelix] _Advance

This keeps happening. It’s so irritating.

08/13 06:10:19 Trace: [D30 Pro] [Enhanced 49.8x, 24/44 MQA TIDAL FLAC => 24/88] [100% buf] [PLAYING @ 0:04/4:47] Wildflower Wildfire - Lana Del Rey
08/13 06:10:25 Trace: [D30 Pro] [Enhanced 49.6x, 24/44 MQA TIDAL FLAC => 24/88] [100% buf] [PLAYING @ 0:10/4:47] Wildflower Wildfire - Lana Del Rey
08/13 06:10:30 Trace: [D30 Pro] [Enhanced 49.1x, 24/44 MQA TIDAL FLAC => 24/88] [68% buf] [PLAYING @ 0:15/4:47] Wildflower Wildfire - Lana Del Rey
08/13 06:10:30 Info: [stats] 6298mb Virtual, 390mb Physical, 147mb Managed, 3064 Handles, 224 Threads
08/13 06:10:35 Trace: [D30 Pro] [Enhanced 49.3x, 24/44 MQA TIDAL FLAC => 24/88] [20% buf] [PLAYING @ 0:20/4:47] Wildflower Wildfire - Lana Del Rey
08/13 06:10:37 Debug: [prebuffer] sleeping in read -- this isn't good
08/13 06:10:37 Warn: [streamingmediafile] [65] [http://sp-pr-cf.audio.tidal.com/mediatracks/CAEaKRInYTE4MmRjMzVlN2ExZTRjNjkwODFmNGMxOWYyNzNkYmFfNjAubXA0/0.flac] [cachedbytes=0/51866785] in immediate read: System.Net.WebException: The operation has timed out.
   at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at Sooloos.Media.StreamingMediaFileImpl._ReadImmediate(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
08/13 06:10:37 Error: [cachingseekableurimediafile] while reading: System.Net.WebException: The operation has timed out.
   at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at Sooloos.Media.StreamingMediaFileImpl._ReadImmediate(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.StreamingMediaFileImpl._Read(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.StreamingMediaFileImpl.Read(Int64 file_off, Byte[] buf, Int32 off, Int32 count)
   at Sooloos.Media.CachingSeekableUriMediaFile.ReadCallback(IntPtr userdata, IntPtr buf, IntPtr count, IntPtr& out_bytesread)
08/13 06:10:37 Warn: [prebuffer] in buffer threadSystem.Exception: Read failure: IoFailure
   at Sooloos.Audio.MediaDecoderAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.FormatDetectAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Audio.SeekableBufferedAudioSignal._Buffer(Int32 buffer_seq)
   at Sooloos.Audio.SeekableBufferedAudioSignal.<>c__DisplayClass31_0.<_StartBuffering>b__0()
08/13 06:10:37 Info: [D30 Pro] [zoneplayer] Track ended unexpectedly: Sooloos.Audio.BufferedReadException: error during buffered read ---> System.Exception: Read failure: IoFailure
   at Sooloos.Audio.MediaDecoderAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.FormatDetectAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Audio.SeekableBufferedAudioSignal._Buffer(Int32 buffer_seq)
   at Sooloos.Audio.SeekableBufferedAudioSignal.<>c__DisplayClass31_0.<_StartBuffering>b__0()
   --- End of inner exception stack trace ---
   at Sooloos.Audio.SeekableBufferedAudioSignal.Read(Byte[] buffer, Int32 offset, Int32 frames)
   at Sooloos.Broker.Transport.ZonePlayerTrack._Stream.ReadImp(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Audio.AudioStream.Read(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Broker.Transport.AudioFileStreamWrapper.ReadImp(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Audio.AudioStream.Read(AudioBuffer buf, Int32 nsamples)
   at Sooloos.Broker.Transport.ZonePlayerBase.ReadImp(AudioBuffer buf, Int32 nsamples)
08/13 06:10:37 Warn: [zone D30 Pro] Track Stopped Due to Error
08/13 06:10:37 Info: [zone D30 Pro] OnPlayFeedback StoppedEndOfMediaUnnatural
08/13 06:10:37 Debug: [zone D30 Pro] _Advance

Isn’t anyone from Roon eng/support team bothered about this issue? Your paying customer is having this issue. Direct Tidal app playback never has this issue.

And before anyone tells me that my network is no good:

➜  ~ ping sp-pr-cf.audio.tidal.com
PING sp-pr-cf.audio.tidal.com (13.33.149.248) 56(84) bytes of data.
64 bytes from server-13-33-149-248.maa50.r.cloudfront.net (13.33.149.248): icmp_seq=1 ttl=244 time=9.52 ms
64 bytes from server-13-33-149-248.maa50.r.cloudfront.net (13.33.149.248): icmp_seq=2 ttl=244 time=9.87 ms
64 bytes from server-13-33-149-248.maa50.r.cloudfront.net (13.33.149.248): icmp_seq=3 ttl=244 time=9.84 ms
64 bytes from server-13-33-149-248.maa50.r.cloudfront.net (13.33.149.248): icmp_seq=4 ttl=244 time=9.89 ms
^C
--- sp-pr-cf.audio.tidal.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 9.523/9.780/9.885/0.149 ms
➜  ~

Sorry you are having these problems, I know it can be very frustrating, as it happens to me occasionally but I sourced the problem and have largely got rid of it.

Can’t help with the logs as I don’t understand them, I’m afraid.

The Tidal Skipping Issue is almost always a network-related problem:

  • Connection to ISP (low bandwidth, poor DNS server maintenance)
  • Internal network (poor wifi, not ethernet connected)
  • Connection between Roon and Tidal

The latter is much more difficult to track down, but often manifests in many users having issues at the same time. Roon usually sorts this out with Tidal and/or with a software update.

In relation to the first two, please ensure you have done all of the following (if not already done so of course).

  • Connect Roon core (pretty much essential) and endpoint (ideally nice to have, but not as important as Core unless your wifi network is sub-par) via ethernet to an unmanaged switch (or direct to your router)
  • Change DNS address in your router to point to Cloudflare’s or Google’s DNS
  • Log out of Tidal in Roon and anywhere you have Tidal app running.
  • Reboot everything (modem, router, core, endpoint(s))
  • Log back in to Tidal in Roon

Hopefully this gives you some relief, and if not hopefully @support will along soon.

Good luck!

1 Like

This is often a problem. My kids use my Tidal account on their phones and get this issue when they are using it at the same time. A single Tidal account can’t be used simultaneously on several devices.

Worth checking if you get interrupted playback.

Apologies this was missed, @Karan_Misra. I’ve moved your post to its own Topic so we can better assist you.

Does the same behavior occur if you aren’t using DSP? What if you play to System Output?

Is local content playing okay?

Hi @dylan

Thanks for responding.

Nope… It’s only happening to Tidal content. Local content is perfectly fine. I will test w/o DSP and to system out but I doubt that will make a difference (but I will report back.)

Did you see the logs which I posted above? Looks like a network timeout is happening and the track gets skipped.

08/13 06:10:37 Warn: [streamingmediafile] [65] [http://sp-pr-cf.audio.tidal.com/mediatracks/CAEaKRInYTE4MmRjMzVlN2ExZTRjNjkwODFmNGMxOWYyNzNkYmFfNjAubXA0/0.flac] [cachedbytes=0/51866785] in immediate read: System.Net.WebException: The operation has timed out.

Thanks for confirming, @Karan_Misra. Definitely give those tests a try and I’d also like to add one more — Try lowering streaming quality in Settings > Services > Tidal to the lowest option and see if that results in any change.

While you’re doing these tests, please make a note of the time you try each one, and the name of the track you’re testing with. Afterwards, please send us logs (using Dropbox or another file sharing service) and we can take a closer look at what’s happening during this time.

Will do.

Few notes:

  • I have 300 Mbps up/down Fiber optic connection.
  • Direct listening at highest quality in Tidal has never ever skipped.

What is the retry mechanism on these temporary network timeouts?