Skip to content

Draft: apple: New vout window/display allocation mechanism

This change allocate a window and a display on the calling thread, removing the need to wait synchronously (or block) the main thread.

Views are then allocated and managed asynchronously on the main thread by each module.

Display module and it's view can access the window's view with the VLCVoutWindow protocol.

It has been tested on iOS and macOS and it appears the OpenGLES renderer doesn't allow the render to happen before the frame buffer storage is set or during change.

An OpenGL provider module is in the work and this MR will stay in draft state until a solution is figured out for the vout to allow this new mechanism to work with legacy displays on iOS.

It seems to perform well on VLC desktop macOS with both OpenGL and SampleBuffer based displays but one still have to test on libvlc macOS.

Merge request reports

Loading