Description
See some discussion on flutter/engine#33599 (comment)
This plugin currently uses platform views to render a component which ends up basically just rendering to a texture. It should be more efficient (and generally provide better UX for your developers) to instead use the texture registry, which does not have as many restrictions or rough edges as platform views (e.g. thread merging requirements, weird bugs/edge cases around input and a11y, etc).
The linked bug points to some of how video_player
does this. From a quick look at your Android code, this is not a super trivial refactor but it also doesn't look like a huge awful refactor either.
In particular, Flutter would like to drop support for the virtual display mechanism used in platform views that embed a texture or surface view, since it is error prone and difficult to maintain. This plugin was identified as one of the contributors/reasons why we need to continue to support it.