2026.05.28 #205
tsirysndr
announced in
Announcements
2026.05.28
#205
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
[2026.05.28]
Added
netstream: background prefetch thread per HTTP stream — a dedicated thread fills a 2 MBVecDequebuffer from the network sorb_net_readdrains in sub-µs without ever blocking on TCP; forward seeks within the prefetch window consume buffered bytes without issuing a newRangerequest; backward or large (>2 MB) forward seeks issue aRangerequest and replace the reader thread atomicallyFixed
connect_timeout15 s remains) — the previous 30 s deadline killed large remote files mid-stream;read_as_file()reverted to a retry-loop that fills the full requested bufferfill_buffer()now passesBUFFERING_DEFAULT_FILECHUNKinstead of0when a second handle has remaining data, so next-track pre-buffering round-robins with the current track instead of monopolising the buffering thread and starving the ring bufferbuffer_handle()caps HTTP handles to oneBUFFERING_DEFAULT_FILECHUNKper call;streamfd.creplaces per-chunkfprintf(stderr, …)withlogf()(compiled out in production) to eliminate hundreds of blockingwrite(2)syscalls per trackcoverArtUrlFromStreamUrl()added tonavidrome-client.tsreconstructs agetCoverArtURL from theid,u,t,sparameters embedded in the stream URL; used as a fallback intrackFromProtowhenalbum_artis emptyFull Changelog: 2026.05.27...2026.05.28
This discussion was created from the release 2026.05.28.
Beta Was this translation helpful? Give feedback.
All reactions