Class ProtectionSystemSpecificHeaderBox

  • All Implemented Interfaces:
    Box, FullBox, ParsableBox

    public class ProtectionSystemSpecificHeaderBox
    extends AbstractFullBox

    4cc = ""pssh""

    This box contains information needed by a Content Protection System to play back the content. The data format is specified by the system identified by the ‘pssh’ parameter SystemID, and is considered opaque for the purposes of this specification.

    The data encapsulated in the Data field may be read by the identified Content Protection System to enable decryption key acquisition and decryption of media data. For license/rights-based systems, the header information may include data such as the URL of license server(s) or rights issuer(s) used, embedded licenses/rights, and/or other protection system specific metadata.

    A single file may be constructed to be playable by multiple key and digital rights management (DRM) systems, by including one Protection System-Specific Header box for each system supported. Readers that process such presentations must match the SystemID field in this box to the SystemID(s) of the DRM System(s) they support, and select or create the matching Protection System-Specific Header box(es) for storage and retrieval of Protection-Specific information interpreted or created by that DRM system.

    • Field Detail

      • OMA2_SYSTEM_ID

        public static byte[] OMA2_SYSTEM_ID
      • WIDEVINE

        public static byte[] WIDEVINE
      • PLAYREADY_SYSTEM_ID

        public static byte[] PLAYREADY_SYSTEM_ID
    • Constructor Detail

      • ProtectionSystemSpecificHeaderBox

        public ProtectionSystemSpecificHeaderBox​(byte[] systemId,
                                                 byte[] content)
      • ProtectionSystemSpecificHeaderBox

        public ProtectionSystemSpecificHeaderBox()
    • Method Detail

      • getKeyIds

        public List<UUID> getKeyIds()
      • setKeyIds

        public void setKeyIds​(List<UUID> keyIds)
      • getSystemId

        public byte[] getSystemId()
      • setSystemId

        public void setSystemId​(byte[] systemId)
      • getContent

        public byte[] getContent()
      • setContent

        public void setContent​(byte[] content)
      • getContent

        protected void getContent​(ByteBuffer byteBuffer)
        Description copied from class: AbstractBox
        Write the box's content into the given ByteBuffer. This must include flags and version in case of a full box. byteBuffer has been initialized with getSize() bytes.
        Specified by:
        getContent in class AbstractBox
        Parameters:
        byteBuffer - the sink for the box's content
      • _parseDetails

        protected void _parseDetails​(ByteBuffer content)
        Description copied from class: AbstractBox
        Parse the box's fields and child boxes if any.
        Specified by:
        _parseDetails in class AbstractBox
        Parameters:
        content - the box's raw content beginning after the 4-cc field.