Skip to content

VPAAMP-651: Trickplay skips incorrectly at cdai ad boundaries#1674

Open
varshnie wants to merge 1 commit into
dev_sprint_25_2from
feature/VPAAMP-651
Open

VPAAMP-651: Trickplay skips incorrectly at cdai ad boundaries#1674
varshnie wants to merge 1 commit into
dev_sprint_25_2from
feature/VPAAMP-651

Conversation

@varshnie

@varshnie varshnie commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Reason for change:Init segments at ad boundaries carry discontinuity flag but yield no samples,leaving state machine in STEADY phase. Next ad data segment computes incorrect PTS delta, causing catastrophic position jump to stream end.
Risks: p1

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

@varshnie varshnie requested a review from a team as a code owner July 1, 2026 09:37
@varshnie varshnie requested a review from Copilot July 1, 2026 09:45

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 CDAI trickplay position jumps at ad-boundary discontinuities by ensuring the MP4 demuxer’s trickmode PTS restamping state machine transitions correctly even when discontinuous init segments yield no samples (preventing incorrect cross-period PTS deltas).

Changes:

  • Adds a helper to pre-advance trickmode restamp state on discontinuities.
  • Invokes the helper when a discontinuous init segment in trickplay produces no samples (CDAI boundary case).

Reviewed changes

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

File Description
mp4demux/AampMp4Demuxer.h Declares HandleTrickModeDiscontinuity() helper for trickmode discontinuity handling.
mp4demux/AampMp4Demuxer.cpp Implements the helper and calls it from sendSegment() for discontinuous init segments with no samples.

Comment thread mp4demux/AampMp4Demuxer.cpp
Comment thread mp4demux/AampMp4Demuxer.cpp Outdated
Comment thread mp4demux/AampMp4Demuxer.cpp Outdated
Reason for change:Init segments at ad boundaries carry discontinuity flag but yield no samples,leaving state machine in STEADY phase. Next ad data segment computes incorrect PTS delta, causing catastrophic position jump to stream end.
Risks: p1

Signed-off-by: varshnie <varshniblue14@gmail.com>
@varshnie varshnie force-pushed the feature/VPAAMP-651 branch from 8fc661a to c607fca Compare July 1, 2026 12:53
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