Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5.1, 6.5
-
None
-
Raspberry pi 3 (bullseye 32 and 64 bit)
-
-
a06348f81 (dev), 73331dc9b (6.8), 1c5d74b73 (tqtc/lts-6.5)
-
Multimedia wk 43-44, Multimedia wk 47-48
Description
I am maintaining a multimedia kiosk based on raspberry pi 3 based on Qt.
With the latest version video did not work on the raspberry pi 3, but it did on the raspberry pi 4.
The issue seems to be that Qt tries to use R8 textures which are not supported in all GLES stacks. R8 and RG8 are both used when the output is NV12. R8 is used in more output formats, also in YUV. The raspberry pi 3 supports OpenGL ES 2.0 with the VC4 V3D 2.1 driver, and the raspberry pi 4 supports OpenGL ES 3.1 with the V3D 4.2 driver.
I was able to play video in the raspberry pi 3 when I changed all R8 to RED_OR_ALPHA8 in qvideotexturehelper.cpp and change the shader to use the alpha channel in the yuv_triplane shader.
This proves that the stack is able to play video if only the supported formats are used.
This workaround works in my specific situation, but it would be nice if qt multimedia works out of the box without modifications.
Attachments
Issue Links
- is duplicated by
-
QTBUG-129404 [Reg B2Qt 6.7.2 -> 6.7.3] video not played on embedded devices
-
- Reported
-
- relates to
-
QTBUG-131114 Workaround needed for video pixel formats that use RG8 textures on GLES2
-
- Closed
-