Subsonic icon indicating copy to clipboard operation
Subsonic copied to clipboard

Question about /stream endpoint handling

Open spl0k opened this issue 2 years ago • 0 comments

Hello.

This is more of a question than anything. I am the main developer of Supysonic, a Subsonic server alternative written in Python and currently targeting the 1.10.2 API version.

Some time ago a user reported than when using Supysonic with DSub songs had to be fully downloaded before DSub could start playing them whereas with Airsonic the songs start playing even if they were still being downloaded (spl0k/supysonic#224). Behavior I could confirm on my side. When investigating on this issue I tried different scenarios to see if it could come from the way Supysonic was deployed, added or removed some HTTP headers, rewritten the file sending method to ensure they were streamed, but all to no avail: DSub still downloaded the whole file before playing it.

So the real question behind all this: does DSub include some logic that would cause the observed behavior? And if so, what could be done on the server-side (HTTP headers? bumping the API version? anything else?) to enable an almost seamless playing experience? I tried looking inside DSub source but couldn't go far, I'm not a Java developer and I quickly lost myself in the files.

Thank you for any insight you could give me :)

spl0k avatar Jan 22 '22 16:01 spl0k