public static MediaHeaderBox createMediaHeaderBox(int timescale, long duration, int language, long created, long modified, int quality) { MediaHeaderBox mdhd = new MediaHeaderBox(new Header(fourcc())); mdhd.timescale = timescale; mdhd.duration = duration; mdhd.language = language; mdhd.created = created; mdhd.modified = modified; mdhd.quality = quality; return mdhd; }
private static void updateDuration(TrakBox dest, TrakBox src) { MediaHeaderBox mdhd1 = NodeBox.findFirstPath(dest, MediaHeaderBox.class, Box.path("mdia.mdhd")); MediaHeaderBox mdhd2 = NodeBox.findFirstPath(src, MediaHeaderBox.class, Box.path("mdia.mdhd")); mdhd1.setDuration(mdhd1.getDuration() + mdhd2.getDuration()); }
public int getTimescale() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getTimescale(); }
public void fixMediaTimescale(int ts) { MediaHeaderBox mdhd = Box.findFirst(this, MediaHeaderBox.class, "mdia", "mdhd"); int oldTs = mdhd.getTimescale(); mdhd.setTimescale(ts); mdhd.setDuration((ts * mdhd.getDuration()) / oldTs); List<Edit> edits = getEdits(); if (edits != null) { for (Edit edit : edits) { edit.setMediaTime((ts * edit.getMediaTime()) / oldTs); } } TimeToSampleBox tts = Box.findFirst(this, TimeToSampleBox.class, "mdia", "minf", "stbl", "stts"); TimeToSampleEntry[] entries = tts.getEntries(); for (TimeToSampleEntry tte : entries) { tte.setSampleDuration((ts * tte.getSampleDuration()) / oldTs); } }
public MediaHeaderBox(int timescale, long duration, int language, long created, long modified, int quality) { super(new Header(fourcc())); this.timescale = timescale; this.duration = duration; this.language = language; this.created = created; this.modified = modified; this.quality = quality; }
media.add(new MediaHeaderBox(timescale, totalFrames * frameDuration, 0, new Date().getTime(), new Date() .getTime(), 0));
public long getMediaDuration() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getDuration(); }
/** * Sets the 'media timescale' of this track. This is the time timescale used * to represent sample durations. * * @param timescale * A new 'media timescale' of this track. */ public void setTimescale(int timescale) { NodeBox.findFirstPath(this, MediaHeaderBox.class, Box.path("mdia.mdhd")).setTimescale(timescale); }
stbl.removeChildren("stco", "co64"); stbl.add(getChunkOffsets(result)); NodeBox.findFirstPath(track, MediaHeaderBox.class, Box.path("mdia.mdhd")).setDuration(totalDuration(result));
media.add(MediaHeaderBox.createMediaHeaderBox(_timescale, totalFrames * frameDuration, 0, new Date().getTime(), new Date().getTime(), 0));
public void fixMediaTimescale(int ts) { MediaHeaderBox mdhd = Box.findFirst(this, MediaHeaderBox.class, "mdia", "mdhd"); int oldTs = mdhd.getTimescale(); mdhd.setTimescale(ts); mdhd.setDuration((ts * mdhd.getDuration()) / oldTs); List<Edit> edits = getEdits(); if (edits != null) { for (Edit edit : edits) { edit.setMediaTime((ts * edit.getMediaTime()) / oldTs); } } TimeToSampleBox tts = Box.findFirst(this, TimeToSampleBox.class, "mdia", "minf", "stbl", "stts"); TimeToSampleEntry[] entries = tts.getEntries(); for (TimeToSampleEntry tte : entries) { tte.setSampleDuration((ts * tte.getSampleDuration()) / oldTs); } }
public MediaHeaderBox(int timescale, long duration, int language, long created, long modified, int quality) { super(new Header(fourcc())); this.timescale = timescale; this.duration = duration; this.language = language; this.created = created; this.modified = modified; this.quality = quality; }
media.add(new MediaHeaderBox(timescale, totalFrames * frameDuration, 0, new Date().getTime(), new Date() .getTime(), 0));
public long getMediaDuration() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getDuration(); }
media.add(MediaHeaderBox.createMediaHeaderBox(_timescale, trackTotalDuration, 0, new Date().getTime(), new Date().getTime(), 0));
public void fixMediaTimescale(int ts) { MediaHeaderBox mdhd = NodeBox.findFirstPath(this, MediaHeaderBox.class, Box.path("mdia.mdhd")); int oldTs = mdhd.getTimescale(); mdhd.setTimescale(ts); mdhd.setDuration((ts * mdhd.getDuration()) / oldTs); List<Edit> edits = getEdits(); if (edits != null) { for (Edit edit : edits) { edit.setMediaTime((ts * edit.getMediaTime()) / oldTs); } } TimeToSampleBox tts = NodeBox.findFirstPath(this, TimeToSampleBox.class, Box.path("mdia.minf.stbl.stts")); TimeToSampleEntry[] entries = tts.getEntries(); for (int i = 0; i < entries.length; i++) { TimeToSampleEntry tte = entries[i]; tte.setSampleDuration((ts * tte.getSampleDuration()) / oldTs); } }
public MediaHeaderBox() { super(new Header(fourcc())); }
public int getTimescale() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getTimescale(); }
media.add(new MediaHeaderBox(timescale, trackTotalDuration, 0, new Date().getTime(), new Date().getTime(), 0));
public long getMediaDuration() { return NodeBox.findFirstPath(this, MediaHeaderBox.class, Box.path("mdia.mdhd")).getDuration(); }