sentriz / gonic

music streaming server / free-software subsonic server API implementation
ircs://irc.libera.chat/#gonic
GNU General Public License v3.0
1.49k stars 104 forks source link

songs not being downloaded in dsub after upgrade 15.2→16.4 #518

Open unhammer opened 2 weeks ago

unhammer commented 2 weeks ago

gonic version: 16.4 from AUR arch linux

15.2 was working fine, but after upgrading to 16.4, I first got errors that I had to add a transcoding profile since dsub requested maxbitrate (dsub would just "skip" the song as if it was 0 seconds long), so I added transcode * client to ogg (also tried mp3) to my user and then I see

juni 16 22:24:59 arch gonic[2272868]: 2024/06/16 22:24:59 response  200  GET /getMusicDirectory?u=me&s=hv6ju…&t=b07be2…&v=1.2.0&c=DSub&id=al-1708
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 trancoding to "audio/ogg" with at bitrate 112
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 response  0  GET /stream?u=me&s=hv6ju…&t=b07be2…&v=1.2.0&c=DSub&id=tr-20010&maxBitRate=112
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 response  200  GET /savePlayQueue?u=me&s=hv6ju…&t=b07be2…&v=1.2.0&c=DSub&id=tr-20010&id=tr-20011&id=tr-20012&id=tr-20013&id=tr-20014&id=tr-20015&id=tr-20016&id=tr-20017&id=tr-20018&id=tr-20019&id=tr-20020&id=tr-20021&id=tr-20022&id=tr-20023&current=tr-20010&position=0
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 trancoding to "audio/ogg" with at bitrate 112
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 response  0  GET /stream?u=me&s=hv6ju…&t=b07be2…&v=1.2.0&c=DSub&id=tr-20010&maxBitRate=112
juni 16 22:25:02 arch gonic[2272868]: 2024/06/16 22:25:02 trancoding to "audio/ogg" with at bitrate 112
juni 16 22:25:03 arch gonic[2272868]: 2024/06/16 22:25:03 response  0  GET /stream?u=me&s=hv6ju…&t=b07be2…&v=1.2.0&c=DSub&id=tr-20010&maxBitRate=112
juni 16 22:25:03 arch gonic[2272868]: 2024/06/16 22:25:03 trancoding to "audio/ogg" with at bitrate 112

in logs as if it's sending data, but dsub just hangs with Downloading – 0 B. (Is that http code 0?)

This is when I've set maxbitrate 112 in dsub to force transcoding. If I change it to infinite max, it still hangs, but logs now say

juni 16 22:36:42 arch gonic[2272868]: 2024/06/16 22:36:42 serving raw file, requested max bitrate 121 is greater or equal to 121
juni 16 22:36:42 arch gonic[2272868]: 2024/06/16 22:36:42 response  404  GET /stream?u=me&s=i1lnv9…&t=1fde…&v=1.2.0&c=DSub&id=tr-20010&maxBitRate=121

(Is that http code 404?)


I tried calling mpv with an url like subsonic.el does, and then I get Failed to recognize file format. Exiting... (Errors when loading file) if I set transcoding to mp3. If I turn off transcoding, I get [ffmpeg] https: HTTP error 404 Not Found Failed to open https://… (so yes, it seems it's actually responding with 404 instead of serving the raw file)

dweymouth commented 1 week ago

This looks a lot of like this issue report in my client https://github.com/dweymouth/supersonic/issues/401 which was happening with Ampache. In the ticket there is examples for the HTTP headers that Navidrome returns when serving a transcoded file and a raw file, both which work well with MPV, compared to the improper headers Ampache was returning. Perhaps Gonic is returning similarly improper HTTP headers?

dweymouth commented 1 week ago

oh wait you're just seeing 404s, that's a bit different