
Partially roll forward of5c29abbbf4
, and adds some extra logic Changes to the original CL The original logic (a66f08ba97
) fails in the following case: > This is only seem on emulators. - EOS is sent to ExtTexMgr - The timer starts - One frame arrives on SurfaceTexture, reset the timer - The frame is sent for processing, now `availablFrames == 0` - One frame arrives on Surface, reset the timer - The frame is kept on SurfaceTexture for the downstream shader doesn't have capacity, `availablFrames == 1` - Timer times out as the downstream processor doesn't report being able to take another frame. - Although there's a frame available on the SurfaceTexture This is solved by having the force EOS logic clear all the frames that the SurfaceTexture holds. This also ensures the first frame dequeued from the next stream isn't from the previous stream. PiperOrigin-RevId: 540023359
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 'androidx.media3:media3-effect:1.X.X'
where 1.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.