public class ProtectionSystemSpecificHeaderBox extends AbstractFullBox
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.
Modifier and Type | Field and Description |
---|---|
static byte[] |
OMA2_SYSTEM_ID |
static byte[] |
PLAYREADY_SYSTEM_ID |
static String |
TYPE |
static byte[] |
WIDEVINE |
type
Constructor and Description |
---|
ProtectionSystemSpecificHeaderBox() |
ProtectionSystemSpecificHeaderBox(byte[] systemId,
byte[] content) |
Modifier and Type | Method and Description |
---|---|
protected void |
_parseDetails(ByteBuffer content)
Parse the box's fields and child boxes if any.
|
byte[] |
getContent() |
protected void |
getContent(ByteBuffer byteBuffer)
Write the box's content into the given
ByteBuffer . |
protected long |
getContentSize()
Get the box's content size without its header.
|
List<UUID> |
getKeyIds() |
byte[] |
getSystemId() |
void |
setContent(byte[] content) |
void |
setKeyIds(List<UUID> keyIds) |
void |
setSystemId(byte[] systemId) |
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlags
getBox, getOffset, getParent, getPath, getSize, getType, getUserType, isParsed, parse, parseDetails, setParent
public static final String TYPE
public static byte[] OMA2_SYSTEM_ID
public static byte[] WIDEVINE
public static byte[] PLAYREADY_SYSTEM_ID
public ProtectionSystemSpecificHeaderBox(byte[] systemId, byte[] content)
public ProtectionSystemSpecificHeaderBox()
public byte[] getSystemId()
public void setSystemId(byte[] systemId)
public byte[] getContent()
public void setContent(byte[] content)
protected long getContentSize()
AbstractBox
getContent(ByteBuffer)
writes.getContentSize
in class AbstractBox
AbstractBox.getContent(java.nio.ByteBuffer)
protected void getContent(ByteBuffer byteBuffer)
AbstractBox
ByteBuffer
. This must include flags
and version in case of a full box. byteBuffer
has been initialized with
getSize()
bytes.getContent
in class AbstractBox
byteBuffer
- the sink for the box's contentprotected void _parseDetails(ByteBuffer content)
AbstractBox
_parseDetails
in class AbstractBox
content
- the box's raw content beginning after the 4-cc field.Copyright © 2017. All rights reserved.