# MediaItem.ClippingConfiguration

Artifact: [androidx.media3:media3-common](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/common/MediaItem.java+class:androidx.media3.common.MediaItem.ClippingConfiguration)

*** ** * ** ***


```
public class MediaItem.ClippingConfiguration
```

<br />

Known direct subclasses [MediaItem.ClippingProperties](https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingProperties)

|---|---|
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingProperties` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration` instead. <br /> |

*** ** * ** ***

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

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration.Builder` Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration` instances. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#UNSET()` A clipping configuration with default values. |

| ### Public fields |
|---|---|
| `final boolean` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#allowUnseekableMedia()` Whether clipping to a non-zero start position in unseekable media is allowed. |
| `final long` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#endPositionMs()` The end position in milliseconds. |
| `final long` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#endPositionUs()` The end position in microseconds. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#relativeToDefaultPosition()` Whether `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#startPositionMs()` and `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#endPositionMs()` are relative to the default position. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#relativeToLiveWindow()` Whether the clipping of active media periods moves with a live window. |
| `final @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) long` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#startPositionMs()` The start position in milliseconds. |
| `final @https://developer.android.com/reference/androidx/annotation/IntRange(from = 0) long` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#startPositionUs()` The start position in microseconds. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#startsAtKeyFrame()` Whether the start point is guaranteed to be a key frame. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration.Builder` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#buildUpon()()` Returns a `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration.Builder` initialized with the values of this instance. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` |
| `static https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingProperties` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#fromBundle(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html bundle)` Restores a `ClippingProperties` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `int` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#toBundle()()` |

## Constants

### UNSET

```
public static final MediaItem.ClippingConfiguration UNSET
```

A clipping configuration with default values.

## Public fields

### allowUnseekableMedia

```
@UnstableApi
public final boolean allowUnseekableMedia
```

Whether clipping to a non-zero start position in unseekable media is allowed.

### endPositionMs

```
public final long endPositionMs
```

The end position in milliseconds. This is a value larger than or equal to zero or `https://developer.android.com/reference/androidx/media3/common/C#TIME_END_OF_SOURCE()` to play to the end of the stream.

### endPositionUs

```
@UnstableApi
public final long endPositionUs
```

The end position in microseconds. This is a value larger than or equal to zero or `https://developer.android.com/reference/androidx/media3/common/C#TIME_END_OF_SOURCE()` to play to the end of the stream.

### relativeToDefaultPosition

```
public final boolean relativeToDefaultPosition
```

Whether `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#startPositionMs()` and `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#endPositionMs()` are relative to the default position.

### relativeToLiveWindow

```
public final boolean relativeToLiveWindow
```

Whether the clipping of active media periods moves with a live window. If `false`, playback ends when it reaches `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration#endPositionMs()`.

### startPositionMs

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

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

### startPositionUs

```
@UnstableApi
public final @IntRange(from = 0) long startPositionUs
```

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

### startsAtKeyFrame

```
public final boolean startsAtKeyFrame
```

Whether the start point is guaranteed to be a key frame.

## Public methods

### buildUpon

```
public MediaItem.ClippingConfiguration.Builder buildUpon()
```

Returns a `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration.Builder` initialized with the values of this instance.

### equals

```
public boolean equals(@Nullable Object obj)
```

### fromBundle

```
@UnstableApi
public static MediaItem.ClippingProperties fromBundle(Bundle bundle)
```

Restores a `ClippingProperties` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### hashCode

```
public int hashCode()
```

### toBundle

```
@UnstableApi
public Bundle toBundle()
```