Skip to content

[DrmEngine] Convert Common CENC DRMInfo#2048

Merged
CastagnaIT merged 1 commit into
xbmc:Piersfrom
CastagnaIT:drm_convert_cenc
Jun 6, 2026
Merged

[DrmEngine] Convert Common CENC DRMInfo#2048
CastagnaIT merged 1 commit into
xbmc:Piersfrom
CastagnaIT:drm_convert_cenc

Conversation

@CastagnaIT
Copy link
Copy Markdown
Collaborator

@CastagnaIT CastagnaIT commented Jun 6, 2026

Description

Common CENC DRMInfo should be compatible with all DRM
but in order to works init data need to be converted to the target DRM

sample manifest:
playlist_cbcs.mpd.txt

Motivation and context

widevine failed to initialize as comment: #2046 (comment)

How has this been tested?

manual test by hacking code by passing to widevine a CENC PSSH, that confirm to fails to initialize

Screenshots (if appropriate):

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • I have read the Contributing document
  • My code follows the Code Guidelines of this project
  • My change requires a change to the Wiki documentation
  • I have updated the documentation accordingly

@CastagnaIT CastagnaIT added Type: Fix non-breaking change which fixes an issue DRM: Widevine v22 Piers labels Jun 6, 2026
@kodiai
Copy link
Copy Markdown

kodiai Bot commented Jun 6, 2026

Decision: APPROVE

Issues: none

Evidence:

  • Review prompt covered 1 changed file.
  • Review scope note: output was scoped by prompt budget limits; Review Details include bounded counts only.
Review Details
  • Review plan: ready hash=f3afa85b1ea5 route=standard task=review.full files=1 lines=54(local-diff) budget=na/755s gates=3/3 publish=canonical-visible-surface graph=skipped candidates=preferred doctrine=disabled/0/0/0 reasons=disabled

  • Review reducer: ready input=4 kept=4 suppressed=0 rewritten=0 deprioritized=0 lowConfidence=0 auditEvents=0 severityDemoted=0 graphValidated=0 graphUncertain=0 doctrine=disabled/0/0/0 reasons=disabled

  • Review candidates: shadow recorded=4 rejected=0 errors=0 artifact=present repo=xbmc-inputstream.adaptive pr=2048 key=kodiai-review-output:v1:inst-109141824:xbmc-inputstream.adaptive:pr-2048:action- delivery=590c4960-6188-11f1-82a8-f81e2b645609

  • Review candidate publication: mode=blocked approved=4 rewritten=0 publishable=0 nonPublishable=4 fixBlocked=4 published=0 directFallback=0 reasons=fix-eligibility-blocked movedToDetails=0 detailsOmitted=0 buckets=blocked:4:fix-eligibility-blocked+missing-replacement

  • M072 candidate publication bridge: status=denied; bridgeVersion=candidate-publication-bridge.v1; bridgeId=candidate-publication-record:235dc93a14dff7dffc8fd6960175039f; recordKey=candidate-publication-record:235dc93a14dff7dffc8fd6960175039f; correlationKey=candidate-publication-bridge:610b5c076cc191ffabfedf68c580501b; source=review-handler-publication; candidateRef=candidate-publication-summary-c33144bb; verification=none; counts=candidateCount:0,evidenceCount:0,verifiedCount:0,partiallyVerifiedCount:0,unverifiedCount:0,disprovenCount:0,publicationEligibleCount:0,malformedRecordCount:0,unsafeInputFieldCount:0; reasons=no-evidence,publication-ineligible; malformed=none; presence=deliveryId:y,reviewOutputKey:y,upstreamCorrelationKey:y,policyCorrelationKey:y; handoffOwner=available; redaction=privateOnly:y,rawPayloads:n,publicationFields:n,evidencePayloads:n,githubCommentBody:n,reducerRawPayload:n,discardedRawPayload:n,discardedPublicationFields:n,discardedEvidencePayloads:n

  • Review finding lifecycle: status=normalized; counts=input:4,recorded:4,rejected:0,unsafeInputFields:0; correlation=repo:y,pull:y,reviewOutputKey:y,deliveryId:y,commit:y; statuses=detected:4,open:4,suggested:0,validated:0,revalidated:0,resolved:0,blocked:0,degraded:0; severity=critical:0,major:2,medium:2,minor:0; actionability=actionable:0,needs-human-review:4,needs-reproduction:0,blocked:0,not-actionable:0; reasons=automatic-detected,automatic-open,automatic-review; rejected=none; redaction=privateOnly:y,rawPrompts:n,rawModelOutput:n,candidateBodies:n,toolPayloads:n,secretLike:n,diffs:n,unboundedArrays:n,unsafeFields:0

  • Review validation truth: status=normalized; counts=detected:4,suggested:0,validated:0,revalidated:0,resolved:0,blocked:0,degraded:0,open:4,uncertain:0,inputFindings:4,unsafeInputFields:0; evidence=fresh:0,stale:0,missingValidation:4,missingRevalidation:4; reasons=validation-missing:4; refs=rfl-2cad3637bf90db69:open:validation-missing:fix:n:validation:n:revalidation:n,rfl-d38a270e44e02c3a:open:validation-missing:fix:n:validation:n:revalidation:n,rfl-c4555db3d96904ae:open:validation-missing:fix:n:validation:n:revalidation:n,rfl-c3225b8d2820e677:open:validation-missing:fix:n:validation:n:revalidation:n; correlation=reviewOutputKey:y,deliveryId:y; redaction=privateOnly:y,rawPrompts:n,rawModelOutput:n,candidateBodies:n,replacementText:n,toolPayloads:n,secretLike:n,diffs:n,unboundedArrays:n,unsafeFields:0

  • Files reviewed: 1

  • Findings: 0 critical, 0 major, 0 medium, 0 minor

  • Lines changed: +48 -6

  • Profile: strict (auto, lines changed: 54)

  • Contributor experience: profile-backed (using linked contributor profile guidance)

  • Shadow specialist: lane=docs-config-truth status=skipped reason=no-operator-truth-paths candidateCount=0 decisionCount=0 decisionCounts=candidate:0,duplicate:0,disagreement:0,dismissed:0,unclassifiable:0 duplicateCount=0 disagreementCount=0 dismissedCount=0 unclassifiableCount=0 truncatedCandidateCount=0 metricAvailability=token:n,cost:n,latency:n visiblePublicationDenied=true approvalPublicationDenied=true privateOnly=true shadowOnly=true redacted=raw:n,publication:n,approval:n,unsafe:0 correlationKey=50c5079b2396b87b deliveryId=590c4960-6188-11f1-82a8-f81e2b6… reviewOutputKey=kodiai-review-output:v1:inst-10…

  • Review completed: 2026-06-06T09:22:22.913Z

  • Total wall-clock: 6m 16s

  • Phase timings:

    • queue wait: 1ms
    • workspace preparation: 1.2s
    • retrieval/context assembly: 3.1s
    • executor handoff: 38s
    • remote runtime: 5m 28s
    • publication: 2.6s
  • Tokens: 194 in / 13,792 out | 0.5146

  • Keyword parsing: No keywords detected

  • Budget behavior: scoped (prompt-budget-limited).

  • Prompt budget: 5 sections, 1 trimmed, 0 bypassed, 676 trimmed tokens.

  • Cache behavior: 2 observations, 1 hits, 1 misses, 0 degraded, 0 bypassed.

  • Continuation behavior: 0 observations, 0 compacted, 0 fallback, 0 degraded, 0 bypassed.

This drm info should be compatible with all DRM
but in order to works init data need to be converted to the target DRM
@CastagnaIT CastagnaIT merged commit d8b248f into xbmc:Piers Jun 6, 2026
11 checks passed
@CastagnaIT CastagnaIT deleted the drm_convert_cenc branch June 6, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DRM: Widevine Type: Fix non-breaking change which fixes an issue v22 Piers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant