GStreamer: derive DMABuf video buffers from QDmaBufVideoBuffer
Replace the bespoke EGL import in QGstVideoBuffer with a new
QGstDmaBufVideoBuffer subclass that converts the GstBuffer into
plain DMABuf planes and reuses the shared importer and CPU mapping.
QGstVideoBuffer is left with CPU and GLTexture memory only, and a
new QGstBufferProvider interface exposes the GstBuffer.
Unsupported buffers fall back to the CPU path as before.
Pick-to: 6.12
Change-Id: I5797bfd6a2c0ac065d810d476e8d055801a1dd23
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Sutterud <lars.sutterud@qt.io>
| commit | 6f24b9397ef3a672a1fb1dfaad3d6a2015d931c1 |
| parent | aedaf65cd5544aa3d1640f1a38c7d030f1b66286 |
| author | Tim Blechmann <tim.blechmann@qt.io> |
| committer | Tim Blechmann <tim.blechmann@qt.io> |
| commit time | Wed, 21 Oct 2026 00:16:12 +0000 |
- M src/multimedia/video/qdmabufvideobuffer_p.h
- M src/plugins/multimedia/gstreamer/CMakeLists.txt
- M src/plugins/multimedia/gstreamer/common/qgst.cpp
- M src/plugins/multimedia/gstreamer/common/qgst_p.h
- A src/plugins/multimedia/gstreamer/common/qgstbufferprovider_p.h
- A src/plugins/multimedia/gstreamer/common/qgstdmabufvideobuffer.cpp
- A src/plugins/multimedia/gstreamer/common/qgstdmabufvideobuffer_p.h
- M src/plugins/multimedia/gstreamer/common/qgstvideobuffer.cpp
- M src/plugins/multimedia/gstreamer/common/qgstvideobuffer_p.h
- M src/plugins/multimedia/gstreamer/common/qgstvideorenderersink.cpp
- M src/plugins/multimedia/gstreamer/mediacapture/qgstreamerimagecapture.cpp
- M src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp