PlayreadyCdmApi
interface PlayreadyCdmApi
The operations a PlayReady CDM offers, whether it runs in this process or behind an HTTP server.
PlayreadyCdm implements this locally; ktprd-remote's RemotePlayreadyCdm implements it against a pyplayready-compatible server, so callers can swap one for the other.
This mirrors ktvine's CdmApi in shape — suspending throughout, sessions addressed by an okio ByteString — but not in signature: a PlayReady challenge is a SOAP document rather than a protobuf message, and there is no privacy mode or service certificate in this protocol.