fix(drm): pass per-segment PSSH to PlayReady license callback

HLS manifests with per-segment EXT-X-KEY changes generate distinct WRMHEADERs per segment. Service license callbacks that build the license URI from cached track-level PSSH state can mismatch the challenge KID, causing the license server to omit it and triggering CEKNotFound. Forward pssh_b64 from the active DRM and fall back to the legacy single-arg call when a service hasn't adopted the kwarg.
This commit is contained in:
imSp4rky
2026-04-26 16:33:16 -06:00
parent b1158099d1
commit fbc4aa2c4d

View File

@@ -295,6 +295,9 @@ class PlayReady:
if challenge: if challenge:
try: try:
try:
license_res = licence(challenge=challenge, pssh_b64=self.pssh_b64)
except TypeError:
license_res = licence(challenge=challenge) license_res = licence(challenge=challenge)
if isinstance(license_res, bytes): if isinstance(license_res, bytes):
license_str = license_res.decode(errors="ignore") license_str = license_res.decode(errors="ignore")