VPAAMP-470: [Timeshift DAI] Confirm TimedMetadata is reported in Hot/Cold CDVR/iVOD cases#1682
Conversation
|
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:
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"> |
There was a problem hiding this comment.
Skip duration. Periods will be always in a single format. Either has period duration or not
| if (periodStartMS < valueMS) | ||
| periodStartMS = valueMS; | ||
| } | ||
| else if (periodCnt > 1 && mMPDParseHelper && mMPDParseHelper->IsEmptyPeriod(periodCnt-1, (mPlayRate != AAMP_NORMAL_PLAY_RATE))) |
There was a problem hiding this comment.
add a check for only last period. Lets make it only EAP specific logic
Add some comments on periodCnt-1, periodCnt-2 and all.
There was a problem hiding this comment.
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
periodStartMSwhen an EAP Period has no@start/@duration. - Extended MPD parse-helper test mocking to support
IsEmptyPeriod(...). - Updated
StreamAbstractionAAMP_MPD::FindTimedMetadatato 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.
| 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); | ||
| } |
46be7a2 to
a6cf531
Compare
…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>
a6cf531 to
7feac1a
Compare
Reason for change: Added a EAP check and calculated start time accordingly
Test Procedure: Refer jira ticket VPAAMP-470
Priority: P2