diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-08 03:03:45 +0200 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2019-10-08 07:29:42 +0000 |
commit | 1cb8dcaa90ab5b7e05cced20772caade74f0461b (patch) | |
tree | 3a7536e366362952169ca78b03139c925c80c95b /src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp | |
parent | fa4d01ae128dd5605910bafda580e856239e36c6 (diff) | |
parent | d2475bdd4cbb9a70abf19db465ddbdbf29591568 (diff) |
Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
src/multimedia/configure.json
Change-Id: Ie887a5f4d718cb3e082b0e2ee996c6687af330cb
Diffstat (limited to 'src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp')
-rw-r--r-- | src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp index 4b68f47a4..e1468fe34 100644 --- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp +++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp @@ -49,6 +49,11 @@ #include <unistd.h> +#include <QtMultimedia/private/qtmultimediaglobal_p.h> +#if QT_CONFIG(gstreamer_imxcommon) +#include "private/qgstvideobuffer_p.h" +#include <gst/allocators/imx/phys_mem_meta.h> +#endif //#define QT_VIVANTE_VIDEO_DEBUG @@ -224,7 +229,12 @@ GLuint QSGVivanteVideoMaterial::vivanteMapping(QVideoFrame vF) #endif GLuint physical = ~0U; - +#if QT_CONFIG(gstreamer_imxcommon) + auto buffer = reinterpret_cast<QGstVideoBuffer *>(vF.buffer()); + GstImxPhysMemMeta *meta = GST_IMX_PHYS_MEM_META_GET(buffer->buffer()); + if (meta && meta->phys_addr) + physical = meta->phys_addr; +#endif glBindTexture(GL_TEXTURE_2D, tmpTexId); glTexDirectVIVMap_LOCAL(GL_TEXTURE_2D, fullWidth, fullHeight, |