Versions in this module Expand all Collapse all v0 v0.1.0 Oct 27, 2023 Changes in this version + const WidevineSystemID + var ServiceCertificateRequest = []byte + func DecryptMP4(r io.Reader, key []byte, w io.Writer) error + func ParseServiceCert(serviceCert []byte) (*wvpb.DrmCertificate, error) + type CDM struct + func NewCDM(device *Device, opts ...CDMOption) *CDM + func (c *CDM) GetLicenseChallenge(pssh *PSSH, typ wvpb.LicenseType, privacyMode bool, ...) ([]byte, func(b []byte) ([]*Key, error), error) + type CDMOption func(*CDM) + func WithNow(now func() time.Time) CDMOption + func WithRandom(source rand.Source) CDMOption + type Device struct + func NewDevice(src DeviceSource) (*Device, error) + func (d *Device) ClientID() *wvpb.ClientIdentification + func (d *Device) DrmCertificate() *wvpb.DrmCertificate + func (d *Device) PrivateKey() *rsa.PrivateKey + type DeviceSource func() (*Device, error) + func FromRaw(clientID, privateKey []byte) DeviceSource + func FromWVD(r io.Reader) DeviceSource + type Key struct + ID []byte + IV []byte + Key []byte + Type wvpb.License_KeyContainer_KeyType + type PSSH struct + func NewPSSH(b []byte) (*PSSH, error) + func (p *PSSH) Data() *wvpb.WidevinePsshData + func (p *PSSH) Flags() uint32 + func (p *PSSH) RawData() []byte + func (p *PSSH) Version() byte