Skip to content

VPLAY-12126:Dynamic restoration of latency target#1278

Merged
pstroffolino merged 2 commits into
dev_sprint_25_2from
feature/VPLAY-12126
Apr 28, 2026
Merged

VPLAY-12126:Dynamic restoration of latency target#1278
pstroffolino merged 2 commits into
dev_sprint_25_2from
feature/VPLAY-12126

Conversation

@varshnie
Copy link
Copy Markdown
Contributor

@varshnie varshnie commented Apr 7, 2026

Reason for change:Add dynamic latency threshold restoration: tighten min/target/max back toward config defaults one step at a time when the buffer consistently maintains above danger buffer of stable sec(300s) after a rebuffering event.
Risks: Medium

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

@varshnie varshnie requested a review from a team as a code owner April 7, 2026 13:43
Comment thread AampConfig.cpp Outdated
Comment thread AampConfig.cpp Outdated
Comment thread AampConfig.h Outdated
Comment thread AampLatencyMonitor.cpp Outdated
Comment thread AampLatencyMonitor.cpp Outdated
@varshnie varshnie force-pushed the feature/VPLAY-12126 branch 13 times, most recently from 713513a to caf017c Compare April 15, 2026 13:26
@varshnie varshnie force-pushed the feature/VPLAY-12126 branch 3 times, most recently from 0d2505a to 30f62bf Compare April 20, 2026 16:00
@Vinish100 Vinish100 requested a review from Copilot April 21, 2026 04:30
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

This PR adds dynamic restoration of LL-DASH latency thresholds after low-buffer episodes by tracking buffer health and stepping min/target/max thresholds back toward config defaults over time.

Changes:

  • Extend AampLatencyMonitor with danger-buffer tracking + stepwise restoration controls (dangerBufferMs, latencyStableSec) and a notifier API (OnBufferLevelUpdate).
  • Wire buffer-level notifications from fragment/chunk download success through MediaStreamContextStreamAbstractionAAMPPrivateInstanceAAMPAampLatencyMonitor.
  • Update config defaults/keys and expand unit test coverage for shifting, restoration, and episode-guard behavior.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
test/utests/tests/MediaStreamContextTests/FragmentDownloadTests.cpp Adds a default mock expectation for buffered-duration queries used by new latency-monitor notifications.
test/utests/tests/AampLatencyMonitorTests/AampLatencyMonitorTestCases.cpp Updates/adapts tests to the new low-buffer episode model and adds restoration/episode-guard scenarios.
test/utests/fakes/FakeStreamAbstractionAamp.cpp Adds fake stub for new latency-monitor buffer notification entry point.
test/utests/fakes/FakePrivateInstanceAAMP.cpp Adds fake stub for new PrivateInstanceAAMP buffer notification method.
test/utests/fakes/FakeAampLatencyMonitor.cpp Updates fake latency monitor API to OnBufferLevelUpdate.
streamabstraction.cpp Implements forwarding helper from stream abstraction to PrivateInstanceAAMP for buffer notifications.
priv_aamp.h Declares PrivateInstanceAAMP::NotifyBufferLevelToLatencyMonitor.
priv_aamp.cpp Implements buffer notification forwarding to AampLatencyMonitor and populates new config fields in LL-DASH latency config.
StreamAbstractionAAMP.h Declares StreamAbstractionAAMP::NotifyBufferLevelToLatencyMonitor with Doxygen docs.
MediaStreamContext.cpp Emits buffer-level notifications on successful video fragment/chunk queueing.
AampLatencyMonitor.h Extends LatencyConfig and replaces rebuffer hook with OnBufferLevelUpdate; adds restoration/episode-guard members.
AampLatencyMonitor.cpp Implements low-buffer episode detection, stepwise restoration, and notifier wakeup behavior.
AampDefine.h Adds defaults for latencyStableSec and dangerBufferSec.
AampConfig.h Adds config keys for latencyStableSec and dangerBufferSec.
AampConfig.cpp Registers new float config entries for restoration tuning.

Comment thread AampLatencyMonitor.cpp
Comment thread test/utests/tests/AampLatencyMonitorTests/AampLatencyMonitorTestCases.cpp Outdated
Comment thread AampDefine.h Outdated
Comment thread AampLatencyMonitor.h Outdated
Comment thread test/utests/tests/AampLatencyMonitorTests/AampLatencyMonitorTestCases.cpp Outdated
Comment thread AampLatencyMonitor.cpp Outdated
Comment thread AampLatencyMonitor.h Outdated
Comment thread AampLatencyMonitor.cpp
Comment thread MediaStreamContext.cpp Outdated
@varshnie varshnie force-pushed the feature/VPLAY-12126 branch from 30f62bf to 650f6f5 Compare April 21, 2026 06:11
Comment thread AampConfig.cpp Outdated
Comment thread AampDefine.h Outdated
Comment thread AampLatencyMonitor.cpp Outdated
Comment thread AampLatencyMonitor.cpp Outdated
Comment thread AampLatencyMonitor.h Outdated
Comment thread MediaStreamContext.cpp Outdated
Comment thread AampLatencyMonitor.cpp
@varshnie varshnie force-pushed the feature/VPLAY-12126 branch 2 times, most recently from 3b6f4d5 to d43e331 Compare April 21, 2026 12:25
Reason for change:Add dynamic latency threshold restoration: tighten min/target/max back toward config defaults one step at a time when the buffer consistently maintains above danger buffer of stable sec(300s) after a rebuffering event.
Risks: Medium

Signed-off-by: varshnie varshniblue14@gmail.com
@varshnie varshnie force-pushed the feature/VPLAY-12126 branch from d43e331 to 85749c6 Compare April 24, 2026 07:35
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 👍

Comment thread priv_aamp.cpp
@pstroffolino pstroffolino merged commit 478d956 into dev_sprint_25_2 Apr 28, 2026
10 checks passed
@pstroffolino pstroffolino deleted the feature/VPLAY-12126 branch April 28, 2026 18:50
DomSyna pushed a commit that referenced this pull request Apr 29, 2026
Reason for change:Add dynamic latency threshold restoration: tighten min/target/max back toward config defaults one step at a time when the buffer consistently maintains above danger buffer of stable sec(300s) after a rebuffering event.

Risks: Medium

Test Guidance: refer ticket

Signed-off-by: varshnie varshniblue14@gmail.com
Abhi-jith-S pushed a commit that referenced this pull request May 12, 2026
Reason for change:Add dynamic latency threshold restoration: tighten min/target/max back toward config defaults one step at a time when the buffer consistently maintains above danger buffer of stable sec(300s) after a rebuffering event.

Risks: Medium

Test Guidance: refer ticket

Signed-off-by: varshnie varshniblue14@gmail.com
varatharajan568 pushed a commit that referenced this pull request May 20, 2026
Reason for change:Add dynamic latency threshold restoration: tighten min/target/max back toward config defaults one step at a time when the buffer consistently maintains above danger buffer of stable sec(300s) after a rebuffering event.

Risks: Medium

Test Guidance: refer ticket

Signed-off-by: varshnie varshniblue14@gmail.com
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