# androidx.media3.exoplayer.hls.playlist

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.ClientDefinedAttribute.Type` | The type of the client defined attribute. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.CueTriggerType` | The cue trigger type. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.NavigationRestriction` | The navigation restriction identifier. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.SnapType` | The snap identifier. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.TimelineOccupiesType` | The timeline occupies identifier. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.TimelineStyleType` | The timeline style identifier. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.PlaylistType` | Type of the playlist, as defined by #EXT-X-PLAYLIST-TYPE. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup.Type` | Represents the type of a `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup`. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParserFactory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylist` parsers. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker` | Tracks playlists associated to an HLS stream and provides snapshots. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker.Factory` | Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker` instances. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker.PlaylistEventListener` | Called on playlist loading events. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener` | Listener for primary playlist changes. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistParserFactory` | Default implementation for `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParserFactory`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/DefaultHlsPlaylistTracker` | Default implementation for `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/FilteringHlsPlaylistParserFactory` | A `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParserFactory` that includes only the streams identified by the given stream keys. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist` | Represents an HLS media playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.ClientDefinedAttribute` | A client defined attribute. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial` | An interstitial data range. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Interstitial`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Part` | A media part. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.RenditionReport` | A rendition report for an alternative rendition defined in another media playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Segment` | Media segment reference. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.SegmentBase` | The base for a `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Segment` or a `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.Part` required for playback. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.ServerControl` | Server control attributes. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist` | Represents an HLS multivariant playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.ContentSteeringInfo` | Content Steering information derived from an #EXT-X-CONTENT-STEERING tag. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Rendition` | A rendition (i.e. an #EXT-X-MEDIA tag) in a multivariant playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` | A variant (i.e. an #EXT-X-STREAM-INF tag) in a multivariant playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylist` | Represents an HLS playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser` | HLS playlists parsing logic. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup` | Represents a group of `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` or `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Rendition` that are identical streams but from different locations (different playlist urls), and indicated by a shared `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup.GroupKey`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup.Factory` | A factory for creating lists of `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup` from a `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup.GroupKey` | Defines a key that groups `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` or `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Rendition` into one `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsRedundantGroup`. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser.DeltaUpdateException` | Exception thrown when merging a delta update fails. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker.PlaylistResetException` | Thrown when the media sequence of a new snapshot indicates the server has reset. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylistTracker.PlaylistStuckException` | Thrown when a playlist is considered to be stuck due to a server side error. |