I've configured Twilio Programmable Video using this package: https://gitlab.com/twilio-flutter/programmable-video/
But I've realized it is causing the app & system performance to degrade. Then after some investigation, I found that EGLRenderer is still running after disconnect/dispose the room.
I've seen logs like this: EglRenderer: Duration: 4006 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
printing in logcat and logs comes infinitely (with interval of around 1s) and also multiplies the rate with the times I disconnected from the room.
Tried to resolve by:
- By changing the the
dispose
method of theParticipantView
class in the native side of the Android to:
override fun dispose() {
debug("dispose => Disposing ParticipantView")
videoTrack.removeSink(videoView)
videoView.release()
}
But this didn't help much but changing the previous logs print from:
EglRenderer: Duration: 4006 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
to: this
E/BufferQueueProducer(16848): [SurfaceTexture-0-16848-1](id:41d000000005,api:1,p:1097,c:16848) dequeueBuffer: BufferQueue has been abandoned
The performance degradation issue still happens now I see E/BufferQueueProducer
logs instead of EglRenderer
logs.
Thanks.