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 * * A box to hold chunk offsets * * @author The JCodec project * */ public class ChunkOffsetsBox extends FullBox { public ChunkOffsetsBox(Header atom) { super(atom); } private long[] chunkOffsets; public static String fourcc() { return "stco"; } public static ChunkOffsetsBox createChunkOffsetsBox(long[] chunkOffsets) { ChunkOffsetsBox stco = new ChunkOffsetsBox(new Header(fourcc())); stco.chunkOffsets = chunkOffsets; return stco; } public void parse(ByteBuffer input) { super.parse(input); int length = input.getInt(); chunkOffsets = new long[length]; for (int i = 0; i < length; i++) { chunkOffsets[i] = input.getInt() & 0xffffffffL; } } @Override public void doWrite(ByteBuffer out) { super.doWrite(out); out.putInt(chunkOffsets.length); for (int i = 0; i < chunkOffsets.length; i++) { long offset = chunkOffsets[i]; out.putInt((int) offset); } } public long[] getChunkOffsets() { return chunkOffsets; } public void setChunkOffsets(long[] chunkOffsets) { this.chunkOffsets = chunkOffsets; } }