mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-10 15:11:58 +01:00
A transcoded stream is chunked with no length, so the app declares an upper-bound length, and on the first request the server is still producing the stream: a seek near that bound lands past the data and comes back as POSITION_OUT_OF_RANGE (Navidrome answers 416 until it has cached the transcode). That first request is what warms the cache, so give the load one retry after a second: the retry sees a real Content-Length and the stream plays and seeks. Further out-of-range errors are given up on rather than looped.