CdmApi
interface CdmApi
The operations a CDM offers, whether it runs in this process or behind an HTTP server.
Cdm implements this locally. ktvine-remote's RemoteCdm implements it against a pywidevine-compatible server, so callers can swap one for the other.
This is deliberately the common subset. Things a remote server has no endpoint for — reading back the parsed License, entitlement key unwrapping — stay on Cdm.
Inheritors
Functions
Link copied to clipboard
abstract suspend fun getLicenseChallenge(sessionId: ByteString, pssh: PSSH, licenseType: LicenseType = LicenseType.STREAMING, privacyMode: Boolean = true, requestType: LicenseRequest.RequestType = LicenseRequest.RequestType.NEW): ByteArray
Build a signed license request for pssh.
Link copied to clipboard
The service certificate currently set for the session, Base64-encoded, or null.
Link copied to clipboard
Verify and parse a license response, loading its keys into the session.
Link copied to clipboard
abstract suspend fun setServiceCertificate(sessionId: ByteString, certificateBase64: String?): String?
Set or clear the service certificate used for privacy mode.