Skip to content

VPLAY-13176 underflow detection refactoring#1252

Merged
pstroffolino merged 13 commits intodev_sprint_25_2from
feature/VPLAY-13176
Apr 9, 2026
Merged

VPLAY-13176 underflow detection refactoring#1252
pstroffolino merged 13 commits intodev_sprint_25_2from
feature/VPLAY-13176

Conversation

@pstroffolino
Copy link
Copy Markdown
Contributor

@pstroffolino pstroffolino commented Mar 27, 2026

Reason for Change: motivated by struggles getting L2 6002 to pass on OSX
Refactoring to eliminate polling loop, vendor specific code, dependencies on streamer-level signaling.

Test Guidance: underflow monitoring/rerporting must work well across devices and simulator variations. All underflow-specific tests must work.

Risk: High - simplification, but big change. That said, current implementation has some known issues.

Reason for Change: see ticket

Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
@pstroffolino pstroffolino requested a review from a team as a code owner March 27, 2026 13:36
Copy link
Copy Markdown
Contributor

@Vinish100 Vinish100 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me 👍
L1 is failing as fakes are not updated

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors video underflow detection to a timer/deadline-driven monitor, removing steady-state polling and introducing explicit notifications from fragment download and buffering transitions to improve consistency across devices/simulators.

Changes:

  • Replace polling-based underflow detection with a deadline-based AampUnderflowMonitor that arms/disarms on fragment and buffering notifications.
  • Wire underflow-monitor notifications into fragment download/chunk caching and buffering state transitions.
  • Update unit-test fakes to match the new monitor API and stream-abstraction notification surface.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
AampUnderflowMonitor.h Redefines the underflow monitor as a timer/deadline-driven component with notify-style APIs.
AampUnderflowMonitor.cpp Implements deadline arming/disarming, deadline wait loop, and underflow declare/resume behavior.
StreamAbstractionAAMP.h Adds stream-level notification methods for underflow monitor events (fragment queued, pipeline paused/resumed).
streamabstraction.cpp Updates underflow monitor construction and forwards new notifications to the monitor with locking.
priv_aamp.cpp Notifies the underflow monitor when buffering pauses the pipeline; documents why resume notify isn’t called.
MediaStreamContext.cpp Notifies the underflow monitor on successful video fragment/chunk availability; adds a race-avoidance guard for TSB discard logic.
test/utests/fakes/FakeAampUnderflowMonitor.cpp Updates fake monitor constructor and stubs new notify APIs for unit tests.
test/utests/fakes/FakeStreamAbstractionAamp.cpp Adds stubs for new stream-level underflow monitor notification methods.

Comment thread AampUnderflowMonitor.cpp Outdated
Comment thread AampUnderflowMonitor.cpp Outdated
Comment thread priv_aamp.cpp
Comment thread MediaStreamContext.cpp
pstroffolino and others added 4 commits April 9, 2026 01:48
Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
Signed-off-by: Philip Stroffolino <philip_stroffolino@cable.comcast.com>
@pstroffolino pstroffolino merged commit 5527cfc into dev_sprint_25_2 Apr 9, 2026
7 of 8 checks passed
@pstroffolino pstroffolino deleted the feature/VPLAY-13176 branch April 9, 2026 13:59
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