The following tables outline how the various class, package,
module, and Gradle dependency names differ between exoplayer2
and the new media3
implementation.
exoplayer2 package name | media3 package name |
com.google.android.exoplayer2 | androidx.media3.exoplayer |
com.google.android.exoplayer2.analytics | androidx.media3.exoplayer.analytics |
com.google.android.exoplayer2.audio | androidx.media3.exoplayer.audio |
com.google.android.exoplayer2.castdemo | androidx.media3.demo.cast |
com.google.android.exoplayer2.database | androidx.media3.database |
com.google.android.exoplayer2.decoder | androidx.media3.decoder |
com.google.android.exoplayer2.demo | androidx.media3.demo.main |
com.google.android.exoplayer2.drm | androidx.media3.exoplayer.drm |
com.google.android.exoplayer2.ext.av1 | androidx.media3.decoder.av1 |
com.google.android.exoplayer2.ext.cast | androidx.media3.cast |
com.google.android.exoplayer2.ext.cronet | androidx.media3.datasource.cronet |
com.google.android.exoplayer2.ext.ffmpeg | androidx.media3.decoder.ffmpeg |
com.google.android.exoplayer2.ext.flac | androidx.media3.decoder.flac |
com.google.android.exoplayer2.ext.ima | androidx.media3.exoplayer.ima |
com.google.android.exoplayer2.ext.leanback | androidx.media3.ui.leanback |
com.google.android.exoplayer2.ext.okhttp | androidx.media3.datasource.okhttp |
com.google.android.exoplayer2.ext.opus | androidx.media3.decoder.opus |
com.google.android.exoplayer2.ext.rtmp | androidx.media3.datasource.rtmp |
com.google.android.exoplayer2.ext.vp9 | androidx.media3.decoder.vp9 |
com.google.android.exoplayer2.ext.workmanager | androidx.media3.exoplayer.workmanager |
com.google.android.exoplayer2.extractor | androidx.media3.extractor |
com.google.android.exoplayer2.gldemo | androidx.media3.demo.gl |
com.google.android.exoplayer2.mediacodec | androidx.media3.exoplayer.mediacodec |
com.google.android.exoplayer2.metadata | androidx.media3.extractor.metadata |
com.google.android.exoplayer2.offline | androidx.media3.exoplayer.offline |
com.google.android.exoplayer2.playbacktests | androidx.media3.test.exoplayer.playback |
com.google.android.exoplayer2.robolectric | androidx.media3.test.utils.robolectric |
com.google.android.exoplayer2.scheduler | androidx.media3.exoplayer.scheduler |
com.google.android.exoplayer2.source | androidx.media3.exoplayer.source |
com.google.android.exoplayer2.source.rtsp | androidx.media3.exoplayer.rtsp |
com.google.android.exoplayer2.source.dash | androidx.media3.exoplayer.dash |
com.google.android.exoplayer2.source.smoothstreaming | androidx.media3.exoplayer.smoothstreaming |
com.google.android.exoplayer2.source.hls | androidx.media3.exoplayer.hls |
com.google.android.exoplayer2.surfacedemo | androidx.media3.demo.surface |
com.google.android.exoplayer2.testdata | androidx.media3.test.data |
com.google.android.exoplayer2.testutil | androidx.media3.test.utils |
com.google.android.exoplayer2.text | androidx.media3.extractor.text |
com.google.android.exoplayer2.trackselection | androidx.media3.exoplayer.trackselection |
com.google.android.exoplayer2.transformer | androidx.media3.transformer |
com.google.android.exoplayer2.transformerdemo | androidx.media3.demo.transformer |
com.google.android.exoplayer2.ui | androidx.media3.ui |
com.google.android.exoplayer2.upstream.crypto | androidx.media3.exoplayer.upstream.crypto |
com.google.android.exoplayer2.upstream.cache | androidx.media3.datasource.cache |
com.google.android.exoplayer2.upstream | androidx.media3.datasource |
com.google.android.exoplayer2.util | androidx.media3.exoplayer.util |
com.google.android.exoplayer2.util | androidx.media3.common.util |
com.google.android.exoplayer2.video | androidx.media3.exoplayer.video |
exoplayer2 package name |
media3 package name |
media3 class names |
com.google.android.exoplayer2 | androidx.media3.exoplayer | FormatHolder, PlayerMessage |
com.google.android.exoplayer2 | androidx.media3.common | BasePlayer, 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.audio | androidx.media3.extractor | AacUtil, Ac3Util, Ac4Util, DtsUtil, MpegAudioUtil, OpusUtil, WavUtil |
com.google.android.exoplayer2.audio | androidx.media3.common | AudioAttribute, AuxEffectInfo |
com.google.android.exoplayer2.decoder | androidx.media3.exoplayer | DecoderCounters, DecoderReuseEvaluation |
com.google.android.exoplayer2.drm | androidx.media3.common | DrmInitData |
com.google.android.exoplayer2.metadata | androidx.media3.exoplayer.metadata | MetadataDecoderFactor, MetadataOutput, MetadataRenderer |
com.google.android.exoplayer2.metadata | androidx.media3.common | Metadata |
com.google.android.exoplayer2.offline | androidx.media3.common | StreamKey |
com.google.android.exoplayer2.source.ads | androidx.media3.common | AdPlaybackState |
com.google.android.exoplayer2.source | androidx.media3.common | MediaPeriodId, TrackGroup |
com.google.android.exoplayer2.trackselection | androidx.media3.common | TrackSelectionParameter, TrackSelectionOverride |
com.google.android.exoplayer2.text | androidx.media3.common.text | Cue |
com.google.android.exoplayer2.text | androidx.media3.exoplayer.text | ExoplayerCuesDecode, SubtitleDecoderFactor, TextOutput, TextRenderer |
com.google.android.exoplayer2.text.span | androidx.media3.common.text | HorizontalTextInVerticalContextSpan, LanguageFeatureSpa, RubySpa, SpanUti, TextAnnotation, TextEmphasisSpan |
com.google.android.exoplayer2.ui | androidx.media3.common | AdOverlayInf, AdViewProvider |
com.google.android.exoplayer2.ui | androidx.media3.exoplayer.offline | DownloadNotificationHelper |
com.google.android.exoplayer2.upstream | androidx.media3.common | DataReader |
com.google.android.exoplayer2.upstream | androidx.media3.exoplayer.upstream | Allocation, Allocator, BandwidthMeter, CachedRegionTracker, DefaultAllocator, DefaultBandwidthMeter, DefaultLoadErrorHandlingPolicy, Loader, LoaderErrorThrower, ParsingLoadable, SlidingPercentile, TimeToFirstByteEstimator |
com.google.android.exoplayer2.upstream.crypto | androidx.media3.datasource | AesCipherDataSource, AesCipherDataSink, AesFlushingCipher |
com.google.android.exoplayer2.util | androidx.media3.common | ErrorMessageProvider, FlagSet, FileType, MimeType, PriorityTaskManager |
com.google.android.exoplayer2.util | androidx.media3.common.util | AtomicFile, Assertion, BundleableUtil, BundleUtil, Clock, ClosedSource, CodecSpecificDataUtil, ColorParser, ConditionVariable, Consumer, CopyOnWriteMultise, EGLSurfaceTexture, GlProgram, GlUtil, HandlerWrapper, LibraryLoader, ListenerSet, Log, LongArray, MediaFormatUtil, NetworkTypeObserver, NonNullApi, NotificationUtil, ParsableBitArray, ParsableByteArray, RepeatModeUtil, RunnableFutureTask, SystemCloc, SystemHandlerWrapper, TimedValueQueue, TimestampAdjuster, TraceUtil, UnknownNull, UnstableApi, UriUtil, Util, XmlPullParserUtil |
com.google.android.exoplayer2.util | androidx.media3.extractor | NalUnitUtil, ParsableNalUnitBitArray |
com.google.android.exoplayer2.util | androidx.media3.exoplayer | MediaClock, StandaloneMediaClock |
com.google.android.exoplayer2.video | androidx.media3.common | ColorInfo, VideoSize |
com.google.android.exoplayer2.video | androidx.media3.extractor | AvcConfig, DolbyVisionConfig, HevcConfig |