github devine-dl/pywidevine v1.5.1

latest releases: v1.8.0, v1.7.0, v1.6.0...
2 years ago
  • Supported Serve API: v1.4.3 or newer

Added

  • Support for big-int Key IDs in PSSH. All integer values are converted to a UUID and are loaded big-endian.
  • Import path shortcuts in the __init__.py package constructor to all the user classes.
    • Now you can do e.g., from pywidevine import PSSH instead of from pywidevine.pssh import PSSH.
    • You can still do it the full direct way if you want.
  • Parsing check to the raw DrmCertificate in Cdm.set_service_certificate().

Changed

  • Service Certificates are now stored in the session as a SignedDrmCertificate.
    • This is to keep the signature with the Certificate, without wrapping it in a SignedMessage unnecessarily.
  • Reduced the maximum concurrent Cdm sessions from 50 to 16 as it seems to be a more common limit on more up-to-date
    devices and versions of OEMCrypto. This also helps encourage people to close their sessions when they are no longer
    required.

Fixed

  • Acquisition of the Certificate's provider_id in Cdm.set_service_certificate() in some edge cases, but also when you
    try to remove the certificate by setting it to None.
  • When exporting a PSSH object it will now do so in the same version it was initially loaded or created in. Previously
    it would always dump as a v1 PSSH box due to a cascading check in pymp4. It now also honors the currently set version
    in the case it gets overridden.
  • Improved reliability of computing License Signatures by verifying the signature against the original raw License
    message instead of the re-serialized version of the message.
    • Some license messages when parsed would be slightly different when re-serialized against my protobuf, therefore the
      computed signature would have always mismatched.

Don't miss a new pywidevine release

NewReleases is sending notifications on new releases.