Skip to content

VPAAMP-737: [Xumo] Playback fails when played DASH VOD assets#1708

Open
psiva01 wants to merge 3 commits into
dev_sprint_25_2from
feature/VPAAMP-737
Open

VPAAMP-737: [Xumo] Playback fails when played DASH VOD assets#1708
psiva01 wants to merge 3 commits into
dev_sprint_25_2from
feature/VPAAMP-737

Conversation

@psiva01

@psiva01 psiva01 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Reason for change: If bandwidth has changed after async download job submitted & new IDX is not yet loaded (the transient window), fall back to the submission-time URL so URL and range stay paired.

Reason for change: If bandwidth has changed after async download job submitted & new IDX is not yet
loaded (the transient window), fall back to the submission-time URL so URL and range stay paired.

Signed-off-by: psiva01 <sivasubramanian.patchaiperumal@ltts.com>
@psiva01 psiva01 requested a review from a team as a code owner July 9, 2026 07:26
@psiva01 psiva01 requested a review from Copilot July 9, 2026 07:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes a DASH SegmentBase transient ABR-switch window where an async media-segment download could pair a new-profile URL with an old-profile byte range, causing incorrect byte-range fetches and downstream demux failures.

Changes:

  • Add a guarded URL selection fallback in MediaStreamContext::DownloadFragment() to keep URL and byte-range paired when bandwidth changes but IDX is still cleared/not yet reloaded.
  • Add clarifying comment in the MPD fragment collector about SegmentBase parallel download behavior and where the URL/range race is handled.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
MediaStreamContext.cpp Adds a submission-time bandwidth fallback for URL lookup when IDX is empty during an ABR switch to keep URL/range consistent.
fragmentcollector_mpd.cpp Adds documentation clarifying SegmentBase parallel download behavior and pointing to the race fix location.

Comment thread MediaStreamContext.cpp Outdated
Comment on lines 1078 to 1081
if (dlInfo->uriList.find(urlLookupBw) != dlInfo->uriList.end())
{
uriInfo = dlInfo->uriList[urlLookupBw];
}
Comment thread MediaStreamContext.cpp Outdated
Comment on lines 1064 to 1068
BitsPerSecond urlLookupBw = fragmentDescriptor.Bandwidth;
if (!dlInfo->range.empty() &&
dlInfo->bandwidth > 0 &&
dlInfo->bandwidth != fragmentDescriptor.Bandwidth)
{
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.

2 participants