Bugfix: Reset gap-controller nudgeRetry
#5879
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR will...
Reset gap-controller nudgeRetry count after playhead moves, pauses, or ends while not seeking.
Why is this Pull Request needed?
When
nudgeRetry
reachesnudgeMaxRetry
, the error is escalated to fatal (expected):hls.js/src/controller/gap-controller.ts
Lines 334 to 365 in 46a7ca2
nudgeRetry
is reset when pollingcurrentTime
. The expectation is that this runs after currentTime has advanced naturally. Note thatstalled
must not benull
- the think here is that this is reset when exiting a stall, but this does not work if stalled is reset before reaching this point:hls.js/src/controller/gap-controller.ts
Lines 47 to 73 in 46a7ca2
And here we see that
stalled
is reset to null before nudging, sonudgeRetry
will never be reset:hls.js/src/controller/gap-controller.ts
Lines 206 to 211 in 46a7ca2
Are there any points in the code the reviewer needs to double check?
Resolves issues:
Resolves #5873
Checklist