Skip to content

v1.0

Choose a tag to compare

@bruor bruor released this 18 Nov 21:55
bd5d937

Fixed a few bugs!

Playback sessions would cause the cache to be lazy filled as the player requested new ranges from the server. Decoupled the reader/writer processes so cache fills are always immediate and full speed.

There was a global download timer baked into the code which caused downloads that took longer than 15 minutes to be evicted instead of committed to the cache. In progress download TTLs are refreshed while actively being downloaded now and the global TTL is now configurable and set to a default of 4 hours.

Emby's back to back calls against the proxy would happen so fast that the initial ffprobe request would cause a cache fill request, but the second would be processed as "no-cache" causing 2 provider connections to be consumed. This was caused because the second request would cause a race condition and try to read the on-disk cache before it had started to be filled. There is now a configurable backoff delay for requests for a URL that have an active worker that hasn't yet committed data to the cache.

A note about RAM. This container uses a lot of memory, in-progress downloads count against container ram usage because of the way that container file writes are viewed by the OS. As soon as file writes are completed the container ram is released. I have some ideas and will attempt to look into this in a future release if needed, but now that it isn't double downloading RAM usage should effectively be halved.