Skip to content

VPAAMP-470: [Timeshift DAI] Confirm TimedMetadata is reported in Hot/Cold CDVR/iVOD cases#1682

Open
srikanthreddybijjam-comcast wants to merge 1 commit into
support/2.11.1.11_VIPA_TS_DAIfrom
feature/VPAAMP-470_TIMEDMETADATA_NEW
Open

VPAAMP-470: [Timeshift DAI] Confirm TimedMetadata is reported in Hot/Cold CDVR/iVOD cases#1682
srikanthreddybijjam-comcast wants to merge 1 commit into
support/2.11.1.11_VIPA_TS_DAIfrom
feature/VPAAMP-470_TIMEDMETADATA_NEW

Conversation

@srikanthreddybijjam-comcast

Copy link
Copy Markdown
Contributor

Reason for change: Added a EAP check and calculated start time accordingly
Test Procedure: Refer jira ticket VPAAMP-470
Priority: P2

@srikanthreddybijjam-comcast srikanthreddybijjam-comcast requested a review from a team as a code owner July 2, 2026 16:48
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

timeShiftBufferDepth="PT3H"
suggestedPresentationDelay="PT10S">
<!-- Period-1: 10:00 – 10:30, main video, no EventStream -->
<Period id="Period-1" start="PT0S" duration="PT1800S">

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.

Skip duration. Periods will be always in a single format. Either has period duration or not

Comment thread fragmentcollector_mpd.cpp Outdated
if (periodStartMS < valueMS)
periodStartMS = valueMS;
}
else if (periodCnt > 1 && mMPDParseHelper && mMPDParseHelper->IsEmptyPeriod(periodCnt-1, (mPlayRate != AAMP_NORMAL_PLAY_RATE)))

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.

add a check for only last period. Lets make it only EAP specific logic
Add some comments on periodCnt-1, periodCnt-2 and all.

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

Adds coverage and logic to correctly compute timed-metadata start times for “Early Available Period” (EAP) / empty-period scenarios in dynamic MPDs, ensuring TimedMetadata is reported with the expected period-relative start across hot/cold CDVR and iVOD cases (VPAAMP-470).

Changes:

  • Added a new unit test MPD scenario validating calculated periodStartMS when an EAP Period has no @start/@duration.
  • Extended MPD parse-helper test mocking to support IsEmptyPeriod(...).
  • Updated StreamAbstractionAAMP_MPD::FindTimedMetadata to adjust period start time when encountering an empty (EAP) Period without @start.

Reviewed changes

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

File Description
test/utests/tests/fragmentcollector_mpd/FindTimedMetadataTests.cpp Adds new EAP/EventStream unit test and wires MPD parse-helper mocking into the test fixture.
test/utests/mocks/MockAampMPDParseHelper.h Extends mock interface with IsEmptyPeriod(...).
test/utests/fakes/FakeAampMPDParseHelper.cpp Routes IsEmptyPeriod(...) calls through the global mock when present.
fragmentcollector_mpd.cpp Adjusts periodStartMS calculation for empty/EAP Periods without @start.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread fragmentcollector_mpd.cpp Outdated
Comment on lines +5026 to +5030
else if (periodCnt > 1 && mMPDParseHelper && mMPDParseHelper->IsEmptyPeriod(periodCnt-1, (mPlayRate != AAMP_NORMAL_PLAY_RATE)))
{
periodStartMS += mMPDParseHelper->GetPeriodDuration(periodCnt-2, mLastPlaylistDownloadTimeMs, (mPlayRate != AAMP_NORMAL_PLAY_RATE), aamp->IsUninterruptedTSB());
AAMPLOG_WARN("Empty period found, id=%s periodStartMS adjusted to %" PRIu64 " ms", node->GetAttributeValue("id").c_str(), periodStartMS);
}
@srikanthreddybijjam-comcast srikanthreddybijjam-comcast force-pushed the feature/VPAAMP-470_TIMEDMETADATA_NEW branch 5 times, most recently from 46be7a2 to a6cf531 Compare July 3, 2026 14:50
…ream

Reason for change:Added a EAP check and used the starttime of the periods
Test Procedure: Refer jira ticket VPAAMP-470
Priority: P2

Signed-off-by: srikanthreddybijjam-comcast <srikanthreddybijjam.2000@gmail.com>
@srikanthreddybijjam-comcast srikanthreddybijjam-comcast force-pushed the feature/VPAAMP-470_TIMEDMETADATA_NEW branch from a6cf531 to 7feac1a Compare July 3, 2026 17:04
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.

4 participants