Skip to content
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

Fix forward buffer length estimation and error handling #3961

Merged
merged 1 commit into from May 28, 2021

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented May 27, 2021

This PR will...

  • Fix forward buffer length estimation when in a gap not spanned by maxBufferHole (Hls.js tries to buffer the entire video leading to a SourceBuffer overflow #3914)
  • Fix buffer controller blocked after "SourceBuffer is full" append error
  • Cleanup fragment-tracker with afterBufferFlushed on tick with audio-stream-controller to prevent the player from clearing audio segments not yet shown in the buffer after onBufferFlushed

Why is this Pull Request needed?

Prevents hls.js from over-buffering because of incorrect estimation at a gap. Recovers correctly when buffering does fail because of a SourceBuffer full error.

Resolves issues:

Resolves #3914

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)

@robwalch robwalch added this to the 1.0.5 milestone May 27, 2021
@robwalch robwalch merged commit 40353e6 into master May 28, 2021
@robwalch robwalch deleted the bugfix/buffer-length-limit-with-gaps-and-reduce branch May 28, 2021 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hls.js tries to buffer the entire video leading to a SourceBuffer overflow
1 participant