b471f75ea0
Older Qt versions didn't have QSharedPointer::get(), which is just a modern alias for QSharedPointer::data(). FAILED: ext/qt/libgstqmlgl.so.p/qtitem.cc.o c++ -Iext/qt/libgstqmlgl.so.p -Iext/qt -I../ext/qt -I. -I.. -I../gst-libs -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/usr/lib/aarch64-linux-gnu/gstreamer-1.0/include -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtQml -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtQuick -I/usr/include/aarch64-linux-gnu/qt5/QtX11Extras -I/usr/include/libdrm -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++11 -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla -Wpointer-arith -g -fdebug-prefix-map=/opt/good/src=. -Wformat -Werror=format-security -O3 -march=native -Wno-error -Wdate-time -fPIC -pthread -DHAVE_CONFIG_H -DHAVE_QT_X11 -DHAVE_QT_EGLFS -MD -MQ ext/qt/libgstqmlgl.so.p/qtitem.cc.o -MF ext/qt/libgstqmlgl.so.p/qtitem.cc.o.d -o ext/qt/libgstqmlgl.so.p/qtitem.cc.o -c ../ext/qt/qtitem.cc In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0, from /usr/include/gstreamer-1.0/gst/video/video.h:23, from ../ext/qt/qtitem.cc:27: ../ext/qt/qtitem.cc: In destructor ‘virtual QtGLVideoItem::~QtGLVideoItem()’: ../ext/qt/qtitem.cc:138:86: error: ‘class QSharedPointer<QtGLVideoItemInterface>’ has no member named ‘get’ GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get()); ^ /usr/include/gstreamer-1.0/gst/gstinfo.h:682:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’ (GObject *) (object), __VA_ARGS__); \ ^~~~~~~~~~~ ../ext/qt/qtitem.cc:138:3: note: in expansion of macro ‘GST_INFO’ GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get()); ^ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/673> |
||
---|---|---|
.. | ||
gstplugin.cc | ||
gstqsgtexture.cc | ||
gstqsgtexture.h | ||
gstqtgl.h | ||
gstqtglutility.cc | ||
gstqtglutility.h | ||
gstqtoverlay.cc | ||
gstqtoverlay.h | ||
gstqtsink.cc | ||
gstqtsink.h | ||
gstqtsrc.cc | ||
gstqtsrc.h | ||
meson.build | ||
qtglrenderer.cc | ||
qtglrenderer.h | ||
qtitem.cc | ||
qtitem.h | ||
qtplugin.pro | ||
qtwindow.cc | ||
qtwindow.h | ||
README.md |
Building for non-linux platforms
Compiling the gstqmlgl plugin for non-linux platforms is not so trivial. This file explains the steps that need to be followed for a successful build.
Step 1
Build GStreamer for the target platform using cerbero.
Step 2
Enter the cerbero shell:
./cerbero-uninstalled -c config/<target platform config>.cbc shell
Step 3
Export the following environment variables:
export PATH=/path/to/Qt/<version>/<platform>/bin:$PATH
if you are cross-compiling (ex. for android), also export:
export PKG_CONFIG_SYSROOT_DIR=/
Additionally, if you are building for android:
export ANDROID_NDK_ROOT=$ANDROID_NDK
Note: the ANDROID_NDK variable is set by the cerbero shell; if you are not using this shell, set it to the directory where you have installed the android NDK. Additionally, if you are not building through the cerbero shell, it is also important to have set PKG_CONFIG_LIBDIR to $GSTREAMER_ROOT/lib/pkgconfig.
Step 4
cd to the directory of the gstqmlgl plugin and run:
qmake .
make
Step 5
Copy the built plugin to your $GSTREAMER_ROOT/lib/gstreamer-1.0 or link to it directly if it is compiled statically