Skip to content

VPAAMP-473:Place CDAI ads for cold CDVR and iVOD#1592

Open
varshnie wants to merge 1 commit into
support/2.11.1.11_VIPA_TS_DAI_1from
feature/VPAAMP-473_support
Open

VPAAMP-473:Place CDAI ads for cold CDVR and iVOD#1592
varshnie wants to merge 1 commit into
support/2.11.1.11_VIPA_TS_DAI_1from
feature/VPAAMP-473_support

Conversation

@varshnie

@varshnie varshnie commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Reason for change:Cold CDVR/static manifests never refresh, so ad placement was never triggered after fulfillment, causing playback to freeze waiting for ads that were never mapped.Fixed by immediately calling ad placement as soon as an ad is resolved, instead of waiting for a manifest refresh that never comes.
Risks: p1

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

@varshnie varshnie requested a review from a team as a code owner June 10, 2026 14:19
@varshnie varshnie force-pushed the feature/VPAAMP-473_support branch from d905e95 to 1395c6f Compare June 11, 2026 07:15
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
lock.unlock();
AAMPLOG_INFO("[CDAI] Cold CDVR/IVOD: calling PlaceAds with base MPD helper %p", baseMPDHelper.get());
PlaceAds(baseMPDHelper);
lock.lock();

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.

Any reason to remove lock?
We can make mDaiMtx recursive mutex if there is lock up issues by calling lock multiple times

Comment thread admanager_mpd.h Outdated
Comment thread fragmentcollector_mpd.cpp Outdated
@varshnie varshnie force-pushed the feature/VPAAMP-473_support branch 2 times, most recently from f67159c to 9f2da17 Compare June 11, 2026 11:17
@Vinish100 Vinish100 requested a review from Copilot June 11, 2026 11:40

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 addresses CDAI ad placement for cold CDVR / iVOD (static MPDs) where manifests do not refresh, by enabling ad placement to be triggered immediately after ad fulfillment rather than waiting for a manifest update.

Changes:

  • Update MPD stream logic to run CDAI placement for static manifests and keep the CDAI object in sync with the latest base MPD parse helper.
  • Extend PrivateCDAIObjectMPD to store a “base” MPD parse helper and use it to trigger immediate PlaceAds() after an ad is fulfilled.
  • Add additional CDAI logging and introduce conditional “cold CDAI” event handling in ProcessEventStream().

Reviewed changes

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

File Description
fragmentcollector_mpd.cpp Triggers CDAI placement for static manifests and adds cold-CDVR/iVOD event handling/logging.
admanager_mpd.h Adds storage + mutex for a base-stream MPD parse helper and exposes SetBaseMPDParseHelper().
admanager_mpd.cpp Implements base-helper storage and immediate PlaceAds() after fulfillment; adds placement logging.

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

Comment thread fragmentcollector_mpd.cpp Outdated
Comment thread admanager_mpd.cpp Outdated
Comment on lines +1336 to +1341
// Release mDaiMtx while calling PlaceAds so that the
// fetcher thread can also run onAdEvent concurrently.
lock.unlock();
PlaceAds(baseMPDHelper);
lock.lock();
}
Comment thread admanager_mpd.cpp
Comment thread admanager_mpd.cpp
Comment thread admanager_mpd.cpp
@varshnie varshnie force-pushed the feature/VPAAMP-473_support branch 2 times, most recently from e3053cf to 7708dcc Compare June 11, 2026 14:16
Reason for change:Cold CDVR/static manifests never refresh, so ad placement was never triggered after fulfillment, causing playback to freeze waiting for ads that were never
mapped.Fixed by immediately calling ad placement as soon as an ad is resolved, instead of waiting for a manifest refresh that never comes. Risks: p1

Signed-off-by: varshnie <varshniblue14@gmail.com>
@varshnie varshnie force-pushed the feature/VPAAMP-473_support branch from 7708dcc to dbc171b Compare June 11, 2026 14:22
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