# androidx.media3.common

*** ** * ** ***

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/common/AdViewProvider` | Provides information about views for the ad playback UI. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader` | Reads bytes from a data stream. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/DebugViewProvider` | Provider for views to show diagnostic information during an export, for debugging. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/Effect` | Marker interface for a video frame effect. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/ErrorMessageProvider` | Converts throwables into error codes and user readable error messages. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/GlObjectsProvider` | Provider to customize the creation and maintenance of GL objects. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/Metadata.Entry` | A metadata entry. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/OnInputFrameProcessedListener` | A listener for processing input frames. |
| `https://developer.android.com/reference/kotlin/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/kotlin/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/kotlin/androidx/media3/common/Player.Listener` | Listener for changes in a `https://developer.android.com/reference/kotlin/androidx/media3/common/Player`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/SimpleBasePlayer.PositionSupplier` | A supplier for a position. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoCompositorSettings` | Settings for the `VideoCompositor`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor` | Interface for a video frame processor that applies changes to individual video frames. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor.Factory` | A factory for `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor` instances. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessor.Listener` | Listener for asynchronous frame processing events. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoGraph` | Represents a graph for processing raw video frames. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoGraph.Factory` | A factory for `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoGraph` instances. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoGraph.Listener` | Listener for video frame processing events. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/ViewProvider` | Provider of a view to be displayed in the player UI. |

## Classes

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

## Exceptions

|---|---|
| `https://developer.android.com/reference/kotlin/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/kotlin/androidx/media3/common/Timeline`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/ParserException` | Thrown when an error occurs parsing media data and metadata. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException` | Thrown when a non locally recoverable playback failure occurs. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/PriorityTaskManager.PriorityTooLowException` | Thrown when task attempts to proceed when another registered task has a higher priority. |
| `https://developer.android.com/reference/kotlin/androidx/media3/common/VideoFrameProcessingException` | Thrown when an exception occurs while preparing an `https://developer.android.com/reference/kotlin/androidx/media3/common/Effect`, or applying an `https://developer.android.com/reference/kotlin/androidx/media3/common/Effect` to video frames. |

## Annotations

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

## Extension functions summary

|---|---|
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-nothing/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/Player.https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listen(kotlin.Function2)(onEvents: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.(https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Continuously listens to the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener#onEvents(androidx.media3.common.Player,androidx.media3.common.Player.Events)` callback, passing the received `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` to the provided `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listen(kotlin.Function2)` function. |
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-nothing/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/common/Player.https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)( firstEvent: @https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Event https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, vararg otherEvents: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, onEvents: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.(https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Continuously listens to the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener#onEvents(androidx.media3.common.Player,androidx.media3.common.Player.Events)` callback, passing the received `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` to the provided `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)` function. |

## Extension functions

### Player.listen

Artifact: [androidx.media3:media3-common-ktx](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/common/PlayerExtensions.kt+function:listen)

```
@UnstableApi
suspend fun Player.listen(onEvents: Player.(Player.Events) -> Unit): Nothing
```

Continuously listens to the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener#onEvents(androidx.media3.common.Player,androidx.media3.common.Player.Events)` callback, passing the received `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` to the provided `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listen(kotlin.Function2)` function.

This function can be called from any thread. The `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listen(kotlin.Function2)` function will be invoked on the thread associated with `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getApplicationLooper()`.

If, during the execution of `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listen(kotlin.Function2)`, an exception is thrown, the coroutine corresponding to listening to the Player will be terminated. Any used resources will be cleaned up (e.g. removing of the listeners) and exception will be re-thrown right after the last suspension point.

| Parameters |
|---|---|
| `onEvents: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.(https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The function to handle player events. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-nothing/index.html` | Nothing This function never returns normally. It will either continue indefinitely or terminate due to an exception or cancellation. |

### Player.listenTo

Artifact: [androidx.media3:media3-common-ktx](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/common/PlayerExtensions.kt+function:listenTo)

```
@UnstableApi
suspend fun Player.listenTo(
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    onEvents: Player.(Player.Events) -> Unit
): Nothing
```

Continuously listens to the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener#onEvents(androidx.media3.common.Player,androidx.media3.common.Player.Events)` callback, passing the received `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events` to the provided `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)` function. A non-zero number of events has to be specified (hence `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)` and `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)`). The order is not important.

This function can be called from any thread. The `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)` function will be invoked on the thread associated with `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getApplicationLooper()`.

If, during the execution of `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)`, an exception is thrown, the coroutine corresponding to listening to the Player will be terminated. Any used resources will be cleaned up (e.g. removing of the listeners) and exception will be re-thrown right after the last suspension point.

| Parameters |
|---|---|
| `firstEvent: @https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Event https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | One of the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Event` to listen to. Does not have to actually be the first one, since the order is not taken into account. This parameter is separated from `https://developer.android.com/reference/kotlin/androidx/media3/common/package-summary#(androidx.media3.common.Player).listenTo(kotlin.Int,kotlin.IntArray,kotlin.Function2)` to avoid creating an array when only one event is needed or avoid accidentally not passing any events. |
| `vararg otherEvents: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The set of other `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Event` to listen for. |
| `onEvents: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.(https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Events) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The function to handle player events. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-nothing/index.html` | Nothing This function never returns normally. It will either continue indefinitely or terminate due to an exception or cancellation. |