
This is because currently 1. Player sets a surfaceView to render to 2. Player intializes the renderer 3. MCVR initializes the VideoSinkProvider, by extension VideoGraph But when 1 happens, MCVR doesn't set the surfaceView on the VideoGraph because it's not initialized. Consequently after VideoGraph is initialized, it doesn't have a surface to render to, and thus dropping the first a few frames. Also adds a test for first frame to verify the correct first frame is rendered. PiperOrigin-RevId: 591228174
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.