Example #1
0
  /** Creates a 'sidx' box */
  protected Box createSidx(
      Track track,
      long earliestPresentationTime,
      long firstOffset,
      int referencedSize,
      long subSegmentDuration,
      byte sap,
      int sapDelta) {
    SegmentIndexBox sidx = new SegmentIndexBox();

    sidx.setEarliestPresentationTime(earliestPresentationTime);
    sidx.setFirstOffset(firstOffset);
    sidx.setReferenceId(track.getTrackMetaData().getTrackId());
    sidx.setTimeScale(track.getTrackMetaData().getTimescale());
    sidx.setFlags(0);
    sidx.setReserved(0);
    SegmentIndexBox.Entry sidxentry =
        createSidxEntry(referencedSize, subSegmentDuration, sap, sapDelta);

    ArrayList<SegmentIndexBox.Entry> sidxEntries = new ArrayList<SegmentIndexBox.Entry>();
    sidxEntries.add(sidxentry);
    sidx.setEntries(sidxEntries);
    return sidx;
  }