
Currently if releasing a shader program throws we don't release the GL context, which could leak resources, and any errors are silently dropped as we suppress notifications during releasing. Improve resource cleanup and debuggability of errors from custom effects by continuing to release shaders on failure (for runtime and `VideoFrameProcessingException`s) and always clean up the GL context. Note: this doesn't help with the case where releasing a custom shader blocks for a long time, causing releasing the frame processor to time out. PiperOrigin-RevId: 512042501
Effect module
Provides functionality for applying effects to video frames.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'com.google.android.exoplayer:exoplayer-effect:2.X.X'
where 2.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.