Class MetaBox

All Implemented Interfaces:
Box, Container, ParsableBox

public class MetaBox extends AbstractContainerBox

4cc = ""meta""

A common base structure to contain general metadata. See ISO/IEC 14496-12 Ch. 8.44.1.
  • Field Details

  • Constructor Details

    • MetaBox

      public MetaBox()
  • Method Details

    • getVersion

      public int getVersion()
    • setVersion

      public void setVersion(int version)
    • getFlags

      public int getFlags()
    • setFlags

      public void setFlags(int flags)
    • parseVersionAndFlags

      protected final long parseVersionAndFlags(ByteBuffer content)
      Parses the version/flags header and returns the remaining box size.
      Parameters:
      content - the ByteBuffer that contains the version & flag
      Returns:
      number of bytes read
    • writeVersionAndFlags

      protected final void writeVersionAndFlags(ByteBuffer bb)
    • 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
    • getSize

      public long getSize()
      Specified by:
      getSize in interface Box
      Overrides:
      getSize in class AbstractContainerBox