public List<TrackRunBox> getTrackRunBoxes() { return getBoxes(TrackRunBox.class, true); }
public int getTrackCount() { return getBoxes(TrackFragmentBox.class, false).size(); }
/** * Returns the track numbers associated with this <code>MovieBox</code>. * * @return the tracknumbers (IDs) of the tracks in their order of appearance in the file */ public long[] getTrackNumbers() { List<TrackFragmentBox> trackBoxes = this.getBoxes(TrackFragmentBox.class, false); long[] trackNumbers = new long[trackBoxes.size()]; for (int trackCounter = 0; trackCounter < trackBoxes.size(); trackCounter++) { TrackFragmentBox trackBoxe = trackBoxes.get(trackCounter); trackNumbers[trackCounter] = trackBoxe.getTrackFragmentHeaderBox().getTrackId(); } return trackNumbers; }
private void initAllFragments() { List<TrackFragmentBox> trafs = new ArrayList<>(); for (MovieFragmentBox moof : isofile.getBoxes(MovieFragmentBox.class)) { for (TrackFragmentBox trackFragmentBox : moof.getBoxes(TrackFragmentBox.class)) { if (trackFragmentBox.getTrackFragmentHeaderBox().getTrackId() == trackBox.getTrackHeaderBox().getTrackId()) { trafs.add(trackFragmentBox); traf2moof.put(trackFragmentBox, moof); } } } allTrafs = trafs; int firstSample = 1; firstSamples = new int[allTrafs.size()]; for (int i = 0; i < allTrafs.size(); i++) { firstSamples[i] = firstSample; firstSample += getTrafSize(allTrafs.get(i)); } }
List<TrackFragmentBox> trafs = ((MovieFragmentBox) box).getBoxes(TrackFragmentBox.class); for (int i = 0; i < trafs.size(); i++) { TrackFragmentBox traf = trafs.get(i);
@Override public int size() { if (size_ != -1) { return size_; } int i = 0; for (MovieFragmentBox moof : isofile.getBoxes(MovieFragmentBox.class)) { for (TrackFragmentBox trackFragmentBox : moof.getBoxes(TrackFragmentBox.class)) { if (trackFragmentBox.getTrackFragmentHeaderBox().getTrackId() == trackBox.getTrackHeaderBox().getTrackId()) { for (TrackRunBox trackRunBox : trackFragmentBox.getBoxes(TrackRunBox.class)) { i += trackRunBox.getSampleCount(); } } } } size_ = i; return i; }
List<TrackFragmentBox> trafs = movieFragmentBox.getBoxes(TrackFragmentBox.class); for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) {
protected void createSaio(long startSample, long endSample, CencEncryptedTrack track, int sequenceNumber, TrackFragmentBox parent, MovieFragmentBox moof) { SampleAuxiliaryInformationOffsetsBox saio = new SampleAuxiliaryInformationOffsetsBox(); parent.addBox(saio); assert parent.getBoxes(TrackRunBox.class).size() == 1 : "Don't know how to deal with multiple Track Run Boxes when encrypting"; saio.setAuxInfoType("cenc"); saio.setFlags(1); long offset = 0; offset += 8; // traf header till 1st child box for (Box box : parent.getBoxes()) { if (box instanceof SampleEncryptionBox) { offset += ((SampleEncryptionBox) box).getOffsetToFirstIV(); break; } else { offset += box.getSize(); } } offset += 16; // traf header till 1st child box for (Box box : moof.getBoxes()) { if (box == parent) { break; } else { offset += box.getSize(); } } saio.setOffsets(new long[]{offset}); }
List<TrackFragmentBox> trafs = movieFragmentBox.getBoxes(TrackFragmentBox.class); for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) {
List<TrackFragmentBox> trafs = movieFragmentBox.getBoxes(TrackFragmentBox.class); for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { for (TrackFragmentBox traf : movieFragmentBox.getBoxes(TrackFragmentBox.class)) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { sampleGroups = getSampleGroups(
public List<TrackRunBox> getTrackRunBoxes() { return getBoxes(TrackRunBox.class, true); }
public int getTrackCount() { return getBoxes(TrackFragmentBox.class, false).size(); }
/** * Returns the track numbers associated with this <code>MovieBox</code>. * * @return the tracknumbers (IDs) of the tracks in their order of appearance in the file */ public long[] getTrackNumbers() { List<TrackFragmentBox> trackBoxes = this.getBoxes(TrackFragmentBox.class, false); long[] trackNumbers = new long[trackBoxes.size()]; for (int trackCounter = 0; trackCounter < trackBoxes.size(); trackCounter++) { TrackFragmentBox trackBoxe = trackBoxes.get(trackCounter); trackNumbers[trackCounter] = trackBoxe.getTrackFragmentHeaderBox().getTrackId(); } return trackNumbers; }
private void initAllFragments() { List<TrackFragmentBox> trafs = new ArrayList<>(); for (MovieFragmentBox moof : isofile.getBoxes(MovieFragmentBox.class)) { for (TrackFragmentBox trackFragmentBox : moof.getBoxes(TrackFragmentBox.class)) { if (trackFragmentBox.getTrackFragmentHeaderBox().getTrackId() == trackBox.getTrackHeaderBox().getTrackId()) { trafs.add(trackFragmentBox); traf2moof.put(trackFragmentBox, moof); } } } allTrafs = trafs; int firstSample = 1; firstSamples = new int[allTrafs.size()]; for (int i = 0; i < allTrafs.size(); i++) { firstSamples[i] = firstSample; firstSample += getTrafSize(allTrafs.get(i)); } }
List<TrackFragmentBox> trafs = movieFragmentBox.getBoxes(TrackFragmentBox.class); for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) {
@Override public int size() { if (size_ != -1) { return size_; } int i = 0; for (MovieFragmentBox moof : isofile.getBoxes(MovieFragmentBox.class)) { for (TrackFragmentBox trackFragmentBox : moof.getBoxes(TrackFragmentBox.class)) { if (trackFragmentBox.getTrackFragmentHeaderBox().getTrackId() == trackBox.getTrackHeaderBox().getTrackId()) { for (TrackRunBox trackRunBox : trackFragmentBox.getBoxes(TrackRunBox.class)) { i += trackRunBox.getSampleCount(); } } } } size_ = i; return i; }
List<TrackFragmentBox> trafs = ((MovieFragmentBox) box).getBoxes(TrackFragmentBox.class); for (int i = 0; i < trafs.size(); i++) { TrackFragmentBox traf = trafs.get(i);
protected void createSaio(TrackFragmentBox parent, MovieFragmentBox moof) { SampleAuxiliaryInformationOffsetsBox saio = new SampleAuxiliaryInformationOffsetsBox(); assert parent.getBoxes(TrackRunBox.class).size() == 1 : "Don't know how to deal with multiple Track Run Boxes when encrypting"; saio.setAuxInfoType("cenc"); saio.setFlags(1); long offset = 0; boolean add = false; offset += 8; // traf header till 1st child box for (Box box : parent.getBoxes()) { if (box instanceof SampleEncryptionBox) { offset += ((SampleEncryptionBox) box).getOffsetToFirstIV(); add = true; break; } else { offset += box.getSize(); } } offset += 16; // traf header till 1st child box for (Box box : moof.getBoxes()) { if (box == parent) { break; } else { offset += box.getSize(); } } saio.setOffsets(new long[]{offset}); if (add) { parent.addBox(saio); } }
protected void createSaio(long startSample, long endSample, CencEncryptedTrack track, int sequenceNumber, TrackFragmentBox parent, MovieFragmentBox moof) { SampleAuxiliaryInformationOffsetsBox saio = new SampleAuxiliaryInformationOffsetsBox(); parent.addBox(saio); assert parent.getBoxes(TrackRunBox.class).size() == 1 : "Don't know how to deal with multiple Track Run Boxes when encrypting"; saio.setAuxInfoType("cenc"); saio.setFlags(1); long offset = 0; offset += 8; // traf header till 1st child box for (Box box : parent.getBoxes()) { if (box instanceof SampleEncryptionBox) { offset += ((SampleEncryptionBox) box).getOffsetToFirstIV(); break; } else { offset += box.getSize(); } } offset += 16; // traf header till 1st child box for (Box box : moof.getBoxes()) { if (box == parent) { break; } else { offset += box.getSize(); } } saio.setOffsets(new long[]{offset}); }
List<TrackFragmentBox> trafs = movieFragmentBox.getBoxes(TrackFragmentBox.class); for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) {