-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flush Front Buffer #5479
Comments
|
Then, can you add a config |
We should also then update the docs to distinguish "buffer management" settings that are for buffer ejection ( |
Hi @whatever1211, Could you take a look at #5761? Would setting a |
Hi @robwalch, sorry for the late comment. I have tried your new frontBufferFlushThreshold value and it did resolve most of the cases for me. Except 1 contiguous case, where I set these configures
And I seek back 5 seconds repeatedly. The whole buffer is still contiguous and hls.js desire not to clear front buffer eventhough the buffer length has exceeded frontBufferFlushThreshold value, 30 seconds. Example log belows:
Please also check frontBufferFlushThreshold value for contiguous case too. Thanks. |
Once more I notice is the different ended check between flushBackBuffer and flushFrontBuffer. File: src/controller/buffer-controller.ts flushBackBuffer ended check:
flushFrontBuffer ended check:
Shouldn't the flushFrontBuffer ended check is bufferEnd - currentTime instead of currentTime - bufferEnd. Just like frontBackBuffer.
|
Hi @whatever1211, The difference in back and front buffer ejection is by design and described in the API and migrating docs: We do not want to remove from a contiguous forward buffer unless there is a quota exceeded error. That eviction is the responsibility of the user agent on append. This change removes media from disconnected ranges not being removed by certain UAs, keeping a contiguous forward buffer intact to avoid reloading. |
Ok @robwalch, I get it now. Thank you for the clarification. All others cases are resolved for me now. |
Is your feature request related to a problem? Please describe.
On Tizen and WebOS platforms, memory management is extremely important.
We saw that on Movie (not Live) media, when users repeatly seek back to start play media, the front buffer is not flushed, which leads to memory growth and eventually freezing experiences.
Version hls.js: 1.4.1
Log:
Describe the solution you'd like
Desired a flushFrontBuffer feature based on currentTime and maxBufferLength, that run along side with flushBackBuffer.
Additional context
No response
The text was updated successfully, but these errors were encountered: