Finally fix CI module case and invoke deletion of ecm.info file when no encrypted channels is present#3704
Merged
jbleyel merged 3 commits intoopenatv:masterfrom Feb 12, 2026
Merged
Conversation
…dles decryption" This reverts commit d9c8582.
Add shouldSuppressActivation callback to eDVBCSASession, checked before setActive(true) at both activation points (cache-hit and ECM analysis). When the callback returns true, the session stays inactive (passthrough) and the ECM monitor is stopped. eDVBServicePlay sets the callback to check isCiConnected(), so CSA-ALT channels decrypted by CI module never activate SoftCSA. The previous eventCIConnected approach failed because the event fires from PMTready() BEFORE ECM analysis completes - isActive() was still false at that point. This approach checks at the actual moment of activation, when isCiConnected() is reliable.
When switching from an encrypted channel to IPTV, enigma2 calls unregisterService() which removes the service from the CA handler. However, no CA PMT was sent to the softcam to signal that descrambling should stop. This left the softcam in descrambling state, causing stale ecm.info data to remain on the infobar. Send a CA PMT with LIST_UPDATE and CMD_NOT_SELECTED before deleting the service object so the softcam properly stops descrambling and cleans up its state (e.g. removes ecm.info). Guarded by m_protocol3_established to avoid sending Protocol-3 framed messages to legacy softcams which don't understand the message format. Legacy softcams are not affected by this issue anyway - their per-service camd.socket connection closes on delete, which already triggers cleanup via POLLHUP.
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.
Revert "[SoftCSA] Deactivate software descrambling when CI module handles decryption"
[SoftCSA] Suppress activation when CI module handles decryption (confirmed by @atvhusky)
[CAHandler] Send CMD_NOT_SELECTED when last service is unregistered
Please do NOT squash the commits