IndexTable (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.io.mxf

## Interface IndexTable

- All Superinterfaces:
    Cloneable
  All Known Implementing Classes:
    IndexTableImpl

      public interface IndexTable
      extends Cloneable

  Represents an index table in an MXF file, providing a means to calculate byte offsets for the indexed essence container.

  In a file, the index table is made up of a sequence of one or more index table segments. In fact, the index table does not exist in the file as a single entity and must be created by joining together all the segments with the same index stream identifier.

  See Also:
    `IndexTableSegment`, `IndexEntry`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static PrimerPack` | `indexPrimer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IndexTable` | `clone()` Create a cloned copy of this index table.
    `int` | `getIndexSID()` Returns the index stream identifier for this index table within its MXF file.
    `long` | `streamOffset(long position, int subStream)` Calculate the byte offset in the indexed stream of the frame at the given position.

- - ### Field Detail

    - #### indexPrimer

          static final PrimerPack indexPrimer

  - ### Method Detail

    - #### getIndexSID

          @UInt32
          int getIndexSID()

      Returns the index stream identifier for this index table within its MXF file.

      Returns:
        Index stream identifier for this index table.

    - #### streamOffset

          @UInt64
          long streamOffset(@PositionType
                                    long position,
                                    @UInt32
                                    int subStream)
                             throws IllegalArgumentException

      Calculate the byte offset in the indexed stream of the frame at the given position.

      Parameters:
        `position` - Edit unit number counted from the start of body.
        `subStream` - Sub-stream number to calculate the offset for.
      Returns:
      Throws:
        `IllegalArgumentException`

    - #### clone

          IndexTable clone()

      Create a cloned copy of this index table.

      Returns:
        Cloned copy of this index table.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.