Momentary disconnections while using WiiM Ultra as Roon Chromecast endpoint (ref#HVVSIO)

What’s happening?

· Something else

How can we help?

· None of the above

Other options

· Other

Describe the issue

When using the WiiM Ultra as a Roon Chromecast endpoint there are momentary disconnections in the middle of tracks after which music playback is paused

Describe your network setup

Netgear modem and router

At every resolution or with hi-res?
How is the Ultra connected, wifi or Ethernet?

(Side note: Why are you even using Chromecast although the Ultra is Roon Ready?)

In the middle of a track WiiM Remote will briefly display “Select an audio zone”, then the WiiM Ultra Chromecast endpoint returns with paused playback.

My understanding is this might be due to fewer available web APIs with the updated Google Cast GC4A 2.0 SDK that is used for all new devices. Or perhaps there’s a wider issue with the updated Google Cast protocol. Is Roon aware of this issue and working on a fix?

Here’s a link to a Google Cast developer support page:
https://developers.google.com/cast/docs/audio#supported_apis

At first it was a wifi connection, then I used ethernet directly to the router. I tried downsampling everything to 44.1 or 48kHz. None of that fixed the issue.

One advantage of Chromecast is I can quickly pause playback on my phone using Shared Controls when a call comes in without opening an app. Another reason is I can group my WiiM devices with other Chromecast devices (old CCA pucks and JBL Link speakers).

For now I am using Roon Ready on the WiiM Ultra, but I want to have the option of using Google Cast.

Hm ok, doesn’t sound like a network throughput issue then.

Below is the WiiM Support reply to my feedback submission. WiiM says they reported the issue to Google, Google probably sees it as a Roon issue, or a Qobuz issue, or who knows what. Current Google Cast is broken with applications written for older Chromecast and there’s little sign that anyone has taken charge of the fix.


We apologize for the inconvenience.

This issue is related to the latest Google SDK, and we have reported it to Google for optimization. We kindly ask for your patience in the meantime. For now, you can use Roon Ready as an alternative.

Thank you for your patience and understanding.

Best regards,
WiiM Support

1 Like

One other reason to use Chromecast: guests can cast their own music from their devices.

Hi @Kman_CT,

I think the next step here is to enable some diagnostics on your account so our technical staff can get some more insight into what’s going on here.

However, before I enable this feature, I’d like to ask for your help ensuring we gather the right information.

First, can you please reproduce the issue once more and note the time at which the error occurs. Then respond here with that time, and I’ll make sure we review the diagnostics related to that timestamp.

Thanks so much. I’m away from my WiiM Ultra for a day or two, but on another network I just encountered a glitch using my WiiM Pro as a Roon Chromecast endpoint.

Playback stopped in the middle of a track and would not restart. Roon Remote showed a “pause” button, suggesting that playback was in progress. The progress bar was moving back and forth a bit. I was able to resume playback by skipping to the next track.

Time: 5:18 pm EDT while streaming from Qobuz.
Release: J.S. Bach: Violin Works, Vol. 2 (Arr. for Guitar)
Artist: Jason Vieaux
Track: Loure (Part 2 of Partita for solo violin No. 3 in E major, BWV 1006)

FYI screenshots from my queue below.

Hey @Kman_CT,

Thanks for the report! We were able to review a fresh diagnostic report from your Roon Server that do appear to be network-related, can you provide more details around the network hierarchy?

Reproducing in your typical home environment would be the best next step in troubleshooting, otherwise, there’s simply too many variables to rule out.

This very well could be the issue, but we’ll have our team take a closer look into a fresh diagnostic report to confirm. If you could share another timestamp when in your typical network environment. :+1:

Thanks. The details above are for a possibly separate problem on my WiiM Pro, which is connected through wifi. My original post was for a disconnection issue on my WiiM Ultra, which is on a different network in a different location now.

I should be able to report time and details for the WiiM Ultra issue when I’m back on that network in a day or two. I would expect that not to be network-related since the Ultra is connected by ethernet directly to my router. Also, WiiM did reply that there’s a known Google Cast SDK problem.

1 Like

OK, it took much longer than last time I was on the network with my WiiM Ultra, but while playing a track Roon spontaneously skipped to the next track. Sometimes that’s the issue, more often last time I was here Roon disconnects from the endpoint briefly, then pauses playback. Details below.

Time: 12:45pm EDT Sept 15th, 2024
Roon Server: HP Spectre running Windows 10
Roon Endpoint: Chromecast to WiiM Ultra Firmware 5.2.628942

Roon Server Connection: Ethernet to Netgear N600 WNDR3700v4
WiiM Ultra Connection: Ethernet to Netgear N600 WNDR3700v4
Modem: Arris SURFboard SB6121

Music Source: Qobuz
Release: Here For A While by Neil Swainson and His Sextet
Skipped Track: At The End Of The Day (played 55%)
Next Track: Lagrange Point

Play Queue Screenshot:

OK, now it did the more typical playback crash. Roon paused in the middle of playback. Same info as above except for time and track.

Time: 2:13 pm EDT September 15th, 2024
Music Source: Qobuz
Release: Here For A While by Neil Swainson and His Sextet
Track: One For Rob (paused at 5:54)

Screenshot:

Track Pause: at 5:54 (Track length: 6:34)

Hey @Kman_CT,

Thanks for the timestamps! Upon review, we’re seeing playback stopping due to Roon losing connection via chromecast on the device :

Info: [cast] lost device CastDevice[DeviceId=WiiM-Ultra-9e7d9db0cd76898c61038804fbb0a6b8._googlecast._tcp.local, Name=Chromecast Audio, Address=192.168.1.8] because it disconnected

It would make sense in this case to be the issue, as the tracks are 100% buffered when the disconnect occurs. The error report also mentions an access timeout on the fully downloaded file, suggesting that even though the track was buffered, the system and playback zone couldn’t maintain access to it.

While I don’t believe the file source to play a role in this issue, are you able to reproduce the issue using a local track?

Thanks. I’m playing a long queue now from local files to see if the same problem occurs. It can take a long time for the first crash, but once that happens playback stops frequently.

FYI some information below that seems relevant. Am I right to assume that an important reason for Roon’s large Chromecast buffer is gapless playback? I do notice that the track progress displayed on my WiiM Ultra doesn’t match the track progress on Roon Remote.

https://developers.google.com/cast/docs/audio

Memory usage guidelines

Web Receiver apps running on audio devices must manage memory usage as follows:

  • Avoid downloading or using any image or graphics assets, to reduce memory footprint and shorten the time until playback starts.
  • When using Media Source Extensions (MSE), applications must limit the stream buffer to 2MB. If using the Media Player Library (MPL), the application’s stream buffer size is already defined by MPL.
  • When using HTMLMediaElement, the application’s stream buffer size is defined by Chrome based on the stream rate. Limit the audio bitrate to 2 megabits per second, which supports all codecs described in Supported Media (up to 48KHz/16bit).

https://forum.wiimhome.com/threads/chromecast-keeps-disconnecting.4368/post-78680

HTMLMediaElement is one set of the APIs supported by the new Google Cast SDK. For Hi-Res, the media service providers can choose to implement their web receiver with Media Source Extension, which is mentioned just slightly above the line you quoted.

2MB of buffer may seem like nothing, but 1 second of uncompressed 32-bit 192hz WAV audio data uses about 1.5MB. If it’s the more realistic 24-bit 96hz data, the number is closer to 0.6MB. If the audio source is FLAC, it’s even less than that. As long as the web receiver gets the data more frequently in small batches, it’s perfectly fine.

This is the precise reason why Roon is problematic over GC4A 2.0. It goes against the guideline and uses much more buffer than that in order to achieve better audio casting quality. The more buffer you have, the less you are affected by network issues. It’s also why Plex doesn’t work, because plex expects to send the entire song to the buffer at once.

It took all day but I did duplicate the problem playing a track from a local file.

I played local files for 3 +/- hours without a problem. Then I decided to play a a very long album of Mozart piano concertos from Qobuz thinking that maybe having multi-part tracks in the queue could trigger the issue. That played for hours without a problem.

Then I picked some tracks from a locally stored album to “Play Next”. That was to test whether inserting tracks into a long queue could trigger the issue. I also moved the position of those tracks within the queue.

On the last of those inserted tracks there was a disconnection for about 15 seconds at the 4:10 mark, then the endpoint reconnected with playback paused. I don’t have the exact time but I think it was around 4:10 pm EDT.

One note: it’s a different network in a different location now. I brought my WiiM Ultra here in order to continue testing. Unlike before, the Ultra is using wifi, not ethernet.

I wonder if adding, inserted and moving tracks in the queue might be part of the problem with newer Google Cast devices. I imagine that could complicate the buffer.

Here’s a screen recording showing the sequence as it happened:
https://youtu.be/LmBlaLWi704

It just happened again. I added a long playlist to the queue, played the queue from the added tracks, then pressed “Shuffle” for the queue. I think this may contribute to the problem.

Approximate Time: 2:34 pm EDT September 18th, 2024
Track: Chanson Pour Michele (stopped at 1:08)
Album: Casa by Jaques Morelenbaum, Paula Morelenbaum, Ryuichi Sakamoto

Screen Capture Video: https://youtu.be/iIK92rbJu5E

Roon has been continuing to pause playback in the middle of tracks, but now it spontaneously skipped to the next track without showing a disconnection. I wonder if the difference from paused playback has to do with whether the entire track has been buffered.

Time: 5:29 pm EDT September 18th, 2024
Skipped Track: Aparecida from Duos II by Luciana Souza (played 40%)

Screen video capture: https://youtu.be/fMykJiHh8i8

temp

Just briefly disconnected and paused playback again (5:58pm EDT). The frequency now makes it impossible to get through playing more than a couple tracks through the WiiM Ultra Chromecast endpoint.