media/libraries/exoplayer
ibaker f6b987d8ec Ensure DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION is always executed
`codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in
`MediaCodecRenderer`:
* The constructor (so there's no prior state to worry about)
* `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based
  on `sourceDrmSession` and `codecDrmSession` is also updated to
  `sourceDrmSession`.
* `resetCodecStateForFlush()`: Where (before this change) the action
  is unconditionally set back to `DRAIN_ACTION_NONE` and so any
  required updated implied by
  `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done.

This change ensures that `flushOrReleaseCodec()` handles
`DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling .

This probably also resolves Issue: google/ExoPlayer#10274

#minor-release

PiperOrigin-RevId: 454114428
(cherry picked from commit 222faa96d0)
2022-06-13 11:54:09 +00:00
..
src Ensure DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION is always executed 2022-06-13 11:54:09 +00:00
build.gradle Add a builder to DefaultAudioSink 2021-12-07 17:37:45 +00:00
proguard-rules.txt Remove FfmpegVideoRenderer from 2.18.0 release 2022-05-30 17:58:14 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

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.