Media3 is currently in beta. It is not yet the recommended solution for media apps. See the existing media documentation for the current recommended approach.

ExoPlayer to Media3 Mappings

The following tables outline how the various class, package, module, and Gradle dependency names differ between exoplayer2 and the new media3 implementation.

Package mappings

exoplayer2 package namemedia3 package name
com.google.android.exoplayer2androidx.media3.exoplayer
com.google.android.exoplayer2.analyticsandroidx.media3.exoplayer.analytics
com.google.android.exoplayer2.audioandroidx.media3.exoplayer.audio
com.google.android.exoplayer2.castdemoandroidx.media3.demo.cast
com.google.android.exoplayer2.databaseandroidx.media3.database
com.google.android.exoplayer2.decoderandroidx.media3.decoder
com.google.android.exoplayer2.demoandroidx.media3.demo.main
com.google.android.exoplayer2.drmandroidx.media3.exoplayer.drm
com.google.android.exoplayer2.ext.av1androidx.media3.decoder.av1
com.google.android.exoplayer2.ext.castandroidx.media3.cast
com.google.android.exoplayer2.ext.cronetandroidx.media3.datasource.cronet
com.google.android.exoplayer2.ext.ffmpegandroidx.media3.decoder.ffmpeg
com.google.android.exoplayer2.ext.flacandroidx.media3.decoder.flac
com.google.android.exoplayer2.ext.imaandroidx.media3.exoplayer.ima
com.google.android.exoplayer2.ext.leanbackandroidx.media3.ui.leanback
com.google.android.exoplayer2.ext.okhttpandroidx.media3.datasource.okhttp
com.google.android.exoplayer2.ext.opusandroidx.media3.decoder.opus
com.google.android.exoplayer2.ext.rtmpandroidx.media3.datasource.rtmp
com.google.android.exoplayer2.ext.vp9androidx.media3.decoder.vp9
com.google.android.exoplayer2.ext.workmanagerandroidx.media3.exoplayer.workmanager
com.google.android.exoplayer2.extractorandroidx.media3.extractor
com.google.android.exoplayer2.gldemoandroidx.media3.demo.gl
com.google.android.exoplayer2.mediacodecandroidx.media3.exoplayer.mediacodec
com.google.android.exoplayer2.metadataandroidx.media3.extractor.metadata
com.google.android.exoplayer2.offlineandroidx.media3.exoplayer.offline
com.google.android.exoplayer2.playbacktestsandroidx.media3.test.exoplayer.playback
com.google.android.exoplayer2.robolectricandroidx.media3.test.utils.robolectric
com.google.android.exoplayer2.schedulerandroidx.media3.exoplayer.scheduler
com.google.android.exoplayer2.sourceandroidx.media3.exoplayer.source
com.google.android.exoplayer2.source.rtspandroidx.media3.exoplayer.rtsp
com.google.android.exoplayer2.source.dashandroidx.media3.exoplayer.dash
com.google.android.exoplayer2.source.smoothstreamingandroidx.media3.exoplayer.smoothstreaming
com.google.android.exoplayer2.source.hlsandroidx.media3.exoplayer.hls
com.google.android.exoplayer2.surfacedemoandroidx.media3.demo.surface
com.google.android.exoplayer2.testdataandroidx.media3.test.data
com.google.android.exoplayer2.testutilandroidx.media3.test.utils
com.google.android.exoplayer2.textandroidx.media3.extractor.text
com.google.android.exoplayer2.trackselectionandroidx.media3.exoplayer.trackselection
com.google.android.exoplayer2.transformerandroidx.media3.transformer
com.google.android.exoplayer2.transformerdemoandroidx.media3.demo.transformer
com.google.android.exoplayer2.uiandroidx.media3.ui
com.google.android.exoplayer2.upstream.cryptoandroidx.media3.exoplayer.upstream.crypto
com.google.android.exoplayer2.upstream.cacheandroidx.media3.datasource.cache
com.google.android.exoplayer2.upstreamandroidx.media3.datasource
com.google.android.exoplayer2.utilandroidx.media3.exoplayer.util
com.google.android.exoplayer2.utilandroidx.media3.common.util
com.google.android.exoplayer2.videoandroidx.media3.exoplayer.video

Class renamings

exoplayer2 class namemedia3 package namemedia3 class names
com.google.android.exoplayer2.ExoPlayerLibraryInfoandroidx.media3.commonMediaLibraryInfo, ExoPlayerLibraryInfo, MediaLibraryInfo
com.google.android.exoplayer2.SimpleExoPlayerandroidx.media3.exoplayerExoPlayer, SimpleExoPlayer, ExoPlayer
com.google.android.exoplayer2.ui.StyledPlayerViewandroidx.media3.uiPlayerView, StyledPlayerView, PlayerView
com.google.android.exoplayer2.ui.StyledPlayerControlViewandroidx.media3.uiPlayerControlView, StyledPlayerControlView, PlayerControlView

Class moved to other packages

exoplayer2 package name media3 package name media3 class names
com.google.android.exoplayer2androidx.media3.exoplayerFormatHolder, PlayerMessage
com.google.android.exoplayer2androidx.media3.commonBasePlayer, BundleListRetriever, Bundleable, ControlDispatcher, C, DefaultControlDispatcher, DeviceInfo, ErrorMessageProvider, ExoPlayerLibraryInfo, Format, ForwardingPlayer, HeartRating, IllegalSeekPositionException, MediaItem, MediaMetadata, ParserException, PercentageRating, PlaybackException, PlaybackParameters, Player, PositionInfo, Rating, StarRating, ThumbRating, Timeline, TracksInfo
com.google.android.exoplayer2.audioandroidx.media3.extractorAacUtil, Ac3Util, Ac4Util, DtsUtil, MpegAudioUtil, OpusUtil, WavUtil
com.google.android.exoplayer2.audioandroidx.media3.commonAudioAttribute, AuxEffectInfo
com.google.android.exoplayer2.decoderandroidx.media3.exoplayerDecoderCounters, DecoderReuseEvaluation
com.google.android.exoplayer2.drmandroidx.media3.commonDrmInitData
com.google.android.exoplayer2.metadataandroidx.media3.exoplayer.metadataMetadataDecoderFactor, MetadataOutput, MetadataRenderer
com.google.android.exoplayer2.metadataandroidx.media3.commonMetadata
com.google.android.exoplayer2.offlineandroidx.media3.commonStreamKey
com.google.android.exoplayer2.source.adsandroidx.media3.commonAdPlaybackState
com.google.android.exoplayer2.sourceandroidx.media3.commonMediaPeriodI, TrackGroup
com.google.android.exoplayer2.trackselectionandroidx.media3.commonTrackSelectionParameter, TrackSelectionOverride
com.google.android.exoplayer2.textandroidx.media3.common.textCue
com.google.android.exoplayer2.textandroidx.media3.exoplayer.textExoplayerCuesDecode, SubtitleDecoderFactor, TextOutput, TextRenderer
com.google.android.exoplayer2.text.spanandroidx.media3.common.textHorizontalTextInVerticalContextSpan, LanguageFeatureSpa, RubySpa, SpanUti, TextAnnotatio, TextEmphasisSpan
com.google.android.exoplayer2.uiandroidx.media3.commonAdOverlayInf, AdViewProvide, package-info
com.google.android.exoplayer2.uiandroidx.media3.exoplayer.offlineDownloadNotificationHelper
com.google.android.exoplayer2.upstreamandroidx.media3.commonDataReader
com.google.android.exoplayer2.upstreamandroidx.media3.exoplayer.upstreamAllocation, Allocator, BandwidthMeter, CachedRegionTracker, DefaultAllocator, DefaultBandwidthMeter, DefaultLoadErrorHandlingPolicy, Loader, LoaderErrorThrower, ParsingLoadable, SlidingPercentile, TimeToFirstByteEstimator
com.google.android.exoplayer2.upstream.cryptoandroidx.media3.datasourceAesCipherDataSourc, AesCipherDataSin, AesFlushingCipher
com.google.android.exoplayer2.utilandroidx.media3.commonErrorMessageProvide, FlagSe, FileType, MimeType, PriorityTaskManager
com.google.android.exoplayer2.utilandroidx.media3.common.utilAtomicFil, Assertion, BundleableUti, BundleUti, Cloc, ClosedSourc, CodecSpecificDataUti, ColorParse, ConditionVariabl, Consume, CopyOnWriteMultise, EGLSurfaceTextur, GlProgra, GlUti, HandlerWrappe, LibraryLoade, ListenerSe, Lo, LongArra, MediaFormatUti, NetworkTypeObserve, NonNullAp, NotificationUti, ParsableBitArra, ParsableByteArra, RepeatModeUti, RunnableFutureTas, SystemCloc, SystemHandlerWrappe, TimedValueQueu, TimestampAdjuste, TraceUti, UnknownNul, UnstableAp, UriUti, Uti, XmlPullParserUtil
com.google.android.exoplayer2.utilandroidx.media3.extractorNalUnitUtil, ParsableNalUnitBitArray
com.google.android.exoplayer2.utilandroidx.media3.exoplayerMediaClock, StandaloneMediaClock
com.google.android.exoplayer2.videoandroidx.media3.commonColorInf, VideoSize
com.google.android.exoplayer2.videoandroidx.media3.extractorAvcConfig, DolbyVisionConfig, HevcConfig

Dependency mappings

exoplayer2 module namemedia3 module name
exoplayermedia3-exoplayer
exoplayer-databasemedia3-database
exoplayer-datasourcemedia-datasource
exoplayer-decodermedia3-decoder
exoplayer-commonmedia3-common
exoplayer-coremedia3-exoplayer
exoplayer-dashmedia3-exoplayer-dash
exoplayer-extractormedia3-extractor
exoplayer-hlsmedia3-exoplayer-hls
exoplayer-robolectricutilsmedia3-test-utils-robolectric
exoplayer-rtspmedia3-exoplayer-rtsp
exoplayer-smoothstreamingmedia3-exoplayer-smoothstreaming
exoplayer-testutilsmedia3-test-utils
exoplayer-transformermedia3-transformer
exoplayer-uimedia3-ui
extension-castmedia3-cast
extension-cronetmedia3-datasource-cronet
extension-imamedia3-exoplayer-ima
extension-leanbackmedia3-ui-leanback
extension-okhttpmedia3-datasource-okhttp
extension-rtmpmedia3-datasource-rtmp
extension-workmanagermedia3-exoplayer-workmanager