Skip to content

fix: handle VOD tail buffering completion#5025

Open
hijack2ee wants to merge 1 commit into
Dash-Industry-Forum:developmentfrom
hijack2ee:fix-static-vod-tail-gap-seek
Open

fix: handle VOD tail buffering completion#5025
hijack2ee wants to merge 1 commit into
Dash-Industry-Forum:developmentfrom
hijack2ee:fix-static-vod-tail-gap-seek

Conversation

@hijack2ee
Copy link
Copy Markdown

@hijack2ee hijack2ee commented Apr 27, 2026

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, StreamProcessor can 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

  • static VOD tail conditions should not be classified as manifest gaps
  • once the final segment has already been requested, the player should prefer completion handling over another seek-recovery attempt
  • period-local end checks are safer than MPD-wide duration checks for tail handling, especially in multi-period content

Testing

  • not run

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dsilhavy dsilhavy added this to the 5.2.1 milestone May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants