Skip to content

Conversation

@psiva01
Copy link
Contributor

@psiva01 psiva01 commented Dec 2, 2025

Reason for change: Modified the LLD LatencyMonitor condition to disable rate change during rewind as well.
Test Procedure: Refer Jira
Risks: Low

@psiva01 psiva01 requested a review from a team as a code owner December 2, 2025 21:21
@psiva01 psiva01 marked this pull request as draft December 3, 2025 03:17
@psiva01 psiva01 marked this pull request as ready for review December 3, 2025 03:17
Reason for change: Modified the LLD LatencyMonitor condition to
disable rate change during rewind as well.
Test Procedure: Refer Jira
Risks: Low

Signed-off-by: psiva01 <[email protected]>
@psiva01 psiva01 force-pushed the feature/VPLAY-11886 branch from 143be4b to a62fb8b Compare December 3, 2025 20:03
@psiva01 psiva01 force-pushed the feature/VPLAY-11886 branch from 33d595e to d1f3637 Compare December 3, 2025 20:16
@psiva01 psiva01 requested review from Vinish100 and nu641001 December 3, 2025 20:32
@psiva01 psiva01 removed the request for review from nu641001 December 4, 2025 04:33
notifyEnteringLive = true;
}
else if (((eTUNETYPE_SEEK == tuneType) || (eTUNETYPE_RETUNE == tuneType || eTUNETYPE_NEW_SEEK == tuneType)) && (currentRate > AAMP_RATE_PAUSE))
else if (((eTUNETYPE_SEEK == tuneType) || (eTUNETYPE_RETUNE == tuneType || eTUNETYPE_NEW_SEEK == tuneType)) && (currentRate != AAMP_RATE_PAUSE))
Copy link
Contributor

Choose a reason for hiding this comment

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

Previously, the logic used aamp->rate, but after the localTSB integration, it shifted to currentRate which sets PAUSE to stream abstraction object if pipelinePaused, but in actual PAUSE, aamp->rate remains AAMP_NORMAL_RATE and the pipelinePaused flag is set. Is it acceptable to keep using aamp->rate > AAMP_RATE_PAUSE? With the recent fix, the scope of this else if now also includes rewind scenarios—correct?

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi @nu641001 ,
currentRate is a local variable set to aamp->rate in line 3198
Before merging https://github.com/rdkcentral/aamp/pull/649/files#diff-9412049d3685e68289ccd0b5e0a718c64d26b9a783882ba14700abd57e136be3, this function was using mPlayRate (which is always 1 when using AAMP TSB, see VPLAY-11583). Is that what you mean?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes @jfagunde Now I see where the confusion came from. The rate in StreamAbstraction essentially mirrors the value in aamp->rate. Since aamp->rate never transitions to a PAUSED state, the check for rate != PAUSE doesn’t really apply here. We can safely remove that condition to avoid any future ambiguity.

Copy link
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 modifies the condition for entering Low Latency DASH (LLD) latency monitoring logic during seek operations to include rewind scenarios. The change extends the rate check from currentRate > AAMP_RATE_PAUSE (forward playback only) to currentRate != AAMP_RATE_PAUSE (both forward and rewind), ensuring that LLD speed adjustment is properly disabled during rewind operations on live streams.

Key Change:

  • Modified the rate condition check in StreamAbstractionAAMP_MPD::Init() to include negative rates (rewind) in addition to positive rates (forward playback), while still excluding paused state.

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.

5 participants