player.setVideoEffects() doesnot work with GLSurfaceView
Version
Media3 main branch
More version details
exoplayer:1.3.0 media3-transformer:1.3.0
Devices that reproduce the issue
Samsung Galaxy Tab A7 lite
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
- use the GLsurfaceview Demo
- add the MatrixTransformationFactory from the Transformer demo code
- add the effects using
ImmutableList.Builder<Effect> effects = new ImmutableList.Builder<>(); effects.add(MatrixTransformationFactory.createSpin3dEffect()); player.setVideoEffects(effects.build());after player.prepare - if we comment the
player.setVideoEffects(effects.build());the video plays other wise it wont play
Expected result
video should play with the applied effect and the bitmap overlay provided by the demo app
Actual result
video does not play it is stuck at 0
Media
not applicable
Bug Report
- [ ] You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
Please could you add more info about why you need GLSurfaceView support, instead of just using SurfaceView? We can look into why it's not working, but it should also be possible to avoid the overhead of having two GL contexts set up. The extra functionality that GLSurfaceView adds on top of SurfaceView is generally unnecessary when using setVideoEffects.
I want to add some custom implementation of GLsurfaceview like say PIP video to show so video effects, while I know that GlEffects can be applied to exoplayer, there are various limitations of ExoPlayer.setVideoEffects() also the preview of the effects, is not available, I have raised a separate issue for that here In my example say I want to implement an effect with GLsurfaceview and aMatrixTransformationFactory.createSpin3dEffect() the video just doesnot play.
The Limitation of explayer to display various effects while live editing over a timeline which is a basic feature of any video editing app is my primary requirement So I decided to use both GLsurfaceview and MatrixTransformationFactory.createSpin3dEffect() but came across this bug
We recommend waiting for CompositionPlayer APIs that will support this use case.