package org.jcodec.codecs.mpeg12; import java.io.File; import java.io.IOException; /** * This class is part of JCodec ( www.jcodec.org ) This software is distributed * under FreeBSD License * * @author The JCodec project * */ public class SetBaseTimestamp extends FixTimestamp { private int baseTs; private long firstPts = -1; private boolean video; public SetBaseTimestamp(boolean video, int baseTs) { this.video = video; this.baseTs = baseTs; } public static void main1(String[] args) throws IOException { File file = new File(args[0]); new SetBaseTimestamp("video".equalsIgnoreCase(args[1]), Integer.parseInt(args[2])).fix(file); } protected long doWithTimestamp(int streamId, long pts, boolean isPts) { if (this.video && isVideo(streamId) || !this.video && isAudio(streamId)) { if (firstPts == -1) firstPts = pts; return pts - firstPts + baseTs; } else return pts; } }