Class ItemLocationBox

All Implemented Interfaces:
Box, FullBox, ParsableBox

public class ItemLocationBox extends AbstractFullBox

4cc = ""iloc""

 aligned(8) class ItemLocationBox extends FullBox('iloc', version, 0) {
  unsigned int(4) offset_size;
  unsigned int(4) length_size;
  unsigned int(4) base_offset_size;
  if (version == 1)
   unsigned int(4) index_size;
  else
   unsigned int(4) reserved;
  unsigned int(16) item_count;
  for (i=0; i<item_count; i++) {
   unsigned int(16) item_ID;
   if (version == 1) {
    unsigned int(12) reserved = 0;
    unsigned int(4) construction_method;
   }
   unsigned int(16) data_reference_index;
   unsigned int(base_offset_size*8) base_offset;
   unsigned int(16) extent_count;
   for (j=0; j<extent_count; j++) {
    if ((version == 1) && (index_size > 0)) {
     unsigned int(index_size*8) extent_index;
    }
    unsigned int(offset_size*8) extent_offset;
    unsigned int(length_size*8) extent_length;
   }
  }
 }
 
  • Field Details

    • TYPE

      public static final String TYPE
      See Also:
    • offsetSize

      public int offsetSize
    • lengthSize

      public int lengthSize
    • baseOffsetSize

      public int baseOffsetSize
    • indexSize

      public int indexSize
    • items

      public List<ItemLocationBox.Item> items
  • Constructor Details

    • ItemLocationBox

      public ItemLocationBox()
  • Method Details

    • getContentSize

      protected long getContentSize()
      Description copied from class: AbstractBox
      Get the box's content size without its header. This must be the exact number of bytes that getContent(ByteBuffer) writes.
      Specified by:
      getContentSize in class AbstractBox
      Returns:
      Gets the box's content size in bytes
      See Also:
    • getContent

      protected void getContent(ByteBuffer byteBuffer)
      Description copied from class: AbstractBox
      Write the box's content into the given ByteBuffer. This must include flags and version in case of a full box. byteBuffer has been initialized with getSize() bytes.
      Specified by:
      getContent in class AbstractBox
      Parameters:
      byteBuffer - the sink for the box's content
    • _parseDetails

      public void _parseDetails(ByteBuffer content)
      Description copied from class: AbstractBox
      Parse the box's fields and child boxes if any.
      Specified by:
      _parseDetails in class AbstractBox
      Parameters:
      content - the box's raw content beginning after the 4-cc field.
    • getOffsetSize

      public int getOffsetSize()
    • setOffsetSize

      public void setOffsetSize(int offsetSize)
    • getLengthSize

      public int getLengthSize()
    • setLengthSize

      public void setLengthSize(int lengthSize)
    • getBaseOffsetSize

      public int getBaseOffsetSize()
    • setBaseOffsetSize

      public void setBaseOffsetSize(int baseOffsetSize)
    • getIndexSize

      public int getIndexSize()
    • setIndexSize

      public void setIndexSize(int indexSize)
    • getItems

      public List<ItemLocationBox.Item> getItems()
    • setItems

      public void setItems(List<ItemLocationBox.Item> items)
    • createItem

      public ItemLocationBox.Item createItem(int itemId, int constructionMethod, int dataReferenceIndex, long baseOffset, List<ItemLocationBox.Extent> extents)
    • createItem

      public ItemLocationBox.Item createItem(ByteBuffer bb)
    • createExtent

      public ItemLocationBox.Extent createExtent(long extentOffset, long extentLength, long extentIndex)
    • createExtent

      public ItemLocationBox.Extent createExtent(ByteBuffer bb)