fix: handle VOD tail buffering completion#5025
Open
hijack2ee wants to merge 1 commit into
Open
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This change fixes a false-positive gap recovery path at the tail of static VOD playback. In some assets, once the last media segment has already been requested,
StreamProcessorcan enter the "no media request generated" path even though playback is effectively complete. The previous ordering applied static-manifest gap adjustment before checking for completed buffering, so the VOD tail could be treated like a manifest gap and trigger an unnecessary internal seek near the end of the period.The fix handles completed buffering first and only falls back to gap recovery when playback is not actually finished. It also uses the current period end, rather than the MPD presentation duration, when deciding whether a small tail-time adjustment is still valid for static content.
Why this is needed
Testing