Class AbstractSampleEntry

All Implemented Interfaces:
Box, SampleEntry, Container, ParsableBox
Direct Known Subclasses:
ActionMessageFormat0SampleEntryBox, AudioSampleEntry, DfxpSampleEntry, HintSampleEntry, MpegSampleEntry, Ovc1VisualSampleEntryImpl, QuicktimeTextSampleEntry, TextSampleEntry, VisualSampleEntry, WebVTTSampleEntry, XMLSubtitleSampleEntry

public abstract class AbstractSampleEntry extends AbstractContainerBox implements SampleEntry
Abstract base class for all sample entries.
See Also:
  • Field Details

    • dataReferenceIndex

      protected int dataReferenceIndex
  • Constructor Details

    • AbstractSampleEntry

      protected AbstractSampleEntry(String type)
  • Method Details

    • getDataReferenceIndex

      public int getDataReferenceIndex()
      Specified by:
      getDataReferenceIndex in interface SampleEntry
    • setDataReferenceIndex

      public void setDataReferenceIndex(int dataReferenceIndex)
      Specified by:
      setDataReferenceIndex in interface SampleEntry
    • parse

      public abstract void parse(ReadableByteChannel dataSource, ByteBuffer header, long contentSize, BoxParser boxParser) throws IOException
      Description copied from interface: ParsableBox
      Parses the box excluding the already parsed header (size, 4cc, [long-size], [user-type]). The remaining size of the box is the contentSize, contentSize number of bytes should be read from the box source (readableByteChannel). If you need the header buffer at a later stage you have to create a copy.
      Specified by:
      parse in interface ParsableBox
      Overrides:
      parse in class AbstractContainerBox
      Parameters:
      dataSource - the source for this box
      header - the box' already parsed header (create copy if you need it later as it will be overwritten)
      contentSize - remaining bytes of this box
      boxParser - use it to parse sub-boxes.
      Throws:
      IOException - in case of an error during a read operation
    • getBox

      public abstract void getBox(WritableByteChannel writableByteChannel) throws IOException
      Description copied from interface: Box
      Writes the complete box - size | 4-cc | content - to the given writableByteChannel.
      Specified by:
      getBox in interface Box
      Overrides:
      getBox in class AbstractContainerBox
      Parameters:
      writableByteChannel - the box's sink
      Throws:
      IOException - in case of problems with the Channel