# androidx.media3.common

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/common/AdOverlayInfo.Purpose` | The purpose of the overlay. |
| `https://developer.android.com/reference/androidx/media3/common/AdPlaybackState.AdState` | Represents the state of an ad in an ad group. |
| `https://developer.android.com/reference/androidx/media3/common/C.AudioAllowedCapturePolicy` | Capture policies for audio attributes. |
| `https://developer.android.com/reference/androidx/media3/common/C.AudioContentType` | Content types for audio attributes. |
| `https://developer.android.com/reference/androidx/media3/common/C.AudioFlags` | Flags for audio attributes. |
| `https://developer.android.com/reference/androidx/media3/common/C.AudioUsage` | Usage types for audio attributes. |
| `https://developer.android.com/reference/androidx/media3/common/C.AuxiliaryTrackType` | `https://developer.android.com/reference/androidx/media3/common/C#ROLE_FLAG_AUXILIARY()`. |
| `https://developer.android.com/reference/androidx/media3/common/C.BufferFlags` | Flags which can apply to a buffer containing a media sample. |
| `https://developer.android.com/reference/androidx/media3/common/C.ColorRange` | Video color range. |
| `https://developer.android.com/reference/androidx/media3/common/C.ColorSpace` | Video color spaces, also referred to as color standards. |
| `https://developer.android.com/reference/androidx/media3/common/C.ColorTransfer` | Video/image color transfer characteristics. |
| `https://developer.android.com/reference/androidx/media3/common/C.ContentType` | Represents a streaming or other media type. |
| `https://developer.android.com/reference/androidx/media3/common/C.CryptoMode` | Crypto modes for a codec. |
| `https://developer.android.com/reference/androidx/media3/common/C.CryptoType` | Types of crypto implementation. |
| `https://developer.android.com/reference/androidx/media3/common/C.DataType` | Represents a type of data. |
| `https://developer.android.com/reference/androidx/media3/common/C.Encoding` | Represents an audio encoding, or an invalid or unset value. |
| `https://developer.android.com/reference/androidx/media3/common/C.FirstFrameState` | State of the first frame in a video renderer. |
| `https://developer.android.com/reference/androidx/media3/common/C.FormatSupport` | Level of support for a format. |
| `https://developer.android.com/reference/androidx/media3/common/C.NetworkType` | Network connection type. |
| `https://developer.android.com/reference/androidx/media3/common/C.PcmEncoding` | Represents a PCM audio encoding, or an invalid or unset value. |
| `https://developer.android.com/reference/androidx/media3/common/C.Priority` | A value indicating the priority of a operation. |
| `https://developer.android.com/reference/androidx/media3/common/C.Projection` | Video projection types. |
| `https://developer.android.com/reference/androidx/media3/common/C.RoleFlags` | Track role flags. |
| `https://developer.android.com/reference/androidx/media3/common/C.SelectionFlags` | Track selection flags. |
| `https://developer.android.com/reference/androidx/media3/common/C.SelectionReason` | Represents a reason for selection. |
| `https://developer.android.com/reference/androidx/media3/common/C.SpatializationBehavior` | Represents the behavior affecting whether spatialization will be used. |
| `https://developer.android.com/reference/androidx/media3/common/C.StereoMode` | The stereo mode for 360/3D/VR videos. |
| `https://developer.android.com/reference/androidx/media3/common/C.StreamType` | Stream types for an `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/common/C.TextureMinFilter` | Texture filtering algorithm for minification. |
| `https://developer.android.com/reference/androidx/media3/common/C.TrackType` | Represents a type of media track. |
| `https://developer.android.com/reference/androidx/media3/common/C.VideoChangeFrameRateStrategy` | Strategies for calling `https://developer.android.com/reference/android/view/Surface.html#setFrameRate(float, int)`. |
| `https://developer.android.com/reference/androidx/media3/common/C.VideoCodecFlags` | Flags which represent a set of video codecs. |
| `https://developer.android.com/reference/androidx/media3/common/C.VideoOutputMode` | Video decoder output modes. |
| `https://developer.android.com/reference/androidx/media3/common/C.VideoScalingMode` | Video scaling modes for `https://developer.android.com/reference/android/media/MediaCodec.html`-based renderers. |
| `https://developer.android.com/reference/androidx/media3/common/C.VolumeFlags` | Volume flags to be used when setting or adjusting device volume. |
| `https://developer.android.com/reference/androidx/media3/common/C.VolumeOperationType` | Volume operation type. |
| `https://developer.android.com/reference/androidx/media3/common/C.WakeMode` | Mode specifying whether the player should hold a WakeLock and a WifiLock. |
| `https://developer.android.com/reference/androidx/media3/common/DeviceInfo.PlaybackType` | Types of playback. |
| `https://developer.android.com/reference/androidx/media3/common/FileTypes.Type` | File types. |
| `https://developer.android.com/reference/androidx/media3/common/Flags.Flag` | Flags for experimental features in Media3. |
| `https://developer.android.com/reference/androidx/media3/common/Format.CueReplacementBehavior` | The replacement behaviors for consecutive samples in a `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_TEXT()` of type `https://developer.android.com/reference/androidx/media3/common/MimeTypes#APPLICATION_MEDIA3_CUES()`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaMetadata.FolderType` | **This annotation is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/MediaMetadata#isBrowsable()` to indicate if an item is a browsable folder and use `https://developer.android.com/reference/androidx/media3/common/MediaMetadata#mediaType()` to indicate the type of the folder. <br /> |
| `https://developer.android.com/reference/androidx/media3/common/MediaMetadata.MediaType` | The type of content described by the media item. |
| `https://developer.android.com/reference/androidx/media3/common/MediaMetadata.PictureType` | The picture type of the artwork. |
| `https://developer.android.com/reference/androidx/media3/common/PlaybackException.ErrorCode` | Codes that identify causes of player errors. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Command` | Commands that indicate which method calls are currently permitted on a particular ` Player` instance. |
| `https://developer.android.com/reference/androidx/media3/common/Player.DiscontinuityReason` | Reasons for position discontinuities. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Event` | Events that can be reported via `https://developer.android.com/reference/androidx/media3/common/Player.Listener#onEvents(androidx.media3.common.Player,androidx.media3.common.Player.Events)`. |
| `https://developer.android.com/reference/androidx/media3/common/Player.MediaItemTransitionReason` | Reasons for media item transitions. |
| `https://developer.android.com/reference/androidx/media3/common/Player.PlayWhenReadyChangeReason` | Reasons for `https://developer.android.com/reference/androidx/media3/common/Player#getPlayWhenReady()` changes. |
| `https://developer.android.com/reference/androidx/media3/common/Player.PlaybackSuppressionReason` | Reason why playback is suppressed even though `https://developer.android.com/reference/androidx/media3/common/Player#getPlayWhenReady()` is `true`. |
| `https://developer.android.com/reference/androidx/media3/common/Player.RepeatMode` | Repeat modes for playback. |
| `https://developer.android.com/reference/androidx/media3/common/Player.State` | Playback state. |
| `https://developer.android.com/reference/androidx/media3/common/Player.TimelineChangeReason` | Reasons for timeline changes. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences.AudioOffloadMode` | The preference level for enabling audio offload on the audio sink. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.InputType` | Specifies how the input frames are made available to the `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor`. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/common/AdViewProvider` | Provides information about views for the ad playback UI. |
| `https://developer.android.com/reference/androidx/media3/common/DataReader` | Reads bytes from a data stream. |
| `https://developer.android.com/reference/androidx/media3/common/DebugViewProvider` | Provider for views to show diagnostic information during an export, for debugging. |
| `https://developer.android.com/reference/androidx/media3/common/Effect` | Marker interface for a video frame effect. |
| `https://developer.android.com/reference/androidx/media3/common/ErrorMessageProvider` | Converts throwables into error codes and user readable error messages. |
| `https://developer.android.com/reference/androidx/media3/common/GlObjectsProvider` | Provider to customize the creation and maintenance of GL objects. |
| `https://developer.android.com/reference/androidx/media3/common/Metadata.Entry` | A metadata entry. |
| `https://developer.android.com/reference/androidx/media3/common/OnInputFrameProcessedListener` | A listener for processing input frames. |
| `https://developer.android.com/reference/androidx/media3/common/OverlaySettings` | Provides information of how an input texture (for example, a `TextureOverlay` or in ` VideoCompositor`) is presented. |
| `https://developer.android.com/reference/androidx/media3/common/Player` | A media player interface defining high-level functionality, such as the ability to play, pause, seek and query properties of the currently playing media. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Listener` | Listener for changes in a `https://developer.android.com/reference/androidx/media3/common/Player`. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.PositionSupplier` | A supplier for a position. |
| `https://developer.android.com/reference/androidx/media3/common/VideoCompositorSettings` | Settings for the `VideoCompositor`. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` | Interface for a video frame processor that applies changes to individual video frames. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor` instances. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessor.Listener` | Listener for asynchronous frame processing events. |
| `https://developer.android.com/reference/androidx/media3/common/VideoGraph` | Represents a graph for processing raw video frames. |
| `https://developer.android.com/reference/androidx/media3/common/VideoGraph.Factory` | A factory for `https://developer.android.com/reference/androidx/media3/common/VideoGraph` instances. |
| `https://developer.android.com/reference/androidx/media3/common/VideoGraph.Listener` | Listener for video frame processing events. |
| `https://developer.android.com/reference/androidx/media3/common/ViewProvider` | Provider of a view to be displayed in the player UI. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/common/AdOverlayInfo` | Provides information about an overlay view shown on top of an ad view group. |
| `https://developer.android.com/reference/androidx/media3/common/AdOverlayInfo.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/AdOverlayInfo` instances. |
| `https://developer.android.com/reference/androidx/media3/common/AdPlaybackState` | Represents ad group times and information on the state and URIs of ads within each ad group. |
| `https://developer.android.com/reference/androidx/media3/common/AdPlaybackState.AdGroup` | Represents a group of ads, with information about their states. |
| `https://developer.android.com/reference/androidx/media3/common/AdPlaybackState.SkipInfo` | Information about skipping an ad. |
| `https://developer.android.com/reference/androidx/media3/common/AudioAttributes` | Attributes for audio playback, which configure the underlying platform `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/common/AudioAttributes.AudioAttributesV21` | **This class is deprecated.** Use `https://developer.android.com/reference/android/media/AudioAttributes.html`. <br /> |
| `https://developer.android.com/reference/androidx/media3/common/AudioAttributes.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/AudioAttributes`. |
| `https://developer.android.com/reference/androidx/media3/common/AuxEffectInfo` | Represents auxiliary effect information, which can be used to attach an auxiliary effect to an underlying `https://developer.android.com/reference/android/media/AudioTrack.html`. |
| `https://developer.android.com/reference/androidx/media3/common/BasePlayer` | Abstract base `https://developer.android.com/reference/androidx/media3/common/Player` which implements common implementation independent methods. |
| `https://developer.android.com/reference/androidx/media3/common/BundleListRetriever` | A `https://developer.android.com/reference/android/os/Binder.html` to transfer a list of `https://developer.android.com/reference/android/os/Bundle.html` across processes by splitting the list into multiple transactions. |
| `https://developer.android.com/reference/androidx/media3/common/BundleableByteArray` | A wrapper for byte arrays that allows them to be transferred over `https://developer.android.com/reference/android/os/Bundle.html` instances using shared memory. |
| `https://developer.android.com/reference/androidx/media3/common/C` | Defines constants used by the library. |
| `https://developer.android.com/reference/androidx/media3/common/ColorInfo` | Stores color info. |
| `https://developer.android.com/reference/androidx/media3/common/ColorInfo.Builder` | Builds `https://developer.android.com/reference/androidx/media3/common/ColorInfo` instances. |
| `https://developer.android.com/reference/androidx/media3/common/DeviceInfo` | Information about the playback device. |
| `https://developer.android.com/reference/androidx/media3/common/DeviceInfo.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/DeviceInfo`. |
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData` | Initialization data for one or more DRM schemes. |
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` | Scheme initialization data. |
| `https://developer.android.com/reference/androidx/media3/common/FileTypes` | Defines common file type constants and helper methods. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet` | A set of integer flags. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/FlagSet` instances. |
| `https://developer.android.com/reference/androidx/media3/common/Flags` | Central registry for Media3 experimental feature flags. |
| `https://developer.android.com/reference/androidx/media3/common/Format` | Represents a media format. |
| `https://developer.android.com/reference/androidx/media3/common/Format.Builder` | Builds `https://developer.android.com/reference/androidx/media3/common/Format` instances. |
| `https://developer.android.com/reference/androidx/media3/common/ForwardingPlayer` | A `https://developer.android.com/reference/androidx/media3/common/Player` that forwards method calls to another `https://developer.android.com/reference/androidx/media3/common/Player`. |
| `https://developer.android.com/reference/androidx/media3/common/ForwardingSimpleBasePlayer` | A `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer` that forwards all calls to another `https://developer.android.com/reference/androidx/media3/common/Player` instance. |
| `https://developer.android.com/reference/androidx/media3/common/FrameInfo` | Value class specifying information about a decoded video frame. |
| `https://developer.android.com/reference/androidx/media3/common/GlTextureInfo` | Contains information describing an OpenGL texture. |
| `https://developer.android.com/reference/androidx/media3/common/HeartRating` | A rating expressed as "heart" or "no heart". |
| `https://developer.android.com/reference/androidx/media3/common/Label` | A label for a `https://developer.android.com/reference/androidx/media3/common/Format`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem` | Representation of a media item. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.AdsConfiguration` | Configuration for playing back linear ads with a media item. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.AdsConfiguration.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.AdsConfiguration` instances. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem` instances. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration` | Optionally clips the media item to a custom start and end position. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.ClippingConfiguration` instances. |
| `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 /> |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration` | DRM configuration for a media item. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.LiveConfiguration` | Live playback configuration. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.LiveConfiguration.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.LiveConfiguration` instances. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.LocalConfiguration` | Properties for local playback. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata` | Metadata that helps the player to understand a playback request represented by a `https://developer.android.com/reference/androidx/media3/common/MediaItem`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata` instances. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.Subtitle` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/MediaItem.SubtitleConfiguration` instead <br /> |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.SubtitleConfiguration` | Properties for a text track. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.SubtitleConfiguration.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.SubtitleConfiguration` instances. |
| `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo` | Information about the media libraries. |
| `https://developer.android.com/reference/androidx/media3/common/MediaMetadata` | Metadata of a `https://developer.android.com/reference/androidx/media3/common/MediaItem`, playlist, or a combination of multiple sources of `https://developer.android.com/reference/androidx/media3/common/Metadata`. |
| `https://developer.android.com/reference/androidx/media3/common/MediaMetadata.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/MediaMetadata` instances. |
| `https://developer.android.com/reference/androidx/media3/common/Metadata` | A collection of metadata entries. |
| `https://developer.android.com/reference/androidx/media3/common/MimeTypes` | Defines common MIME types and helper methods. |
| `https://developer.android.com/reference/androidx/media3/common/PercentageRating` | A rating expressed as a percentage. |
| `https://developer.android.com/reference/androidx/media3/common/PlaybackParameters` | Parameters that apply to playback, including speed setting. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Commands` | A set of `https://developer.android.com/reference/androidx/media3/common/Player.Command`. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Commands.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/Player.Commands` instances. |
| `https://developer.android.com/reference/androidx/media3/common/Player.Events` | A set of `https://developer.android.com/reference/androidx/media3/common/Player.Event`. |
| `https://developer.android.com/reference/androidx/media3/common/Player.PositionInfo` | Position info describing a playback position involved in a discontinuity. |
| `https://developer.android.com/reference/androidx/media3/common/PlayerExtensionsKt` |   |
| `https://developer.android.com/reference/androidx/media3/common/PlayerPool` | A pool of `https://developer.android.com/reference/androidx/media3/common/Player` instances. |
| `https://developer.android.com/reference/androidx/media3/common/PlayerTransferState` | Holds a snapshot of a `https://developer.android.com/reference/androidx/media3/common/Player` transferable state. |
| `https://developer.android.com/reference/androidx/media3/common/PlayerTransferState.Builder` | Builder for `https://developer.android.com/reference/androidx/media3/common/PlayerTransferState`. |
| `https://developer.android.com/reference/androidx/media3/common/PriorityTaskManager` | Allows tasks with associated `https://developer.android.com/reference/androidx/media3/common/C.Priority` to control how they proceed relative to one another. |
| `https://developer.android.com/reference/androidx/media3/common/Rating` | A rating for media content. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer` | A base implementation for `https://developer.android.com/reference/androidx/media3/common/Player` that reduces the number of methods to implement to a minimum. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.LivePositionSupplier` | A `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.PositionSupplier` connected to a live provider that returns a new value on each invocation until it is `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.LivePositionSupplier#disconnect(long)` from the live source. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.MediaItemData` | An immutable description of an item in the playlist, containing both static setup information like `https://developer.android.com/reference/androidx/media3/common/MediaItem` and dynamic data that is generally read from the media like the duration. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.MediaItemData.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.MediaItemData` objects. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.PeriodData` | Data describing the properties of a period inside a `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.MediaItemData`. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.PeriodData.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.PeriodData` objects. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.State` | An immutable state description of the player. |
| `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.State.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/SimpleBasePlayer.State` objects. |
| `https://developer.android.com/reference/androidx/media3/common/SpeedParameters` | Class that holds information about how to apply a speed-changing effect. |
| `https://developer.android.com/reference/androidx/media3/common/StarRating` | A rating expressed as a fractional number of stars. |
| `https://developer.android.com/reference/androidx/media3/common/StreamKey` | A key for a subset of media that can be separately loaded (a "stream"). |
| `https://developer.android.com/reference/androidx/media3/common/SurfaceInfo` | Immutable value class for a `https://developer.android.com/reference/android/view/Surface.html` and supporting information. |
| `https://developer.android.com/reference/androidx/media3/common/ThumbRating` | A rating expressed as "thumbs up" or "thumbs down". |
| `https://developer.android.com/reference/androidx/media3/common/Timeline` | A flexible representation of the structure of media. |
| `https://developer.android.com/reference/androidx/media3/common/Timeline.Period` | Holds information about a period in a `https://developer.android.com/reference/androidx/media3/common/Timeline`. |
| `https://developer.android.com/reference/androidx/media3/common/Timeline.RemotableTimeline` | A concrete class of `https://developer.android.com/reference/androidx/media3/common/Timeline` to restore a `https://developer.android.com/reference/androidx/media3/common/Timeline` instance from a `https://developer.android.com/reference/android/os/Bundle.html` sent by another process via `https://developer.android.com/reference/android/os/IBinder.html`. |
| `https://developer.android.com/reference/androidx/media3/common/Timeline.Window` | Holds information about a window in a `https://developer.android.com/reference/androidx/media3/common/Timeline`. |
| `https://developer.android.com/reference/androidx/media3/common/TrackGroup` | An immutable group of tracks available within a media stream. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionOverride` | A track selection override, consisting of a `https://developer.android.com/reference/androidx/media3/common/TrackGroup` and the indices of the tracks within the group that should be selected. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters` | Parameters for controlling track selection. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences` | Preferences and constraints for enabling audio offload. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.AudioOffloadPreferences`. |
| `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/common/TrackSelectionParameters`. |
| `https://developer.android.com/reference/androidx/media3/common/Tracks` | Information about groups of tracks. |
| `https://developer.android.com/reference/androidx/media3/common/Tracks.Group` | Information about a single group of tracks, including the underlying `https://developer.android.com/reference/androidx/media3/common/TrackGroup`, the level to which each track is supported by the player, and whether any of the tracks are selected. |
| `https://developer.android.com/reference/androidx/media3/common/VideoSize` | Represents the video size. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/androidx/media3/common/IllegalSeekPositionException` | Thrown when an attempt is made to seek to a position that does not exist in the player's `https://developer.android.com/reference/androidx/media3/common/Timeline`. |
| `https://developer.android.com/reference/androidx/media3/common/ParserException` | Thrown when an error occurs parsing media data and metadata. |
| `https://developer.android.com/reference/androidx/media3/common/PlaybackException` | Thrown when a non locally recoverable playback failure occurs. |
| `https://developer.android.com/reference/androidx/media3/common/PriorityTaskManager.PriorityTooLowException` | Thrown when task attempts to proceed when another registered task has a higher priority. |
| `https://developer.android.com/reference/androidx/media3/common/VideoFrameProcessingException` | Thrown when an exception occurs while preparing an `https://developer.android.com/reference/androidx/media3/common/Effect`, or applying an `https://developer.android.com/reference/androidx/media3/common/Effect` to video frames. |