andrewlewis fd0a8cadc6 Continue releasing programs on failure
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
2023-02-27 18:16:59 +00:00
..
2022-12-12 13:07:19 +00:00

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.