mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-05-17 14:29:27 +00:00
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:
@@ -295,7 +295,10 @@ class PlayReady:
|
|||||||
|
|
||||||
if challenge:
|
if challenge:
|
||||||
try:
|
try:
|
||||||
license_res = licence(challenge=challenge)
|
try:
|
||||||
|
license_res = licence(challenge=challenge, pssh_b64=self.pssh_b64)
|
||||||
|
except TypeError:
|
||||||
|
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")
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user