Package com.google.android.exoplayer2

## Class SimpleBasePlayer.MediaItemData

- java.lang.Object
- - com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData

- Enclosing class:
    SimpleBasePlayer

      protected static final class SimpleBasePlayer.MediaItemData
      extends Object

  An immutable description of an item in the playlist, containing both static setup information like `MediaItem` and dynamic data that is generally read from the media like the duration.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SimpleBasePlayer.MediaItemData.Builder` | A builder for `SimpleBasePlayer.MediaItemData` objects.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `long` | `defaultPositionUs` | The default position relative to the start of the media item at which to begin playback, in microseconds.
    `long` | `durationUs` | The duration of the media item, in microseconds, or `C.TIME_UNSET` if unknown.
    `long` | `elapsedRealtimeEpochOffsetMs` | The offset between `SystemClock.elapsedRealtime()` and the time since the Unix epoch according to the clock of the media origin server, or `C.TIME_UNSET` if unknown or not applicable.
    `boolean` | `isDynamic` | Whether this media item may change over time, for example a moving live window.
    `boolean` | `isPlaceholder` | Whether this media item contains placeholder information because the real information has yet to be loaded.
    `boolean` | `isSeekable` | Whether it's possible to seek within this media item.
    `MediaItem.LiveConfiguration` | `liveConfiguration` | The active `MediaItem.LiveConfiguration`, or null if the media item is not live.
    `Object` | `manifest` | The manifest of the media item, or null if not applicable.
    `MediaItem` | `mediaItem` | The `MediaItem`.
    `MediaMetadata` | `mediaMetadata` | The `MediaMetadata`, including static data from the `MediaItem` and the media's `Format`, as well any dynamic metadata that has been parsed from the media.
    `ImmutableList<SimpleBasePlayer.PeriodData>` | `periods` | The list of periods in this media item, or an empty list to assume a single period without ads and the same duration as the media item.
    `long` | `positionInFirstPeriodUs` | The position of the start of this media item relative to the start of the first period belonging to it, in microseconds.
    `long` | `presentationStartTimeMs` | The start time of the live presentation, in milliseconds since the Unix epoch, or `C.TIME_UNSET` if unknown or not applicable.
    `Tracks` | `tracks` | The `Tracks` of this media item.
    `Object` | `uid` | The unique identifier of this media item.
    `long` | `windowStartTimeMs` | The start time of the live window, in milliseconds since the Unix epoch, or `C.TIME_UNSET` if unknown or not applicable.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SimpleBasePlayer.MediaItemData.Builder` | `buildUpon()` | Returns a `SimpleBasePlayer.MediaItemData.Builder` pre-populated with the current values.
    `boolean` | `equals​(Object o)` |
    `int` | `hashCode()` |

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

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

- - ### Field Detail

    - #### uid

          public final Object uid

      The unique identifier of this media item.

    - #### tracks

          public final Tracks tracks

      The `Tracks` of this media item.

    - #### mediaItem

          public final MediaItem mediaItem

      The `MediaItem`.

    - #### mediaMetadata

          @Nullable
          public final MediaMetadata mediaMetadata

      The `MediaMetadata`, including static data from the `MediaItem` and the media's `Format`, as well any dynamic metadata that has been parsed from the media. If null, the metadata is assumed to be the simple combination of the `MediaItem` metadata and the metadata of the selected `Formats`.

    - #### manifest

          @Nullable
          public final Object manifest

      The manifest of the media item, or null if not applicable.

    - #### liveConfiguration

          @Nullable
          public final MediaItem.LiveConfiguration liveConfiguration

      The active `MediaItem.LiveConfiguration`, or null if the media item is not live.

    - #### presentationStartTimeMs

          public final long presentationStartTimeMs

      The start time of the live presentation, in milliseconds since the Unix epoch, or `C.TIME_UNSET` if unknown or not applicable.

    - #### windowStartTimeMs

          public final long windowStartTimeMs

      The start time of the live window, in milliseconds since the Unix epoch, or `C.TIME_UNSET` if unknown or not applicable.

    - #### elapsedRealtimeEpochOffsetMs

          public final long elapsedRealtimeEpochOffsetMs

      The offset between `SystemClock.elapsedRealtime()` and the time since the Unix epoch according to the clock of the media origin server, or `C.TIME_UNSET` if unknown or not applicable.

    - #### isSeekable

          public final boolean isSeekable

      Whether it's possible to seek within this media item.

    - #### isDynamic

          public final boolean isDynamic

      Whether this media item may change over time, for example a moving live window.

    - #### defaultPositionUs

          public final long defaultPositionUs

      The default position relative to the start of the media item at which to begin playback, in microseconds.

    - #### durationUs

          public final long durationUs

      The duration of the media item, in microseconds, or `C.TIME_UNSET` if unknown.

    - #### positionInFirstPeriodUs

          public final long positionInFirstPeriodUs

      The position of the start of this media item relative to the start of the first period belonging to it, in microseconds.

    - #### isPlaceholder

          public final boolean isPlaceholder

      Whether this media item contains placeholder information because the real information has yet to be loaded.

    - #### periods

          public final ImmutableList<SimpleBasePlayer.PeriodData> periods

      The list of periods in this media item, or an empty list to assume a single period without ads and the same duration as the media item.

  - ### Method Detail

    - #### buildUpon

          public SimpleBasePlayer.MediaItemData.Builder buildUpon()

      Returns a `SimpleBasePlayer.MediaItemData.Builder` pre-populated with the current values.

    - #### equals

          public boolean equals​(@Nullable
                                Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`