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
Conversation
….viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371
….viper" crash on VIPA enabled devices contributing BERR/TECHFAULTOTT with fingerprint 61111371
Contributor
There was a problem hiding this comment.
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
sinkCapsbecomes 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; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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