
Previous to this change, `FrameworkMediaDrm.requiresSecureDecoder` ignores its `sessionId` parameter on API 31+, and uses only the `mimeType` parameter. This means the result [assumes the session is opened at the 'default security level'](https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)): > The default security level is defined as the highest security level > supported on the device. This change is a no-op in all (?) cases, because the `ExoMediaDrm` interface only exposes the zero-arg `openSession()` method, which in the framework case **also** assumes the highest security level is preferred: > By default, sessions are opened at the native security level of the > device. However, it seems more obviously correct to only make this "highest/native security level" assumption in one place (`openSession()`), and check the session's **actual** security level everywhere else. Issue: androidx/media#1603 PiperOrigin-RevId: 662872860
ExoPlayer module
This module provides ExoPlayer
, the Player
implementation for local media
playback on Android.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-exoplayer:1.X.X'
where 1.X.X
is the version, which must match the version of the other media
modules being used.
Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.