Skip to content

VPLAY-11152 crash during first playback after coming out of deepsleep#1150

Open
sayanurag wants to merge 1 commit intosupport/2.6.1_8.2from
feature/VPLAY-11854_VPLAY-11152
Open

VPLAY-11152 crash during first playback after coming out of deepsleep#1150
sayanurag wants to merge 1 commit intosupport/2.6.1_8.2from
feature/VPLAY-11854_VPLAY-11152

Conversation

@sayanurag
Copy link
Copy Markdown
Contributor

Reason for change: Initialise AampDRMLicenseManager class members
Test Procedure: see ticket
Risks: Low

VPLAY-11854 Webprocess crash AampDRMLicenseManager::createDrmSession

Reason for change: trigger the fake tune only when the device transitions from DEEPSLEEP to ON/STANDBY, we can make sure that HDMI is in the expected state and the playback should work as expected.
Test Procedure: updated in ticket
Risks: Low

Copilot AI review requested due to automatic review settings March 9, 2026 14:26
@sayanurag sayanurag force-pushed the feature/VPLAY-11854_VPLAY-11152 branch from c75eef8 to 3e63f96 Compare March 9, 2026 14:29
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

Fixes crashes observed on first playback after exiting deep sleep and during DRM session creation by tightening power-transition handling and initializing DRM license manager state.

Changes:

  • Adjust fake-tune trigger logic to run only on DEEPSLEEP → ON/STANDBY (including a DEEPSLEEP → LIGHT_SLEEP → ON/STANDBY path).
  • Initialize additional AampDRMLicenseManager members in the constructor initializer list (access token state).

Reviewed changes

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

File Description
externals/rdk/PlayerIarmRdkInterface.cpp Refines power-mode transition logic to gate when fake tune is triggered after deep sleep.
drm/AampDRMLicManager.cpp Adds constructor member initialization intended to prevent crashes during DRM session/license flows.

Comment thread drm/AampDRMLicManager.cpp Outdated
*/
AampDRMLicenseManager::AampDRMLicenseManager(int maxDrmSessions, PrivateInstanceAAMP *aamp) : mMaxDRMSessions(maxDrmSessions),
aampInstance(aamp), mDRMSessionManager(NULL)
aampInstance(aamp), mDrmSessionManager(NULL),
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

The constructor initializer list uses mDrmSessionManager(NULL), but the class member is mDRMSessionManager (see header). This will not compile and also leaves mDRMSessionManager uninitialized until the body runs. Rename the initializer to mDRMSessionManager(NULL) to match the member name used throughout the file (e.g., the new DrmSessionManager(...) assignment below).

Suggested change
aampInstance(aamp), mDrmSessionManager(NULL),
aampInstance(aamp), mDRMSessionManager(NULL),

Copilot uses AI. Check for mistakes.
Comment thread drm/AampDRMLicManager.cpp
AampDRMLicenseManager::AampDRMLicenseManager(int maxDrmSessions, PrivateInstanceAAMP *aamp) : mMaxDRMSessions(maxDrmSessions),
aampInstance(aamp), mDRMSessionManager(NULL)
aampInstance(aamp), mDrmSessionManager(NULL),
accessToken(NULL), accessTokenLen(0)
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

licenseRequestAbort is a bool member (declared in the header) but is not initialized in the constructor, so its initial value is undefined and can cause license requests to be spuriously aborted. Initialize it in the constructor initializer list (e.g., to false) alongside the other member initializations.

Suggested change
accessToken(NULL), accessTokenLen(0)
accessToken(NULL), accessTokenLen(0), licenseRequestAbort(false)

Copilot uses AI. Check for mistakes.
Reason for change: Initialise AampDRMLicenseManager class members
Test Procedure: see ticket
Risks: Low
Signed-off-by: James Lofthouse <james_lofthouse@comcast.com>

VPLAY-11854 Webprocess crash AampDRMLicenseManager::createDrmSession

Reason for change: trigger the fake tune only when the device transitions from DEEPSLEEP to ON/STANDBY, we can make sure that HDMI is in the expected state and the playback should work as expected.
Test Procedure: updated in ticket
Risks: Low

Signed-off-by: Anurag Krishnan <akrish513@cable.comcast.com>
@sayanurag sayanurag force-pushed the feature/VPLAY-11854_VPLAY-11152 branch from 3e63f96 to 54afe56 Compare March 10, 2026 14:30
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