Skip to content

DELIA-70524: [Glass G1 UK -R40.23][Dhruv -40.11]observed "com.comcast.viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371#1599

Open
ALSAMEEMA wants to merge 2 commits into
support/3.3.0_8.5from
feature/DELIA-70524_8.5RDK
Open

DELIA-70524: [Glass G1 UK -R40.23][Dhruv -40.11]observed "com.comcast.viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371#1599
ALSAMEEMA wants to merge 2 commits into
support/3.3.0_8.5from
feature/DELIA-70524_8.5RDK

Conversation

@ALSAMEEMA

Copy link
Copy Markdown
Contributor

DELIA-70524: [Glass G1 UK -R40.23][Dhruv -40.11]observed "com.comcast.viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371
Reason for Change: During rapid pipeline startup, transform_ip() can be called before transform_caps() sets sinkCaps. Instead of just returning error, this fix waits briefly for caps to arrive, improving user experience on rapid channel changes
Test Procedure: Refer Ticket
Risks: Low
Signed-off-by: Alsameema AhmedAnsar Alsameema_AhmedAnsar@comcast.com

….viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371
@ALSAMEEMA ALSAMEEMA requested a review from a team as a code owner June 11, 2026 05:57
….viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371

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

This PR addresses a crash seen during rapid pipeline startup on VIPA-enabled devices by improving synchronization between caps negotiation (transform_caps) and buffer processing (transform_ip) in the CDMI decryptor path.

Changes:

  • Added a dedicated condition variable to signal when sinkCaps becomes available.
  • Implemented a short timed wait in transform_ip() to reduce failures when caps arrive slightly late.
  • Hardened the OCDM decrypt path to avoid calling gst_caps_is_empty() on invalid/NULL caps.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
middleware/gst-plugins/drm/gst/gstcdmidecryptor.h Adds sinkCapsCond to coordinate sink caps availability.
middleware/gst-plugins/drm/gst/gstcdmidecryptor.cpp Initializes/clears/signals sinkCapsCond; adds timed waiting for sinkCaps in transform_ip().
middleware/drm/ocdm/OcdmGstSessionAdapter.cpp Reorders caps checks to avoid NULL/invalid caps use before decrypt.

Comment on lines +654 to +658
if (cdmidecryptor->sinkCaps == NULL) {
GST_WARNING_OBJECT(cdmidecryptor, "sinkCaps is NULL, skipping decrypt");
result = GST_FLOW_NOT_SUPPORTED;
goto free_resources;
}
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