Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.15
-
i.MX6ULL (no GPU and therefore no OpenGL)
Description
Trying to use a QML MediaPlayer on a system without OpenGL results in a Segmentation Fault.
The cause of the fault is that the QDeclarativeVideoOutput initialiser calls createBackend(nullptr);. createBackend has a preprocessor conditional #if QT_CONFIG(opengl) which results in QDeclarativeVideoRendererBackend::init being called on systems which have OpenGL but QDeclarativeVideoWindowBackend::init being called on systems which don't have OpenGL. The 'service' variable (which is null at this point) is passed to the initialiser in each case. QDeclarativeVideoRendererBackend::init has a test for 'service' being null and handles it fine, however QDeclarativeVideoWindowBackend::init has no such check and tries to use the 'service' variable (pointer) which then results in a segmentation fault (due to the null pointer).