Class DataReferenceBox

  • All Implemented Interfaces:
    Box, Container, FullBox, ParsableBox

    public class DataReferenceBox
    extends AbstractContainerBox
    implements FullBox

    4cc = ""dref""

    The data reference object contains a table of data references (normally URLs) that declare the location(s) of the media data used within the presentation. The data reference index in the sample description ties entries in this table to the samples in the track. A track may be split over several sources in this way. If the flag is set indicating that the data is in the same file as this box, then no string (not even an empty one) shall be supplied in the entry field. The DataEntryBox within the DataReferenceBox shall be either a DataEntryUrnBox or a DataEntryUrlBox.
    See Also:
    DataEntryUrlBox, DataEntryUrnBox
    • Constructor Detail

      • DataReferenceBox

        public DataReferenceBox()
    • Method Detail

      • getVersion

        public int getVersion()
        Specified by:
        getVersion in interface FullBox
      • setVersion

        public void setVersion​(int version)
        Specified by:
        setVersion in interface FullBox
      • getFlags

        public int getFlags()
        Specified by:
        getFlags in interface FullBox
      • setFlags

        public void setFlags​(int flags)
        Specified by:
        setFlags in interface FullBox
      • parse

        public 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 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