Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cdm ¶ added in v1.2.6
type Cdm struct {
// contains filtered or unexported fields
}
wikipedia.org/wiki/Encrypted_Media_Extensions#Content_Decryption_Modules
type LicenseMessage ¶ added in v1.2.6
type LicenseMessage struct {
// contains filtered or unexported fields
}
type Pssh ¶ added in v1.2.6
type Pssh struct { SpecificHeader struct { Size uint32 Type Type Version uint8 Flags [3]byte SystemId SystemId DataSize uint32 } // all of the Widevine PSSH I have seen so far are single `key_id`, so we // are going to implement that for now, because its not clear what the logic // would be with multiple key_ids. Key_id []byte // contains filtered or unexported fields }
ISO/IEC 14496-12
aligned(8) class Box ( unsigned int(32) boxtype, optional unsigned int(8)[16] extended_type ) { BoxHeader(boxtype, extended_type); // the remaining bytes are the BoxPayload } aligned(8) class BoxHeader ( unsigned int(32) boxtype, optional unsigned int(8)[16] extended_type ) { unsigned int(32) size; unsigned int(32) type = boxtype; if (size==1) { unsigned int(64) largesize; } else if (size==0) { // box extends to end of file } if (boxtype=='uuid') { unsigned int(8)[16] usertype = extended_type; } } aligned(8) class FullBox( unsigned int(32) boxtype, unsigned int(8) v, bit(24) f, optional unsigned int(8)[16] extended_type ) extends Box(boxtype, extended_type) { FullBoxHeader(v, f); // the remaining bytes are the FullBoxPayload } aligned(8) class FullBoxHeader(unsigned int(8) v, bit(24) f) { unsigned int(8) version = v; bit(24) flags = f; }
ISO/IEC 23001-7
aligned(8) class ProtectionSystemSpecificHeaderBox extends FullBox( 'pssh', version, flags=0, ) { unsigned int(8)[16] SystemID; if (version > 0) { unsigned int(32) KID_count; { unsigned int(8)[16] KID; } [KID_count]; } unsigned int(32) DataSize; unsigned int(8)[DataSize] Data; }
Click to show internal directories.
Click to hide internal directories.