package com.coremedia.iso.boxes.apple;
import com.coremedia.iso.BoxParser;
import com.coremedia.iso.IsoBufferWrapper;
import com.coremedia.iso.IsoFile;
import com.coremedia.iso.IsoOutputStream;
import com.coremedia.iso.Utf8;
import com.coremedia.iso.boxes.AbstractFullBox;
import com.coremedia.iso.boxes.Box;
import java.io.IOException;
/**
* Apple Meaning box. Allowed as subbox of "----" box.
*
* @see com.coremedia.iso.boxes.apple.AppleGenericBox
*/
public final class AppleMeanBox extends AbstractFullBox {
public static final String TYPE = "mean";
private String meaning;
public AppleMeanBox() {
super(IsoFile.fourCCtoBytes(TYPE));
}
protected long getContentSize() {
return Utf8.convert(meaning).length;
}
protected void getContent(IsoOutputStream os) throws IOException {
os.writeStringNoTerm(meaning);
}
public String getMeaning() {
return meaning;
}
public void setMeaning(String meaning) {
this.meaning = meaning;
}
@Override
public void parse(IsoBufferWrapper in, long size, BoxParser boxParser, Box lastMovieFragmentBox) throws IOException {
super.parse(in, size, boxParser, lastMovieFragmentBox);
setMeaning(in.readString((int) (size - 4)));
}
}