Package com.google.android.exoplayer2.extractor.mkv

## Class MatroskaExtractor.Track

- java.lang.Object
- - com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor.Track

- Enclosing class:
    MatroskaExtractor

      protected static final class MatroskaExtractor.Track
      extends Object

  Holds data corresponding to a single track.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `int` | `audioBitDepth` |
    `int` | `channelCount` |
    `long` | `codecDelayNs` |
    `@MonotonicNonNull String` | `codecId` |
    `byte @MonotonicNonNull []` | `codecPrivate` |
    `@com.google.android.exoplayer2.C.ColorRange int` | `colorRange` |
    `@com.google.android.exoplayer2.C.ColorSpace int` | `colorSpace` |
    `@com.google.android.exoplayer2.C.ColorTransfer int` | `colorTransfer` |
    `@MonotonicNonNull TrackOutput.CryptoData` | `cryptoData` |
    `int` | `defaultSampleDurationNs` |
    `int` | `displayHeight` |
    `int` | `displayUnit` |
    `int` | `displayWidth` |
    `byte @MonotonicNonNull []` | `dolbyVisionConfigBytes` |
    `@MonotonicNonNull DrmInitData` | `drmInitData` |
    `boolean` | `flagDefault` |
    `boolean` | `flagForced` |
    `boolean` | `hasColorInfo` |
    `boolean` | `hasContentEncryption` |
    `int` | `height` |
    `int` | `maxBlockAdditionId` |
    `int` | `maxContentLuminance` |
    `int` | `maxFrameAverageLuminance` |
    `float` | `maxMasteringLuminance` |
    `float` | `minMasteringLuminance` |
    `int` | `nalUnitLengthFieldLength` |
    `@MonotonicNonNull String` | `name` |
    `int` | `number` |
    `@MonotonicNonNull TrackOutput` | `output` |
    `float` | `primaryBChromaticityX` |
    `float` | `primaryBChromaticityY` |
    `float` | `primaryGChromaticityX` |
    `float` | `primaryGChromaticityY` |
    `float` | `primaryRChromaticityX` |
    `float` | `primaryRChromaticityY` |
    `byte @MonotonicNonNull []` | `projectionData` |
    `float` | `projectionPosePitch` |
    `float` | `projectionPoseRoll` |
    `float` | `projectionPoseYaw` |
    `@com.google.android.exoplayer2.C.Projection int` | `projectionType` |
    `int` | `sampleRate` |
    `byte @MonotonicNonNull []` | `sampleStrippedBytes` |
    `long` | `seekPreRollNs` |
    `@com.google.android.exoplayer2.C.StereoMode int` | `stereoMode` |
    `@MonotonicNonNull TrueHdSampleRechunker` | `trueHdSampleRechunker` |
    `int` | `type` |
    `float` | `whitePointChromaticityX` |
    `float` | `whitePointChromaticityY` |
    `int` | `width` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Track()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `initializeOutput​(ExtractorOutput output, int trackId)` | Initializes the track with an output.
    `void` | `outputPendingSampleMetadata()` | Forces any pending sample metadata to be flushed to the output.
    `void` | `reset()` | Resets any state stored in the track in response to a seek.

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

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

- - ### Field Detail

    - #### name

          public @MonotonicNonNull String name

    - #### codecId

          public @MonotonicNonNull String codecId

    - #### number

          public int number

    - #### type

          public int type

    - #### defaultSampleDurationNs

          public int defaultSampleDurationNs

    - #### maxBlockAdditionId

          public int maxBlockAdditionId

    - #### hasContentEncryption

          public boolean hasContentEncryption

    - #### sampleStrippedBytes

          public byte @MonotonicNonNull [] sampleStrippedBytes

    - #### cryptoData

          public @MonotonicNonNull TrackOutput.CryptoData cryptoData

    - #### codecPrivate

          public byte @MonotonicNonNull [] codecPrivate

    - #### drmInitData

          public @MonotonicNonNull DrmInitData drmInitData

    - #### width

          public int width

    - #### height

          public int height

    - #### displayWidth

          public int displayWidth

    - #### displayHeight

          public int displayHeight

    - #### displayUnit

          public int displayUnit

    - #### projectionType

          public @com.google.android.exoplayer2.C.Projection int projectionType

    - #### projectionPoseYaw

          public float projectionPoseYaw

    - #### projectionPosePitch

          public float projectionPosePitch

    - #### projectionPoseRoll

          public float projectionPoseRoll

    - #### projectionData

          public byte @MonotonicNonNull [] projectionData

    - #### stereoMode

          public @com.google.android.exoplayer2.C.StereoMode int stereoMode

    - #### hasColorInfo

          public boolean hasColorInfo

    - #### colorSpace

          public @com.google.android.exoplayer2.C.ColorSpace int colorSpace

    - #### colorTransfer

          public @com.google.android.exoplayer2.C.ColorTransfer int colorTransfer

    - #### colorRange

          public @com.google.android.exoplayer2.C.ColorRange int colorRange

    - #### maxContentLuminance

          public int maxContentLuminance

    - #### maxFrameAverageLuminance

          public int maxFrameAverageLuminance

    - #### primaryRChromaticityX

          public float primaryRChromaticityX

    - #### primaryRChromaticityY

          public float primaryRChromaticityY

    - #### primaryGChromaticityX

          public float primaryGChromaticityX

    - #### primaryGChromaticityY

          public float primaryGChromaticityY

    - #### primaryBChromaticityX

          public float primaryBChromaticityX

    - #### primaryBChromaticityY

          public float primaryBChromaticityY

    - #### whitePointChromaticityX

          public float whitePointChromaticityX

    - #### whitePointChromaticityY

          public float whitePointChromaticityY

    - #### maxMasteringLuminance

          public float maxMasteringLuminance

    - #### minMasteringLuminance

          public float minMasteringLuminance

    - #### dolbyVisionConfigBytes

          public byte @MonotonicNonNull [] dolbyVisionConfigBytes

    - #### channelCount

          public int channelCount

    - #### audioBitDepth

          public int audioBitDepth

    - #### sampleRate

          public int sampleRate

    - #### codecDelayNs

          public long codecDelayNs

    - #### seekPreRollNs

          public long seekPreRollNs

    - #### trueHdSampleRechunker

          public @MonotonicNonNull TrueHdSampleRechunker trueHdSampleRechunker

    - #### flagForced

          public boolean flagForced

    - #### flagDefault

          public boolean flagDefault

    - #### output

          public @MonotonicNonNull TrackOutput output

    - #### nalUnitLengthFieldLength

          public int nalUnitLengthFieldLength

  - ### Constructor Detail

    - #### Track

          protected Track()

  - ### Method Detail

    - #### initializeOutput

          @RequiresNonNull("codecId")
          @EnsuresNonNull("this.output")
          public void initializeOutput​(ExtractorOutput output,
                                       int trackId)
                                throws ParserException

      Initializes the track with an output.
      Throws:
        `ParserException`

    - #### outputPendingSampleMetadata

          @RequiresNonNull("output")
          public void outputPendingSampleMetadata()

      Forces any pending sample metadata to be flushed to the output.

    - #### reset

          public void reset()

      Resets any state stored in the track in response to a seek.