com.googlecode.mp4parser.contentprotection.GenericHeader Maven / Gradle / Ivy
Show all versions of isoparser Show documentation
package com.googlecode.mp4parser.contentprotection;
import com.googlecode.mp4parser.boxes.piff.ProtectionSpecificHeader;
import java.nio.ByteBuffer;
import java.util.UUID;
/**
* Specifications > Microsoft PlayReady Format Specification > 2. PlayReady Media Format > 2.7. ASF GUIDs
*
* ASF_Protection_System_Identifier_Object
* 9A04F079-9840-4286-AB92E65BE0885F95
*
* ASF_Content_Protection_System_Microsoft_PlayReady
* F4637010-03C3-42CD-B932B48ADF3A6A54
*
* ASF_StreamType_PlayReady_Encrypted_Command_Media
* 8683973A-6639-463A-ABD764F1CE3EEAE0
*
* Specifications > Microsoft PlayReady Format Specification > 2. PlayReady Media Format > 2.5. Data Objects > 2.5.1. Payload TrackExtension for AES in Counter Mode
*
* The sample Id is used as the IV in CTR mode. Block offset, starting at 0 and incremented by 1 after every 16 bytes, from the beginning of the sample is used as the Counter.
*
* The sample ID for each sample (media object) is stored as an ASF payload extension system with the ID of ASF_Payload_Extension_Encryption_SampleID = {6698B84E-0AFA-4330-AEB2-1C0A98D7A44D}. The payload extension can be stored as a fixed size extension of 8 bytes.
*
* The sample ID is always stored in big-endian byte order.
*/
public class GenericHeader extends ProtectionSpecificHeader {
public static UUID PROTECTION_SYSTEM_ID = UUID.fromString("00000000-0000-0000-0000-000000000000");
static {
uuidRegistry.put(PROTECTION_SYSTEM_ID, GenericHeader.class);
}
ByteBuffer data;
@Override
public UUID getSystemId() {
return PROTECTION_SYSTEM_ID;
}
@Override
public void parse(ByteBuffer buffer) {
data = buffer;
}
@Override
public ByteBuffer getData() {
return data;
}
}