mirror of
https://github.com/androidx/media.git
synced 2025-05-06 23:20:42 +08:00

1. Move logic to decide to re-initialize the codec rather than using MediaCodec.setMediaDrmSession if (a) PlayReady is in use, and (b) the new session is still provisioning. This would previously have happened asynchronously after an input format change, after the decoder has subsequently been flushed. After this change the logic executes synchronously when the input format changes. This helps with the ref'd bug, since we want to propagate reasons for codec re-initialization through inputFormatChanged events. 2. Whilst moving the logic for re-initialization if PlayReady is being used, I fixed a bug that would occur when switching from [PlayReady --> non-PlayReady]. Re-use doesn't work in this case. The old logic only checked for the [Something --> PlayReady] case. 3. Remove pointless codec flush if updating the DRM session having not queued anything to the codec. PiperOrigin-RevId: 340299790