package com.coremedia.iso.boxes.sampleentry; import com.coremedia.iso.IsoTypeReader; import com.coremedia.iso.IsoTypeWriter; import java.nio.ByteBuffer; /** * Created by IntelliJ IDEA. * User: magnus * Date: 2012-03-08 * Time: 11:36 * To change this template use File | Settings | File Templates. */ public class SubtitleSampleEntry extends SampleEntry { public static final String TYPE1 = "stpp"; public static final String TYPE_ENCRYPTED = ""; // This is not known! private String namespace; private String schemaLocation; private String imageMimeType; public SubtitleSampleEntry(String type) { super(type); } @Override protected long getContentSize() { long contentSize = 8 + namespace.length() + schemaLocation.length() + imageMimeType.length() + 3; return contentSize; } @Override public void _parseDetails(ByteBuffer content) { _parseReservedAndDataReferenceIndex(content); namespace = IsoTypeReader.readString(content); schemaLocation = IsoTypeReader.readString(content); imageMimeType = IsoTypeReader.readString(content); _parseChildBoxes(content); } @Override protected void getContent(ByteBuffer byteBuffer) { _writeReservedAndDataReferenceIndex(byteBuffer); IsoTypeWriter.writeUtf8String(byteBuffer, namespace); IsoTypeWriter.writeUtf8String(byteBuffer, schemaLocation); IsoTypeWriter.writeUtf8String(byteBuffer, imageMimeType); } public String getNamespace() { return namespace; } public void setNamespace(String namespace) { this.namespace = namespace; } public String getSchemaLocation() { return schemaLocation; } public void setSchemaLocation(String schemaLocation) { this.schemaLocation = schemaLocation; } public String getImageMimeType() { return imageMimeType; } public void setImageMimeType(String imageMimeType) { this.imageMimeType = imageMimeType; } }