package org.jcodec.containers.mp4.boxes;
import java.nio.ByteBuffer;
import org.jcodec.common.NIOUtils;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*
*/
public class TimecodeMediaInfoBox extends FullBox {
private short font;
private short face;
private short size;
private short[] color = new short[3];
private short[] bgcolor = new short[3];
private String name;
public static String fourcc() {
return "tcmi";
}
public TimecodeMediaInfoBox(short font, short face, short size, short[] color, short[] bgcolor, String name) {
this(new Header(fourcc()));
this.font = font;
this.face = face;
this.size = size;
this.color = color;
this.bgcolor = bgcolor;
this.name = name;
}
public TimecodeMediaInfoBox(Header atom) {
super(atom);
}
@Override
public void parse(ByteBuffer input) {
super.parse(input);
font = input.getShort();
face = input.getShort();
size = input.getShort();
input.getShort();
color[0] = input.getShort();
color[1] = input.getShort();
color[2] = input.getShort();
bgcolor[0] = input.getShort();
bgcolor[1] = input.getShort();
bgcolor[2] = input.getShort();
name = NIOUtils.readPascalString(input);
}
@Override
protected void doWrite(ByteBuffer out) {
super.doWrite(out);
out.putShort(font);
out.putShort(face);
out.putShort(size);
out.putShort((short) 0);
out.putShort(color[0]);
out.putShort(color[1]);
out.putShort(color[2]);
out.putShort(bgcolor[0]);
out.putShort(bgcolor[1]);
out.putShort(bgcolor[2]);
NIOUtils.writePascalString(out, name);
}
}