# DefaultPreloadManager.PreloadStatus

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/source/preload/DefaultPreloadManager.java+class:androidx.media3.exoplayer.source.preload.DefaultPreloadManager.PreloadStatus)

*** ** * ** ***


```
public final class DefaultPreloadManager.PreloadStatus
```

<br />

*** ** * ** ***

Defines the preload status for the `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager`.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = https://developer.android.com/reference/java/lang/annotation/ElementType.html#TYPE_USE) @https://developer.android.com/reference/androidx/annotation/IntDef(value = ) public annotation https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus.Stage` Stages for the preload status. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#PRELOAD_STATUS_NOT_PRELOADED()` A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the media item should not be preloaded. |
| `static final https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#PRELOAD_STATUS_SOURCE_PREPARED()` A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the source has completed preparation. |
| `static final https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#PRELOAD_STATUS_TRACKS_SELECTED()` A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the source has tracks selected. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#STAGE_NOT_PRELOADED() = -2147483648` The media item has not preloaded yet. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#STAGE_SOURCE_PREPARED() = 0` The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has completed preparation. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#STAGE_SPECIFIED_RANGE_CACHED() = -1` The media item has been cached for a specific range defined by `startPositionMs` and `durationMs`. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#STAGE_SPECIFIED_RANGE_LOADED() = 2` The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has been loaded for a specific range defined by ` startPositionMs` and `durationMs`. |
| `static final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#STAGE_TRACKS_SELECTED() = 1` The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has tracks selected. |

| ### Public fields |
|---|---|
| `final long` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#durationMs()` The duration in milliseconds for which the source should be loaded from the ` startPositionMs`, or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()` to indicate that the source should be loaded to end of source. |
| `final int` | `@https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus.Stage https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#stage()` The stage for the preload status. |
| `final long` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#startPositionMs()` The start position in milliseconds from which the source should be loaded, or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()` to indicate the default start position. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` |
| `int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#hashCode()()` |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#specifiedRangeCached(long)(long durationMs)` Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to cache the media item from the default start position and for the specified duration (in milliseconds). |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#specifiedRangeCached(long,long)(long startPositionMs, long durationMs)` Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to cache the media item from the specified start position (in milliseconds) and for the specified duration (in milliseconds). |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#specifiedRangeLoaded(long)(long durationMs)` Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to load the source from the default start position and for the specified duration (in milliseconds). |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus#specifiedRangeLoaded(long,long)(long startPositionMs, long durationMs)` Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to load the source from the specified start position (in milliseconds) and for the specified duration (in milliseconds). |

## Constants

### PRELOAD_STATUS_NOT_PRELOADED

```
public static final DefaultPreloadManager.PreloadStatus PRELOAD_STATUS_NOT_PRELOADED
```

A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the media item should not be preloaded.

### PRELOAD_STATUS_SOURCE_PREPARED

```
public static final DefaultPreloadManager.PreloadStatus PRELOAD_STATUS_SOURCE_PREPARED
```

A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the source has completed preparation.

### PRELOAD_STATUS_TRACKS_SELECTED

```
public static final DefaultPreloadManager.PreloadStatus PRELOAD_STATUS_TRACKS_SELECTED
```

A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating that the source has tracks selected.

### STAGE_NOT_PRELOADED

```
public static final int STAGE_NOT_PRELOADED = -2147483648
```

The media item has not preloaded yet.

### STAGE_SOURCE_PREPARED

```
public static final int STAGE_SOURCE_PREPARED = 0
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has completed preparation.

### STAGE_SPECIFIED_RANGE_CACHED

```
public static final int STAGE_SPECIFIED_RANGE_CACHED = -1
```

The media item has been cached for a specific range defined by `startPositionMs` and `durationMs`.

### STAGE_SPECIFIED_RANGE_LOADED

```
public static final int STAGE_SPECIFIED_RANGE_LOADED = 2
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has been loaded for a specific range defined by `
startPositionMs` and `durationMs`.

### STAGE_TRACKS_SELECTED

```
public static final int STAGE_TRACKS_SELECTED = 1
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` has tracks selected.

## Public fields

### durationMs

```
public final long durationMs
```

The duration in milliseconds for which the source should be loaded from the `
startPositionMs`, or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()` to indicate that the source should be loaded to end of source.

### stage

```
@DefaultPreloadManager.PreloadStatus.Stage
public final int stage
```

The stage for the preload status.

### startPositionMs

```
public final long startPositionMs
```

The start position in milliseconds from which the source should be loaded, or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()` to indicate the default start position.

## Public methods

### equals

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

### hashCode

```
public int hashCode()
```

### specifiedRangeCached

```
public static DefaultPreloadManager.PreloadStatus specifiedRangeCached(long durationMs)
```

Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to cache the media item from the default start position and for the specified duration (in milliseconds).

### specifiedRangeCached

```
public static DefaultPreloadManager.PreloadStatus specifiedRangeCached(long startPositionMs, long durationMs)
```

Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to cache the media item from the specified start position (in milliseconds) and for the specified duration (in milliseconds).

### specifiedRangeLoaded

```
public static DefaultPreloadManager.PreloadStatus specifiedRangeLoaded(long durationMs)
```

Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to load the source from the default start position and for the specified duration (in milliseconds).

### specifiedRangeLoaded

```
public static DefaultPreloadManager.PreloadStatus specifiedRangeLoaded(long startPositionMs, long durationMs)
```

Returns a `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` indicating to load the source from the specified start position (in milliseconds) and for the specified duration (in milliseconds).