package org.jcodec.containers.mp4.boxes;
import java.nio.ByteBuffer;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* Default box factory
*
* @author The JCodec project
*
*/
public class CompositionOffsetsBox extends FullBox {
private Entry[] entries;
public static class Entry {
public int count;
public int offset;
public Entry(int count, int offset) {
this.count = count;
this.offset = offset;
}
public int getCount() {
return count;
}
public int getOffset() {
return offset;
}
}
public CompositionOffsetsBox(Header header) {
super(header);
}
public static String fourcc() {
return "ctts";
}
public static CompositionOffsetsBox createCompositionOffsetsBox(Entry[] entries) {
CompositionOffsetsBox ctts = new CompositionOffsetsBox(new Header(fourcc()));
ctts.entries = entries;
return ctts;
}
@Override
public void parse(ByteBuffer input) {
super.parse(input);
int num = input.getInt();
entries = new Entry[num];
for (int i = 0; i < num; i++) {
entries[i] = new Entry(input.getInt(), input.getInt());
}
}
@Override
protected void doWrite(ByteBuffer out) {
super.doWrite(out);
out.putInt(entries.length);
for (int i = 0; i < entries.length; i++) {
out.putInt(entries[i].count);
out.putInt(entries[i].offset);
}
}
public Entry[] getEntries() {
return entries;
}
}