owntone / owntone-server

Linux/FreeBSD DAAP (iTunes) and MPD audio server with support for AirPlay 1 and 2 speakers (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
https://owntone.github.io/owntone-server
GNU General Public License v2.0
2.08k stars 234 forks source link

[mpd] Bitrate always reported as 128 #959

Open cdlenfert opened 4 years ago

cdlenfert commented 4 years ago

I use an MPD client called Cantata on my Mac and it shows my Spotify tracks at a 128kbps quality. I've set the forked-daaapd.config file to use "3" as the value for Spotify to get a 320kbps stream. When I check the web interface there is no information about the stream quality. image image

My end target is an Airport Express (any of 3 generations). Am I only getting a 128kbps quality stream anyway? Or is there a point in pulling the 320kbps stream from Spotify?

Thanks for any clarification!

ejurgensen commented 4 years ago

The stream from forked-daapd to your Airport is lossless 44100/16/2, which is equivalant to a bit rate of 1411 kbps (44100 x 16 x 2). That is also the resolution that forked-daapd receives audio from libspotify in. The stream between Spotify's servers and libspotify is probably not losslessly compressed, so that is where the 320 kbps come into play. forked-daapd does not directly see that stream, and so can't really report any bitrate to Cantata. So I don't know where the 128kbps comes from. If you want to check if you are actually getting 320 I suppose you need to measure the traffic.

But to give you a short answer: Yes, you should get a better Airplay audio quality with 320, but I probably couldn't hear the difference...

chme commented 4 years ago

So I don't know where the 128kbps comes from

That is still hard coded in mpd.c: https://github.com/ejurgensen/forked-daapd/blob/a1cf32172a662c704974605fc25780dac2a2169d/src/mpd.c#L1028-L1029

cdlenfert commented 4 years ago

Thanks to you both for confirming what I'm seeing and clarifying what I was confused on. All set here if there's nothing to be done on the hard coded MPD bitrate.

ejurgensen commented 4 years ago

@chme thanks for the note, didn't know it was hardcoded. Would it be possible to use the data from the queue_item instead? It would probably just show 0 in this case, but still might be better.