feat(remote): match the server CDM to the client's DRM and read vaults first

A dual widevine/playready cdm entry now loads the device of the client's DRM system, for old clients too since they already send cdm_type. A new client hands a capped track to its own device for the track's DRM system, and raises the refusal only after its local vaults miss.
This commit is contained in:
imSp4rky
2026-11-03 10:51:29 -07:00
parent b710b5b0c9
commit b6429ecdfd
12 changed files with 309 additions and 68 deletions
@@ -405,6 +405,7 @@ def test_a_lent_device_without_the_vault_grant_asks_the_server_for_no_key() -> N
svc._server_device = True
svc._local_vaults_only = True
svc.client_licensed = set()
svc.deferred_refusals = {}
svc.client = SimpleNamespace(post=lambda *a, **k: pytest.fail("the server refuses every key request"))
track = SimpleNamespace(id="vid", drm=None)