public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return parent.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return origTrack.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return source.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return getCompositionTimeEntries(origTrack.getCompositionTimeEntries(), fromSample, toSample); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return adjustCtts(source.getCompositionTimeEntries(), timeScaleFactor); }
List<CompositionTimeToSample.Entry> adjustCtts() { List<CompositionTimeToSample.Entry> origCtts = this.source.getCompositionTimeEntries(); if (origCtts != null) { List<CompositionTimeToSample.Entry> entries2 = new ArrayList<CompositionTimeToSample.Entry>(origCtts.size()); for (CompositionTimeToSample.Entry entry : origCtts) { entries2.add(new CompositionTimeToSample.Entry(entry.getCount(), entry.getOffset() / timeScaleDivisor)); } return entries2; } else { return null; } }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { if (tracks[0].getCompositionTimeEntries() != null && !tracks[0].getCompositionTimeEntries().isEmpty()) { List<int[]> lists = new LinkedList<int[]>(); for (Track track : tracks) { lists.add(CompositionTimeToSample.blowupCompositionTimes(track.getCompositionTimeEntries())); } LinkedList<CompositionTimeToSample.Entry> compositionTimeEntries = new LinkedList<CompositionTimeToSample.Entry>(); for (int[] list : lists) { for (int compositionTime : list) { if (compositionTimeEntries.isEmpty() || compositionTimeEntries.getLast().getOffset() != compositionTime) { CompositionTimeToSample.Entry e = new CompositionTimeToSample.Entry(1, compositionTime); compositionTimeEntries.add(e); } else { CompositionTimeToSample.Entry e = compositionTimeEntries.getLast(); e.setCount(e.getCount() + 1); } } } return compositionTimeEntries; } else { return null; } }
protected void createCtts(Track track, SampleTableBox stbl) { List<CompositionTimeToSample.Entry> compositionTimeToSampleEntries = track.getCompositionTimeEntries(); if (compositionTimeToSampleEntries != null && !compositionTimeToSampleEntries.isEmpty()) { CompositionTimeToSample ctts = new CompositionTimeToSample(); ctts.setEntries(compositionTimeToSampleEntries); stbl.addBox(ctts); } }
/** * Changes the time scale of the source track to the target time scale and makes sure * that any rounding errors that may have summed are corrected exactly before the syncSamples. * * @param source the source track * @param targetTimeScale the resulting time scale of this track. * @param syncSamples at these sync points where rounding error are corrected. */ public ChangeTimeScaleTrack(Track source, long targetTimeScale, long[] syncSamples) { this.source = source; this.timeScale = targetTimeScale; double timeScaleFactor = (double) targetTimeScale / source.getTrackMetaData().getTimescale(); ctts = adjustCtts(source.getCompositionTimeEntries(), timeScaleFactor); decodingTimes = adjustTts(source.getSampleDurations(), timeScaleFactor, syncSamples, getTimes(source, syncSamples, targetTimeScale)); }
if (alignTo.getCompositionTimeEntries() != null && alignTo.getCompositionTimeEntries().size() > 0) { long currentTime = 0; int[] ptss = CompositionTimeToSample.blowupCompositionTimes(alignTo.getCompositionTimeEntries()); for (int j = 0; j < ptss.length && j < 50; j++) { ptss[j] += currentTime;
List<CompositionTimeToSample.Entry> compositionTimeEntries = track.getCompositionTimeEntries(); int compositionTimeQueueIndex = 0; CompositionTimeToSample.Entry[] compositionTimeQueue =
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return origTrack.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return source.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return parent.getCompositionTimeEntries(); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return getCompositionTimeEntries(origTrack.getCompositionTimeEntries(), fromSample, toSample); }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { return adjustCtts(source.getCompositionTimeEntries(), timeScaleFactor); }
List<CompositionTimeToSample.Entry> adjustCtts() { List<CompositionTimeToSample.Entry> origCtts = this.source.getCompositionTimeEntries(); if (origCtts != null) { List<CompositionTimeToSample.Entry> entries2 = new ArrayList<CompositionTimeToSample.Entry>(origCtts.size()); for (CompositionTimeToSample.Entry entry : origCtts) { entries2.add(new CompositionTimeToSample.Entry(entry.getCount(), entry.getOffset() / timeScaleDivisor)); } return entries2; } else { return null; } }
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries() { if (tracks[0].getCompositionTimeEntries() != null && !tracks[0].getCompositionTimeEntries().isEmpty()) { List<int[]> lists = new LinkedList<int[]>(); for (Track track : tracks) { lists.add(CompositionTimeToSample.blowupCompositionTimes(track.getCompositionTimeEntries())); } LinkedList<CompositionTimeToSample.Entry> compositionTimeEntries = new LinkedList<CompositionTimeToSample.Entry>(); for (int[] list : lists) { for (int compositionTime : list) { if (compositionTimeEntries.isEmpty() || compositionTimeEntries.getLast().getOffset() != compositionTime) { CompositionTimeToSample.Entry e = new CompositionTimeToSample.Entry(1, compositionTime); compositionTimeEntries.add(e); } else { CompositionTimeToSample.Entry e = compositionTimeEntries.getLast(); e.setCount(e.getCount() + 1); } } } return compositionTimeEntries; } else { return null; } }
protected void createCtts(Track track, SampleTableBox stbl) { List<CompositionTimeToSample.Entry> compositionTimeToSampleEntries = track.getCompositionTimeEntries(); if (compositionTimeToSampleEntries != null && !compositionTimeToSampleEntries.isEmpty()) { CompositionTimeToSample ctts = new CompositionTimeToSample(); ctts.setEntries(compositionTimeToSampleEntries); stbl.addBox(ctts); } }
/** * Changes the time scale of the source track to the target time scale and makes sure * that any rounding errors that may have summed are corrected exactly before the syncSamples. * * @param source the source track * @param targetTimeScale the resulting time scale of this track. * @param syncSamples at these sync points where rounding error are corrected. */ public ChangeTimeScaleTrack(Track source, long targetTimeScale, long[] syncSamples) { this.source = source; this.timeScale = targetTimeScale; double timeScaleFactor = (double) targetTimeScale / source.getTrackMetaData().getTimescale(); ctts = adjustCtts(source.getCompositionTimeEntries(), timeScaleFactor); decodingTimes = adjustTts(source.getSampleDurations(), timeScaleFactor, syncSamples, getTimes(source, syncSamples, targetTimeScale)); }