Skip to content

VPAAMP-684: Fix Tech Fault error on rewind from live edge into CDAI ads#1711

Open
nu641001 wants to merge 2 commits into
dev_sprint_25_2from
feature/VPAAMP-684_CDAI
Open

VPAAMP-684: Fix Tech Fault error on rewind from live edge into CDAI ads#1711
nu641001 wants to merge 2 commits into
dev_sprint_25_2from
feature/VPAAMP-684_CDAI

Conversation

@nu641001

@nu641001 nu641001 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Reason for change: Wait for scheduled fragments to be downloaded and cached before moving to next period when Ad is either ended or not playing. This will avoid Tech Fault error due to wrong init fragment being downloaded or wrong bitrate during period transition. Risks: Low
Test Procedure: Test with Fog CDAI
Priority: P1

Change-Id: I9d9fbb37797bcbc1455fff680a37c106f44f9be9
Signed-off-by: Nandakishor U M nu641001@gmail.com

Reason for change: Wait for scheduled fragments to be downloaded and cached before moving
to next period when Ad is either ended or not playing.
This will avoid Tech Fault error due to wrong init fragment being downloaded or wrong bitrate during period transition.
Risks: Low
Test Procedure: Test with Fog CDAI
Priority: P1

Change-Id: I9d9fbb37797bcbc1455fff680a37c106f44f9be9
Signed-off-by: Nandakishor U M <nu641001@gmail.com>
@nu641001 nu641001 requested a review from a team as a code owner July 9, 2026 14:48
@nu641001 nu641001 requested a review from Copilot July 9, 2026 14:50

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

This PR updates the DASH (MPD) fetcher loop CDAI period-transition handling to reduce Tech Fault errors when rewinding from the live edge into CDAI ads by waiting for scheduled fragment downloads to complete before advancing periods.

Changes:

  • Adds a period-transition gate (breakDownloaderLoop) and waits for track-worker completion before breaking out to the next period when base-period completion/offset change triggers a transition.
  • Refreshes the MPD during the wait loop for live manifests.

Comment thread fragmentcollector_mpd.cpp
Comment on lines +10647 to +10648
// State is not OUTSIDE_ADBREAK, Ad is either ended or not playing
// Wait for scheduled fragments to be downloaded and cached before moving to next period.
Comment thread fragmentcollector_mpd.cpp
Comment on lines +10651 to +10660
aamp->GetAampTrackWorkerManager()->WaitForCompletionWithTimeout(MAX_WAIT_TIMEOUT_MS, [this]() {
if (mIsLiveManifest)
{
if (eAAMPSTATUS_OK != UpdateMPD())
{
AAMPLOG_DEBUG("Failed to refresh MPD");
}
}
});
break;
@varshnie varshnie force-pushed the feature/VPAAMP-684_CDAI branch from 9a44a9d to 309bc10 Compare July 13, 2026 18:21
…live edge into CDAI ads

Reason for change:Added L1 test
Risks: p1

Signed-off-by: varshnie <varshniblue14@gmail.com>

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment on lines +3422 to +3424
EXPECT_CALL(*g_mockPrivateInstanceAAMP, DownloadsAreEnabled())
.Times(AnyNumber())
.WillRepeatedly(Return(true));
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.

3 participants