
Masking is needed as soon as updates to a value can happen both in EPI and EPII. PlayWhenReady is currently not masked because all updates happen in EPI only. As soon as we allow pausing at certain times (e.g. end of a stream), playWhenReady changes may be triggered by EPII as well and that's why we need masking. To know when the value actually changed, we also need to update the internal state to include whether playback is supppressed. PiperOrigin-RevId: 300284613
ExoPlayer library
The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.