qmlglsink test sample (tests/examples/qt/qml/) invalid display output
Submitted by jimmy
Link to original bug (#796026)
Description
gst-plugins-bad on branch 1.8.3 was build on a
Tegra X2 platform (L4T 28.1):
Linux tegra-x2 4.4.38-tegra #1
SMP PREEMPT Fri Dec 1 06:08:28 PST 2017 aarch64 aarch64 aarch64 GNU/Linux
The plugins were built to /usr/local/lib/gstreamer-1.0/, to run I needed to do:
Let gst find plugins (qmlglsink , glupload etc)
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0/
Build
cd gst-plugins-bad
git checkout 1.8.3
./autogen.sh
./configure --prefix=/usr/local/
make
make install
cd tests/examples/qt/qml
qmake .
make
#Run
./play
The application launches and displays a window with erroneous output (not testimage expected from videotestsrc element).
Additional info:
I hade issues with the libGL.so version at the linking stage:
...
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to drmCloseOnce' /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to
drmMap'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmUnmap'
......
I hence switched to using the tegra specific:
/usr/lib/aarch64-linux-gnu/tegra/libGL.so
Qt version:
qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/aarch64-linux-gnu
Building output
gst-plugins-bad/tests/examples/qt/qml$ make
g++ -c -pipe -g -pthread -pthread -Wall -W -D_REENTRANT -fPIC -DGST_USE_UNSTABLE_API -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../lib -isystem /usr/include/gstreamer-1.0 -I/usr/lib/aarch64-linux-gnu/gstreamer-1.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o main.o main.cpp
/usr/lib/aarch64-linux-gnu/qt5/bin/rcc -name qml qml.qrc -o qrc_qml.cpp
g++ -c -pipe -g -pthread -pthread -Wall -W -D_REENTRANT -fPIC -DGST_USE_UNSTABLE_API -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../lib -isystem /usr/include/gstreamer-1.0 -I/usr/lib/aarch64-linux-gnu/gstreamer-1.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o qrc_qml.o qrc_qml.cpp
g++ -o play main.o qrc_qml.o -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lQt5Quick -lQt5Widgets -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core /usr/lib/aarch64-linux-gnu/tegra/libGL.so -lpthread
Thanks!!
Version: 1.8.3