1dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupackage com.coremedia.iso.boxes.sampleentry; 2dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 3dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport com.coremedia.iso.IsoTypeReader; 4dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport com.coremedia.iso.IsoTypeWriter; 5dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 6dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport java.nio.ByteBuffer; 7dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 8dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu/** 9dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Created by IntelliJ IDEA. 10dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * User: magnus 11dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Date: 2012-03-08 12dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Time: 11:36 13dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * To change this template use File | Settings | File Templates. 14dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu */ 15dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupublic class SubtitleSampleEntry extends SampleEntry { 16dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 17dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static final String TYPE1 = "stpp"; 18dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 19dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static final String TYPE_ENCRYPTED = ""; // This is not known! 20dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 21dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu private String namespace; 22dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu private String schemaLocation; 23dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu private String imageMimeType; 24dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 25dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public SubtitleSampleEntry(String type) { 26dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu super(type); 27dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 28dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 29dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 30dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu protected long getContentSize() { 31dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu long contentSize = 8 + namespace.length() + schemaLocation.length() + imageMimeType.length() + 3; 32dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return contentSize; 33dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 34dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 35dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 36dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void _parseDetails(ByteBuffer content) { 37dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu _parseReservedAndDataReferenceIndex(content); 38dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu namespace = IsoTypeReader.readString(content); 39dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu schemaLocation = IsoTypeReader.readString(content); 40dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu imageMimeType = IsoTypeReader.readString(content); 41dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu _parseChildBoxes(content); 42dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 43dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 44dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 45dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu protected void getContent(ByteBuffer byteBuffer) { 46dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu _writeReservedAndDataReferenceIndex(byteBuffer); 47dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu IsoTypeWriter.writeUtf8String(byteBuffer, namespace); 48dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu IsoTypeWriter.writeUtf8String(byteBuffer, schemaLocation); 49dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu IsoTypeWriter.writeUtf8String(byteBuffer, imageMimeType); 50dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 51dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 52dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public String getNamespace() { 53dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return namespace; 54dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 55dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 56dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void setNamespace(String namespace) { 57dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu this.namespace = namespace; 58dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 59dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 60dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public String getSchemaLocation() { 61dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return schemaLocation; 62dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 63dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 64dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void setSchemaLocation(String schemaLocation) { 65dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu this.schemaLocation = schemaLocation; 66dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 67dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 68dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public String getImageMimeType() { 69dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return imageMimeType; 70dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 71dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 72dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void setImageMimeType(String imageMimeType) { 73dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu this.imageMimeType = imageMimeType; 74dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 75dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu} 76dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 77