public long getMediaDuration() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getDuration(); }
public long getMediaDuration() { return findFirst(this, MediaHeaderBox.class, "mdia", "mdhd").getDuration(); }
public long getMediaDuration() { return NodeBox.findFirstPath(this, MediaHeaderBox.class, Box.path("mdia.mdhd")).getDuration(); }
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 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 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 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); } }