package org.mp4parser.muxer.tracks.webvtt.sampleboxes;
import org.mp4parser.Box;
import org.mp4parser.IsoFile;
import org.mp4parser.tools.IsoTypeWriter;
import org.mp4parser.tools.Utf8;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.WritableByteChannel;
import static org.mp4parser.tools.CastUtils.l2i;
public abstract class AbstractCueBox implements Box {
String content = "";
String type;
public AbstractCueBox(String type) {
this.type = type;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getSize() {
return 8 + Utf8.utf8StringLengthInBytes(content);
}
public void getBox(WritableByteChannel writableByteChannel) throws IOException {
ByteBuffer header = ByteBuffer.allocate(l2i(getSize()));
IsoTypeWriter.writeUInt32(header, getSize());
header.put(IsoFile.fourCCtoBytes(getType()));
header.put(Utf8.convert(content));
writableByteChannel.write((ByteBuffer) header.rewind());
}
public String getType() {
return type;
}
}