Chromecast on Uniti Atom - Gapless playback

Posted by: Alley Cat on 22 August 2017

As Qobuz has to be played on the Atom via Chromecast built-in, I was wondering if anyone knows if gapless playback is simply impossible with Chromecast technology or if it's the Apps doing the casting are to blame?

I got a Chromecast audio device a few months go and hooked it up via optical to an older amp, and was dissapointed to find it could not do gapless playback.

Just purchased an Atom but the Chromecast built-in has the same problem which is a shame for those of use with Sublime/Sublime+ accounts.  I suspect it's down to Chromecast technology, but it could also be a hardware limitation of the Qobuz iOS app.

It's also a real shame there's no native support for Qobuz as there seems to be for Spotify/Tidal (which I don't use), it would be great if this was in the pipeline as that might circumvent this issue.

Playback from a WD MyCloud NAS is gapless, but that naturally relies on purchasing the content not having a streaming plan.

Thanks in advance.

Posted on: 22 August 2017 by Huge

If you had done a search you'd have found the answer...

Chromecast can be gapless, but it's up to the writer of the app to implement it that way.  Alternatively use Cast Screen mode.

Posted on: 22 August 2017 by Alley Cat

Cheers.

I did a search, perhaps with the wrong phrase however, or certainly not in the replies I browsed.

Assuming Cast Screen mode is Android only?

Just noticed I meant 'software limitation of the Qobuz iOS app.' not 'hardware'.

I did query with Qobuz support a while back and they suggested it was not feasible, but perhaps they just don't want to implement gapless....

 

 

Posted on: 22 August 2017 by Huge

On Windows, from Google Chrome, you can also use Cast Desktop, I believe that also works gapless, but I'm not entirely sure.

There's also the from Google Chrome Cast Tab option but that needs the audio stream to be sent via a browser tab.

Posted on: 23 August 2017 by Alley Cat

Thanks Huge.

Unfortunately not using Windows currently, so may need to do a but more digging round.

Posted on: 24 August 2017 by Huge

OK just looked it up...

It works from Chrome on a Mac as well; but it's less reliable than it is from Windows.

Posted on: 26 August 2017 by Huge

Update: With the last update to Chrome, Cast Desktop no longer works at all on Mac, and generally no longer works on most PCs either.  If if you're 'lucky' enough that it might work on your PC you'll quite probably have to disable your anti-spyware package and parts of your anti-virus system!

Way to go Google!

Posted on: 27 August 2017 by Alley Cat

Many thanks for doing some digging around in relation to this.

It really seems odd that Google don't have a Mac driver to allow audio output from any App to their device on MacOS anw want people to use Chrome.

I currently have a Qobuz Sublime subscription (streams at CD quality, or your purchases in HD in iOS), and would upgrade to their Sublime+ package if I could get gapless streaming from iOS or macOS.   If I can only easily get gapless via a NAS and have to purchase the items to do so, it's a shame.

Posted on: 18 October 2017 by Wolf R

When you look up "issuetracker.google.com/issues/36191370" in the internet you will find out that Googles Chromecast protocol will probably never support a proper and easy implementation of gapless playback which is a problem of Chromcast and a shame in my eyes. I don't know whether the new Naim series supports the open home standard. If so you could use BubbleUpNP (Android only) as controll app that will recognize an open home renderer and stream Qobuz gaplessly to your Atom. Works nicely with my Naim Muso that seems to follow the open home standard. At least it is recognized by BubbleUpnP.

Posted on: 18 October 2017 by Huge

It's entirely possible to transmit gapless using Chromecast.  The trick is very simple - don't drop and re-initialise the Chromecast connection for each track.

The way to achieve this is equally simple, cast the screen instead of using cast from within an individual app.  This does work.

Posted on: 18 October 2017 by Wolf R

Of course this is a possibility, meaning you have to let your controller device switched on all the time. To me this is not how streaming should work properly.

Posted on: 18 October 2017 by Huge
Wolf R posted:

Of course this is a possibility, meaning you have to let your controller device switched on all the time. To me this is not how streaming should work properly.

Then just use DLNA rather than Chromecast.

(Strangely enough you still have to leave the DLNA server switched on all the time when playing...
Thinking about it, that's just the same as with Chromecast actually - you have leave the device transmitting the Chromecast connection switched on all the time while playing!)

Posted on: 21 October 2017 by HardBop
Huge posted:

It's entirely possible to transmit gapless using Chromecast.  The trick is very simple - don't drop and re-initialise the Chromecast connection for each track.

The way to achieve this is equally simple, cast the screen instead of using cast from within an individual app.  This does work.

Huge, could you just explain how this is done. I use CCA to stream Qobuz and to cast from my PC via Plex Media Server. Ethernet connection into the Naim DAC. Use IPad/IPhone to select/play music. More than happy with SQ, but frustrated with not having gapless playback. Thanks.

Posted on: 22 October 2017 by Huge
HardBop posted:
Huge posted:

It's entirely possible to transmit gapless using Chromecast.  The trick is very simple - don't drop and re-initialise the Chromecast connection for each track.

The way to achieve this is equally simple, cast the screen instead of using cast from within an individual app.  This does work.

Huge, could you just explain how this is done. I use CCA to stream Qobuz and to cast from my PC via Plex Media Server. Ethernet connection into the Naim DAC. Use IPad/IPhone to select/play music. More than happy with SQ, but frustrated with not having gapless playback. Thanks.

I'm sorry, this doesn't quite make sense.

"I use CCA to stream Qobuz"
CCA doesn't support Qobuz, all it does is provide a local WiFi connection from a device to a 3.5mm jack (analogue and or S/Pdif).

"cast from my PC via Plex Media Server"
The Plex Media Server doesn't support Chromecast, only the Plex mobile apps and the Plex Browser app for Google Chrome

"Ethernet connection into the Naim DAC"
The Naim DAC doesn't have an Ethernet connection.

I'm not sure how you're connecting things up, as I can't work out what you're actually doing here.

 

"cast from my PC via Plex Media Server"
If you are casting from the Plex client app in a Chrome browser window on the PC, this should be gapless.  If it isn't, then when casting from the PC, instead of choosing the <Cast Tab> option use the <Cast Desktop> option (N.B. this needs a fairly recent CPU).


"Use IPad/IPhone to select/play music"
This suggests that you're using the iOS client to connect to the Plex Server, and render the music on the iOS device, if this is the case, the problem lies with the Plex App not the Chromecast.  It seems that the Plex app's Chromecast implementation is putting the gaps in (as many apps do).


Using an Android device make it much easier.

Posted on: 22 October 2017 by HardBop

Sorry need to explain my set up a bit clearer. I've a "typical" Naim set up, multi-box and using the NDac into XPS2; but no streamer. PC in another room with my router. Ethernet connection from the router into the CCA which sits with my hi-fi. Optical connection from CCA to the NDac.

I have a subscription with Qobuz and use an IPad/IPhone to stream content to the hi-fi. I In my simplistic view CCA is the device which is enabling this action. I don't use the PC at all for listening to music.

However, I still download some hi-res files (from Qobuz and other sites) and these are then stored on my PC. Plex Media Server then "casts" these and ripped CDs via CCA(?). Again I use the IPad/IPhone to select/play music to the hi-fi.

I have read there is a separate app "Hi fi cast" I think, which enables gapless playback but this is android only. I've also seen many posts on a number of web-sites bemoaning the lack of gapless with CCA, so I thought I was resigned to not being able to play gapless. It is of course usually only an issue with live or classical music where gaps are particularly noticeable and hence annoying.

Thanks     

Posted on: 22 October 2017 by Huge

First to determine in what mode the Plex app is using the Chromecast we need to do a test (I don't have Plex, so I can't test it for you).

Stream a track from Qobuz and, just after it starts, stop the Plex app on the phone (don't just turn the phone's screen off as that doesn't test anything to do with the app or its communications.  Instead bring up the carousel of active apps and swipe the app off the screen (or actively close the app).  Does the music stop?

Next do the same but with a track playing from the Plex Media server.

While doing this if the track continues to play, it's worth doing the follow-up test and set-up a playlist of two or more tracks - than see if it will continue across more than one track.


The only way I can be certain to get gapless playback from Chromecast is by using an android device.  It doesn't have to be anything at all sophisticated, a £80 tablet from Argos will do fine!

Posted on: 22 October 2017 by HardBop

Thanks, will give it a go. But as you say I think the issue may be trying to play gapless via iOS rather than android.

Posted on: 22 October 2017 by HardBop

Unfortunately, gapped playback remained. I tried fully closing the Qobuz app. with a stream and closing the Plex app. with a downloaded file with the same result. The only way I can get gapless playback is to copy any downloaded music onto USB and then play it through the DAC; as I always did before getting CCA.

Never mind, thankfully the need for gapless is limited to only a few files/streams, so something to live with, unless I choose an android device to cast via CCA.

Thanks.

Posted on: 23 October 2017 by Huge

There are two ways to use the Chromecast API.

1   In the first method (the easy / lazy solution), you first select the device to which you want to cast, then get a URI for the resource you want to cast to the device (e.g. the network location of the file) and pass this to the Chromcast API.  The Chromcast library opens a connection to the selected device, plays the content of the resource and closes the connection when finished.  The repeated opening and closing of the Chromecast connection and repeated creation and deletion of a stream entity for each new resource (i.e. track to be played) is what causes the gaps in playback.

2   In the other method you select a device, create an empty stream, open the device connection using the stream (by passing this to the Chromcast API).  Then you open the resource you want to play and render its contents to the stream (and hence through the open connection to the device).  When the stream finishes you have to manually close the resource you were rendering to the stream.  At this point you can either open / play / close another resource, or close the connection to the device and delete the stream you created. This requires the app itself to control both the stream and the Chromecast connection rather than using the Chromecast library to do it.  This is a lot more work, but can be gapless.


Don't blame the Chromecast or it's library, the cause lies squarely with the writers of the Apps who are choosing the quick and easy route, even though that approach doesn't do gapless replay.  If they put in the effort to use the other method the apps would do gapless perfectly well.

Posted on: 23 October 2017 by Alley Cat

Good explanation Huge.

I can quite see that Gapless should be entirely feasible in software as the Chromecast Audio device has no idea what the stream is and just plays it, so it should be entirely feasible to append the bitstream for one track to another to achieve this.

Posted on: 29 October 2017 by DavidS
Alley Cat posted:

I currently have a Qobuz Sublime subscription (streams at CD quality, or your purchases in HD in iOS), and would upgrade to their Sublime+ package if I could get gapless streaming from iOS or macOS.   If I can only easily get gapless via a NAS and have to purchase the items to do so, it's a shame.

My current Qobuz solution is to use MacOS Audirvana+ v3 which sends a UPnP stream directly to Mu-so in HiRes, even waking it up if in standby. This is gapless, and Audirvana also controls the Mu-so volume. If you look at the Mu-so with the Naim app while a track is playing you can see the the artwork, track name etc. I don't (yet) have a new Uniti but it seems likely that the artwork will appear on its screen. You can also control everything from an IOS device using Audirvana A+ Remote.

david

 

Posted on: 30 October 2017 by Alley Cat
DavidS posted:
Alley Cat posted:

I currently have a Qobuz Sublime subscription (streams at CD quality, or your purchases in HD in iOS), and would upgrade to their Sublime+ package if I could get gapless streaming from iOS or macOS.   If I can only easily get gapless via a NAS and have to purchase the items to do so, it's a shame.

My current Qobuz solution is to use MacOS Audirvana+ v3 which sends a UPnP stream directly to Mu-so in HiRes, even waking it up if in standby. This is gapless, and Audirvana also controls the Mu-so volume. If you look at the Mu-so with the Naim app while a track is playing you can see the the artwork, track name etc. I don't (yet) have a new Uniti but it seems likely that the artwork will appear on its screen. You can also control everything from an IOS device using Audirvana A+ Remote.

david

 

Thanks for posting that David.

I had Audirvana2 + and I came across another post about the UPnP feature so tried the 3+ demo and it worked but unreliably - maybe 50% of the time it would quit playback or not see the Nova as an output device - a real chore to have to go back to select it in output Preferences.  I upgraded anyway to support the development but currently I'm having little success with the Nova appearing as an output - I have installed Roon software and hope it's not this conflicting, but the issue was there before.  Connection via Naim apps and using chromecast built in to play Qobuz has been rock solid apart from the gapless issue and lack of cover art (naturally I assume). 

Out of interest I assume you have Sublime+ - do you find titles unavailable to stream in HD are common if available to buy?  Is it the titles that don't seem to offer a Sublime purchase discount?

Posted on: 30 October 2017 by Alley Cat
DavidS posted:
My current Qobuz solution is to use MacOS Audirvana+ v3 which sends a UPnP stream directly to Mu-so in HiRes, even waking it up if in standby. This is gapless, and Audirvana also controls the Mu-so volume. 

david

Artwork does show, but sadly but having tested this again I cannot get it to do gapless with the Uniti Nova.  I am also seeing stability issues whereby tracks fail to play one after another and occasional crashes requiring a Force Quit.  This is with Audirvana 3 running on a 2015 MacBook Pro streaming via wi-fi to an ethernet connected Uniti Nova.

Posted on: 30 October 2017 by DavidS

Hi [@mention:71539985729025468] That is disappointing and rather puzzling.

Similar to you, I run Audirvana Plus v3.1.7 on an iMac connected via Wi-Fi, with the Mu-so on Ethernet. I just tried (Mon 30/Oct 8pm GMT) playing Pink Floyd The Dark Side of the Moon from Qobuz (the one with the red label top left) to Mu-so UPnP and there was definitely no gap between track 2 Breathe (In The Air) and track 3 On The Run, just a long note (the last note on track 2 at 2:49), continuing until about 10s into track 3. Same between tracks 3 and 4 with an unbroken electronic rumble before the alarm clock about 10s into track 4.

On Sunday afternoon, Qobuz went through a bad patch with tracks and favourites failing to load. Normally the first track loads quickly as shown by the grey bar moving across. When Audirvana switches to the next track, it should already be loaded (grey bar).

Might be worth another try?

Posted on: 30 October 2017 by Alley Cat

Could I ask if you are playing back a local gapless album from a NAS or other local storage or if streaming from Qobuz.

I'll try the Division Bell locally tonight rather than via streaming.  Marillion's Misplaced Childhood did not play gapless earlier when streamed from the internet - I can imagine an overhead between tracks for internet playback, will try local files.

Posted on: 30 October 2017 by DavidS

[@mention:71539985729025468] I was talking about streaming the album direct from Qobuz via Audirvana+ v3 into Mu-so UPnP. I'll compare streaming via the Qobuz IOS app and ChromeCast Audio into Mu-so digital tomorrow. Predicting that I will hear gaps between tracks 2-3 and 3-4.