package com.coremedia.iso.boxes; import com.coremedia.iso.BoxParser; import com.coremedia.iso.IsoBufferWrapper; import com.coremedia.iso.IsoFile; import com.coremedia.iso.IsoOutputStream; import java.io.IOException; /** * */ public class XmlBox extends AbstractFullBox { String xml; public static final String TYPE = "xml "; public XmlBox() { super(IsoFile.fourCCtoBytes(TYPE)); } public String getXml() { return xml; } public void setXml(String xml) { this.xml = xml; } @Override protected long getContentSize() { return IsoFile.utf8StringLengthInBytes(xml); } @Override protected void getContent(IsoOutputStream os) throws IOException { os.writeStringNoTerm(xml); } @Override public void parse(IsoBufferWrapper in, long size, BoxParser boxParser, Box lastMovieFragmentBox) throws IOException { long a = in.remaining(); super.parse(in, size, boxParser, lastMovieFragmentBox); long b = in.remaining(); size -= (a - b); assert size < Integer.MAX_VALUE; xml = in.readString((int) size); } }