Is there a way to have the Chromecast client stream raw, non-transcoded tracks where the Android client has a bitrate limitation?

Issue description:

When casting, my Navidrome server is getting hit with the following requests, suggesting that Symfonium’s Chromecast client is still requesting the bitrate-limited version of tracks. I’m not concerned about data transfer limitations on my Chromecast because it and Navidrome are on the same LAN.

GET /rest/stream.view
  ?id=80d890cc8e0fe1b0efd952274593ede9
  &[CREDENTIAL_STUFF]
  &v=1.13.0
  &c=Symfonium
  &f=json
  &maxBitRate=192
  &format=opus
HTTP/2.0 206 1300450 
"https://chromecast-symfonium.pages.dev/"
"Mozilla/5.0 (Linux; Android 12.0; Build/STTK.230808.004)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/92.0.4515.0
Safari/537.36
CrKey/1.56.500000
DeviceType/AndroidTV"

Is there a way to have Symfonium’s CC client ignore the bitrate limitations and stream the track in the original format (i.e., format=raw)?

I also do not see requests for GET /rest/getCoverArt.view. Does that mean that the CC client is getting the cover art and track information from the Android app, and that the Android app needs to be online and reachable to the Chromecast in order to continue playing and advance to subsequent tracks in the queue?

Logs:

Not really a bug, so no logs. Just a question about Chromecast client behaviour.

Additional information:

All the time, not just when casting, the Android client seems to be quite chatty with my Navidrome server. As far as I can tell from the SubSonic API, the /rest/ping endpoint is just to check if there is connectivity to the server.

10.1.1.207 - [2023-11-19 01:15:01.927] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"
10.1.1.207 - [2023-11-19 01:15:11.990] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"
10.1.1.207 - [2023-11-19 01:15:52.248] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"
10.1.1.207 - [2023-11-19 01:16:32.281] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"
10.1.1.207 - [2023-11-19 01:17:12.328] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"
10.1.1.207 - [2023-11-19 01:17:52.350] GET /rest/ping.view?[CREDENTIAL_STUFF]&v=1.13.0&c=Symfonium&f=json HTTP/2.0 200 130 "" "Symfonium/6.1.0 (Linux;Android 13)"

Is there any point to calling this so much? I would think that all the other calls succeeding would point to the server being online :slight_smile:

Thanks!

If only there was a big message explaining that logs are mandatory and that there’s no need to guess if they are or not …

I don’t have the logs, I do not have your Symfonium configuration, how am I suppose to know what you do ?

If you set a wifi max bitrate then it’s applied to Chromecast.
Yes the phone is necessary to handle the queue.

You have answers my questions. Thanks!