
There were some edge cases in which we'd forget to release DRM sessions. For example if we read a format and acquired a pendingDrmSession (in onInputFormatChanged), then immediately read another format and overwrote pendingDrmSession, we'd forget to release the one that's been overwritten. This change hopefully makes release much clearer. We keep a list of all drm sessions we're currently holding. Whenever we update either drmSession or pendingDrmSession, we release any other sessions that are in the list. PiperOrigin-RevId: 228905465
ExoPlayer extensions
ExoPlayer extensions are modules that depend on external libraries to provide additional functionality. Browse the individual extensions and their READMEs to learn more.