# androidx.media3.exoplayer.source.preload

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus.Stage` | Stages for the preload status. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/MediaSourceFactorySupplier` | Supplies a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreCacheHelper.Listener` | A listener for `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreCacheHelper` events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadManagerListener` | Listener for events in a preload manager. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource.PreloadControl` | Controls preloading of `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/RankingDataComparator` | A comparator of ranking data. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/RankingDataComparator.InvalidationListener` | Notified when the `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/RankingDataComparator` has its state changed and the ranking has become invalid. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/TargetPreloadStatusControl` | Controls the target preload status. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/BasePreloadManager` | A base implementation of a preload manager, which maintains the lifecycle of `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/BasePreloadManager.BuilderBase` | A base class of the builder of the concrete extension of `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/BasePreloadManager`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/BasePreloadManager.MediaSourceHolder` | A holder for information for preloading a single media source. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager` | A preload manager that preloads with the `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` to load the media data into the `https://developer.android.com/reference/androidx/media3/exoplayer/source/SampleQueue`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.PreloadStatus` | Defines the preload status for the `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.SimpleRankingDataComparator` | A `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/RankingDataComparator` which compares the ranks of the media items based on their distances to the `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager.SimpleRankingDataComparator#setCurrentPlayingIndex(int)`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreCacheHelper` | A helper for pre-caching a single media. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreCacheHelper.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreCacheHelper`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource` | Preloads a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource` and provides a `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaPeriod` that has data loaded before playback. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadMediaSource`. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/PreloadException` | Thrown when a non-recoverable preload failure occurs. |