Add configure option and tests for GStreamer.
Qt Multimedia can be compiled with either GStreamer 0.10 or 1.0. 0.10 takes precedence over 1.0 if both are available (1.0 will be used by default in Qt 5.6). Auto-detection can be overridden with -gstreamer <version>. Change-Id: I74d58d2c146c842902375b4d1e5e6e96d32addac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
478f319df9
commit
710cb8e2fc
42
config.tests/unix/gstreamer/gstreamer.cpp
Normal file
42
config.tests/unix/gstreamer/gstreamer.cpp
Normal file
@ -0,0 +1,42 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2015 The Qt Company Ltd.
|
||||
** Contact: http://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Toolkit
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL21$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see http://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at http://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 or version 3 as published by the Free
|
||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
||||
** following information to ensure the GNU Lesser General Public License
|
||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** As a special exception, The Qt Company gives you certain additional
|
||||
** rights. These rights are described in The Qt Company LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#define GST_USE_UNSTABLE_API
|
||||
|
||||
#include <gst/gst.h>
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
gst_is_initialized();
|
||||
return 0;
|
||||
}
|
22
config.tests/unix/gstreamer/gstreamer.pro
Normal file
22
config.tests/unix/gstreamer/gstreamer.pro
Normal file
@ -0,0 +1,22 @@
|
||||
SOURCES += gstreamer.cpp
|
||||
|
||||
CONFIG += link_pkgconfig
|
||||
|
||||
gst-0.10 {
|
||||
PKGCONFIG_PRIVATE += \
|
||||
gstreamer-0.10 \
|
||||
gstreamer-base-0.10 \
|
||||
gstreamer-audio-0.10 \
|
||||
gstreamer-video-0.10 \
|
||||
gstreamer-pbutils-0.10
|
||||
} else:gst-1.0 {
|
||||
PKGCONFIG_PRIVATE += \
|
||||
gstreamer-1.0 \
|
||||
gstreamer-base-1.0 \
|
||||
gstreamer-audio-1.0 \
|
||||
gstreamer-video-1.0 \
|
||||
gstreamer-pbutils-1.0
|
||||
}
|
||||
|
||||
CONFIG -= qt
|
||||
|
69
configure
vendored
69
configure
vendored
@ -644,6 +644,8 @@ CFG_QNX_IMF=auto
|
||||
CFG_LGMON=auto
|
||||
CFG_SYSTEM_PROXIES=no
|
||||
CFG_ANDROID_STYLE_ASSETS=yes
|
||||
CFG_GSTREAMER=auto
|
||||
CFG_GSTREAMER_VERSION=""
|
||||
|
||||
# Target architecture
|
||||
CFG_ARCH=
|
||||
@ -968,7 +970,17 @@ while [ "$#" -gt 0 ]; do
|
||||
shift;
|
||||
VAL=$1
|
||||
fi
|
||||
;;
|
||||
;;
|
||||
-gstreamer)
|
||||
VAR=gstreamer
|
||||
# this option may or may not be followed by an argument
|
||||
if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
|
||||
VAL=yes
|
||||
else
|
||||
shift;
|
||||
VAL=$1
|
||||
fi
|
||||
;;
|
||||
-hostprefix)
|
||||
VAR=`echo $1 | sed 's,^-\(.*\),\1,'`
|
||||
# this option may or may not be followed by an argument
|
||||
@ -1896,6 +1908,15 @@ while [ "$#" -gt 0 ]; do
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
gstreamer)
|
||||
if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] ||
|
||||
[ "$VAL" = "0.10" ] || [ "$VAL" = "1.0" ] ||
|
||||
[ "$VAL" = "no" ]; then
|
||||
CFG_GSTREAMER="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
gtkstyle)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_QGTKSTYLE="$VAL"
|
||||
@ -2612,6 +2633,12 @@ Additional options:
|
||||
-no-libinput ........ Do not support libinput.
|
||||
* -libinput ........... Enable libinput support.
|
||||
|
||||
-no-gstreamer ....... Do not support GStreamer.
|
||||
+ -gstreamer <version> Enable GStreamer support
|
||||
With no parameter, this will attempt to auto-detect GStreamer 0.10 and
|
||||
1.0. GStreamer 0.10 is used by default when available.
|
||||
Use 0.10 or 1.0 for <version> to override auto-detection.
|
||||
|
||||
* -no-system-proxies .. Do not use system network proxies by default.
|
||||
-system-proxies ..... Use system network proxies by default.
|
||||
|
||||
@ -5852,6 +5879,42 @@ if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
|
||||
CFG_AUDIO_BACKEND=yes
|
||||
fi
|
||||
|
||||
# detect GStreamer support
|
||||
if [ "$CFG_GSTREAMER" = "auto" ] || [ "$CFG_GSTREAMER" = "yes" ]; then
|
||||
if compileTest unix/gstreamer "GStreamer 0.10" -config gst-0.10; then
|
||||
CFG_GSTREAMER=yes
|
||||
CFG_GSTREAMER_VERSION=0.10
|
||||
elif compileTest unix/gstreamer "GStreamer 1.0" -config gst-1.0; then
|
||||
CFG_GSTREAMER=yes
|
||||
CFG_GSTREAMER_VERSION=1.0
|
||||
else
|
||||
if [ "$CFG_GSTREAMER" = "yes" ]; then
|
||||
echo "GStreamer support cannot be enabled due to functionality tests!"
|
||||
echo " Turn on verbose messaging (-v) to $0 to see the final report."
|
||||
exit 1
|
||||
fi
|
||||
CFG_GSTREAMER=no
|
||||
fi
|
||||
elif [ "$CFG_GSTREAMER" = "0.10" ]; then
|
||||
if compileTest unix/gstreamer "GStreamer 0.10" -config gst-0.10; then
|
||||
CFG_GSTREAMER=yes
|
||||
CFG_GSTREAMER_VERSION=0.10
|
||||
else
|
||||
echo "The GStreamer 0.10 functionality test failed!"
|
||||
echo " Turn on verbose messaging (-v) to $0 to see the final report."
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$CFG_GSTREAMER" = "1.0" ]; then
|
||||
if compileTest unix/gstreamer "GStreamer 1.0" -config gst-1.0; then
|
||||
CFG_GSTREAMER=yes
|
||||
CFG_GSTREAMER_VERSION=1.0
|
||||
else
|
||||
echo "The GStreamer 1.0 functionality test failed!"
|
||||
echo " Turn on verbose messaging (-v) to $0 to see the final report."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
|
||||
echo "Warning: largefile support cannot be disabled for win32."
|
||||
CFG_LARGEFILE="yes"
|
||||
@ -6124,6 +6187,9 @@ if [ "$CFG_PULSEAUDIO" = "yes" ]; then
|
||||
QT_CONFIG="$QT_CONFIG pulseaudio"
|
||||
fi
|
||||
|
||||
[ "$CFG_GSTREAMER_VERSION" = "0.10" ] && QT_CONFIG="$QT_CONFIG gstreamer-0.10"
|
||||
[ "$CFG_GSTREAMER_VERSION" = "1.0" ] && QT_CONFIG="$QT_CONFIG gstreamer-1.0"
|
||||
|
||||
if [ "$CFG_COREWLAN" = "yes" ]; then
|
||||
QT_CONFIG="$QT_CONFIG corewlan"
|
||||
fi
|
||||
@ -6892,6 +6958,7 @@ report_support " Evdev .................." "$CFG_EVDEV"
|
||||
report_support " FontConfig ............." "$CFG_FONTCONFIG"
|
||||
report_support " FreeType ..............." "$CFG_FREETYPE" system "system library" yes "bundled copy"
|
||||
report_support " Glib ..................." "$CFG_GLIB"
|
||||
report_support " GStreamer .............." "$CFG_GSTREAMER" yes "$CFG_GSTREAMER_VERSION"
|
||||
report_support " GTK theme .............." "$CFG_QGTKSTYLE"
|
||||
report_support " HarfBuzz ..............." "$CFG_HARFBUZZ" system "system library" qt "bundled copy"
|
||||
report_support " Iconv .................." "$CFG_ICONV"
|
||||
|
Loading…
Reference in New Issue
Block a user