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

tv.amwa.maj.io.mxf

## Class EssenceSource

- java.lang.Object
- - tv.amwa.maj.io.mxf.EssenceSource

- Direct Known Subclasses:
    VBISource

      public abstract class EssenceSource
      extends Object

  Objects that supply large quantities of essence data. An essence source is used when clip-wrapping to prevent large quantities of data being loaded into memory.

  See Also:
    `WrappingOption`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EssenceSource()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canIndex()`
    `abstract boolean` | `endOfData()`
    `abstract boolean` | `endOfItem()`
    `int` | `getBERSize()`
    `int` | `getBytesPerEditUnit()`
    `int` | `getBytesPerEditUnit(int kagSize)`
    `abstract long` | `getCurrentPosition()`
    `abstract RationalImpl` | `getEditRate()`
    `ByteBuffer` | `getEssenceData()`
    `abstract ByteBuffer` | `getEssenceData(int size, int maxSize)`
    `abstract int` | `getEssenceDataSize()`
    `abstract byte` | `getGenericContainerElementType()`
    `abstract byte` | `getGenericContainerEssenceType()`
    `int` | `getIndexStreamID()`
    `ByteBuffer` | `getKey()`
    `boolean` | `getNonGenericContainer()`
    `long` | `getPrechargeSize()`
    `long` | `getRangeDuration()`
    `long` | `getRangeEnd()`
    `long` | `getRangeStart()`
    `int` | `getStreamID()`
    `boolean` | `isCompoundEssence()`
    `boolean` | `isDataEssence()`
    `boolean` | `isEditPoint()`
    `boolean` | `isPictureEssence()`
    `boolean` | `isSoundEssence()`
    `int` | `relativeWriteOrder()`
    `int` | `relativeWriteOrderType()`
    `void` | `setKey(ByteBuffer key, boolean nonGenericContainer)`
    `boolean` | `setOption(String option)`
    `boolean` | `setOption(String option, long param)`
    `void` | `setStreamID(int streamID)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EssenceSource

          public EssenceSource()

  - ### Method Detail

    - #### getEssenceDataSize

          public abstract int getEssenceDataSize()

    - #### getEssenceData

          public abstract ByteBuffer getEssenceData(int size,
                                                    int maxSize)

    - #### getEssenceData

          public ByteBuffer getEssenceData()

    - #### endOfItem

          public abstract boolean endOfItem()

    - #### endOfData

          public abstract boolean endOfData()

    - #### getGenericContainerEssenceType

          @UInt8
          public abstract byte getGenericContainerEssenceType()

    - #### getGenericContainerElementType

          @UInt8
          public abstract byte getGenericContainerElementType()

    - #### setStreamID

          public void setStreamID(@GCStreamID
                                  int streamID)

    - #### getStreamID

          @GCStreamID
          public int getStreamID()

    - #### isEditPoint

          public boolean isEditPoint()

    - #### getEditRate

          public abstract RationalImpl getEditRate()

    - #### getCurrentPosition

          @MXFPosition
          public abstract long getCurrentPosition()

    - #### getBERSize

          public int getBERSize()

    - #### setOption

          public boolean setOption(String option,
                                   @Int64
                                   long param)

    - #### setOption

          public boolean setOption(String option)

    - #### getBytesPerEditUnit

          @UInt32
          public int getBytesPerEditUnit(@UInt32
                                                 int kagSize)

    - #### getBytesPerEditUnit

          @UInt32
          public int getBytesPerEditUnit()

    - #### canIndex

          public boolean canIndex()

    - #### getIndexStreamID

          public int getIndexStreamID()

    - #### setKey

          public void setKey(ByteBuffer key,
                             boolean nonGenericContainer)
                      throws IllegalArgumentException

      Throws:
        `IllegalArgumentException`

    - #### getKey

          public ByteBuffer getKey()

    - #### getNonGenericContainer

          public boolean getNonGenericContainer()

    - #### isPictureEssence

          public boolean isPictureEssence()

    - #### isSoundEssence

          public boolean isSoundEssence()

    - #### isDataEssence

          public boolean isDataEssence()

    - #### isCompoundEssence

          public boolean isCompoundEssence()

    - #### relativeWriteOrder

          @Int32
          public int relativeWriteOrder()

    - #### relativeWriteOrderType

          public int relativeWriteOrderType()

    - #### getPrechargeSize

          @MXFLength
          public long getPrechargeSize()

    - #### getRangeStart

          @MXFPosition
          public long getRangeStart()

    - #### getRangeEnd

          @MXFPosition
          public long getRangeEnd()

    - #### getRangeDuration

          @Int64
          public long getRangeDuration()

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