diff options
Diffstat (limited to 'isoparser/src/main/java/com/coremedia/iso/boxes/XmlBox.java')
-rw-r--r-- | isoparser/src/main/java/com/coremedia/iso/boxes/XmlBox.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/isoparser/src/main/java/com/coremedia/iso/boxes/XmlBox.java b/isoparser/src/main/java/com/coremedia/iso/boxes/XmlBox.java new file mode 100644 index 0000000..43727e1 --- /dev/null +++ b/isoparser/src/main/java/com/coremedia/iso/boxes/XmlBox.java @@ -0,0 +1,51 @@ +package com.coremedia.iso.boxes; + +import com.coremedia.iso.IsoTypeReader; +import com.coremedia.iso.Utf8; +import com.googlecode.mp4parser.AbstractFullBox; + +import java.nio.ByteBuffer; + +/** + * + */ +public class XmlBox extends AbstractFullBox { + String xml = ""; + public static final String TYPE = "xml "; + + public XmlBox() { + super(TYPE); + } + + public String getXml() { + return xml; + } + + public void setXml(String xml) { + this.xml = xml; + } + + @Override + protected long getContentSize() { + return 4 + Utf8.utf8StringLengthInBytes(xml); + } + + @Override + public void _parseDetails(ByteBuffer content) { + parseVersionAndFlags(content); + xml = IsoTypeReader.readString(content, content.remaining()); + } + + @Override + protected void getContent(ByteBuffer byteBuffer) { + writeVersionAndFlags(byteBuffer); + byteBuffer.put(Utf8.convert(xml)); + } + + @Override + public String toString() { + return "XmlBox{" + + "xml='" + xml + '\'' + + '}'; + } +} |