Package com.google.android.exoplayer2

## Class MediaItem.ClippingConfiguration

- java.lang.Object
- - com.google.android.exoplayer2.MediaItem.ClippingConfiguration

- All Implemented Interfaces:
    `Bundleable`
  Direct Known Subclasses:
    `MediaItem.ClippingProperties`
  Enclosing class:
    MediaItem

      public static class MediaItem.ClippingConfiguration
      extends Object
      implements Bundleable

  Optionally clips the media item to a custom start and end position.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `MediaItem.ClippingConfiguration.Builder` | Builder for `MediaItem.ClippingConfiguration` instances.

    - ### Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Bundleable

      `Bundleable.Creator<T extends Bundleable>`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Bundleable.Creator<MediaItem.ClippingProperties>` | `CREATOR` | Object that can restore `MediaItem.ClippingConfiguration` from a `Bundle`.
    `long` | `endPositionMs` | The end position in milliseconds.
    `boolean` | `relativeToDefaultPosition` | Whether `startPositionMs` and `endPositionMs` are relative to the default position.
    `boolean` | `relativeToLiveWindow` | Whether the clipping of active media periods moves with a live window.
    `long` | `startPositionMs` | The start position in milliseconds.
    `boolean` | `startsAtKeyFrame` | Sets whether the start point is guaranteed to be a key frame.
    `static MediaItem.ClippingConfiguration` | `UNSET` | A clipping configuration with default values.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `MediaItem.ClippingConfiguration.Builder` | `buildUpon()` | Returns a `MediaItem.ClippingConfiguration.Builder` initialized with the values of this instance.
    `boolean` | `equals​(Object obj)` |
    `int` | `hashCode()` |
    `Bundle` | `toBundle()` | Returns a `Bundle` representing the information stored in this object.

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

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

- - ### Field Detail

    - #### UNSET

          public static final MediaItem.ClippingConfiguration UNSET

      A clipping configuration with default values.

    - #### startPositionMs

          @IntRange(from=0L)
          public final long startPositionMs

      The start position in milliseconds. This is a value larger than or equal to zero.

    - #### endPositionMs

          public final long endPositionMs

      The end position in milliseconds. This is a value larger than or equal to zero or `C.TIME_END_OF_SOURCE` to play to the end of the stream.

    - #### relativeToLiveWindow

          public final boolean relativeToLiveWindow

      Whether the clipping of active media periods moves with a live window. If `false`, playback ends when it reaches `endPositionMs`.

    - #### relativeToDefaultPosition

          public final boolean relativeToDefaultPosition

      Whether `startPositionMs` and `endPositionMs` are relative to the default position.

    - #### startsAtKeyFrame

          public final boolean startsAtKeyFrame

      Sets whether the start point is guaranteed to be a key frame.

    - #### CREATOR

          public static final Bundleable.Creator<MediaItem.ClippingProperties> CREATOR

      Object that can restore `MediaItem.ClippingConfiguration` from a `Bundle`.

  - ### Method Detail

    - #### buildUpon

          public MediaItem.ClippingConfiguration.Builder buildUpon()

      Returns a `MediaItem.ClippingConfiguration.Builder` initialized with the values of this instance.

    - #### equals

          public boolean equals​(@Nullable
                                Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toBundle

          public Bundle toBundle()

      Description copied from interface: `Bundleable`
      Returns a `Bundle` representing the information stored in this object.
      Specified by:
        `toBundle` in interface `Bundleable`