Qt Multimedia features direct OpenGL - and now even Metal - usage in a number of places. Investigate which of these could be removed, or ported over to the QRhi.
Regardless of the decision, the ability to interoperate with Qt Quick must be ensured, meaning video player items should be functional even when Qt Quick is running with the QRhi and the OpenGL backend, even if multimedia operates by directly using OpenGL.
Also investigate what the new backends (D3D11, Metal, Vulkan) mean for Multimedia. On Windows for example efficient video playback can now be implemented without going through the ANGLE mess since D3D and D3D textures are first class citizens (when Qt Quick is running with the D3D backend of QRhi, that is)
For macOS direct Metal usage is being introduced in 5.14 or 5.15. Investigate what this means when Qt Quick is also rendering (or is not rendering) via Metal.
Consider also the story on Windows and macOS, since will likely not default to using OpenGL anymore, but rather D3D and Metal. How will Multimedia handle this?
|For Gerrit Dashboard: QTBUG-78678|
|301462,19||Quick: Add support of RHI for video frames||dev||qt/qtmultimedia||Status: MERGED||+2||0|
|302235,8||Introduce QAbstractVideoBuffer::MTLTextureHandle||dev||qt/qtmultimedia||Status: MERGED||+2||0|
|303062,2||RHI: Remove gl code from video nodes||dev||qt/qtmultimedia||Status: MERGED||+2||0|
|305270,3||IMX: Prepare vivante plugin for RHI||dev||qt/qtmultimedia||Status: MERGED||+2||0|
|306296,2||Android: Use current gl context as share||dev||qt/qtmultimedia||Status: MERGED||+2||0|