package org.jcodec.containers.mp4;
import java.nio.ByteBuffer;
import org.jcodec.common.model.Packet;
import org.jcodec.common.model.TapeTimecode;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*/
public class MP4Packet extends Packet {
private long mediaPts;
private int entryNo;
private long fileOff;
private int size;
private boolean psync;
public MP4Packet(ByteBuffer data, long pts, long timescale, long duration, long frameNo, boolean iframe,
TapeTimecode tapeTimecode, long mediaPts, int entryNo) {
super(data, pts, timescale, duration, frameNo, iframe, tapeTimecode);
this.mediaPts = mediaPts;
this.entryNo = entryNo;
}
public MP4Packet(ByteBuffer data, long pts, long timescale, long duration, long frameNo, boolean iframe,
TapeTimecode tapeTimecode, long mediaPts, int entryNo, long fileOff, int size, boolean psync) {
super(data, pts, timescale, duration, frameNo, iframe, tapeTimecode);
this.mediaPts = mediaPts;
this.entryNo = entryNo;
this.fileOff = fileOff;
this.size = size;
this.psync = psync;
}
public MP4Packet(MP4Packet packet, ByteBuffer frm) {
super(packet, frm);
this.mediaPts = packet.mediaPts;
this.entryNo = packet.entryNo;
}
public MP4Packet(MP4Packet packet, TapeTimecode timecode) {
super(packet, timecode);
this.mediaPts = packet.mediaPts;
this.entryNo = packet.entryNo;
}
public MP4Packet(Packet packet, long mediaPts, int entryNo) {
super(packet);
this.mediaPts = mediaPts;
this.entryNo = entryNo;
}
public MP4Packet(MP4Packet packet) {
super(packet);
this.mediaPts = packet.mediaPts;
this.entryNo = packet.entryNo;
}
/**
* Zero-offset sample entry index
*
* @return
*/
public int getEntryNo() {
return entryNo;
}
public long getMediaPts() {
return mediaPts;
}
public long getFileOff() {
return fileOff;
}
public int getSize() {
return size;
}
public boolean isPsync() {
return psync;
}
}