diff options
-rw-r--r-- | config.tests/unix/gstreamer/gstreamer.cpp | 42 | ||||
-rw-r--r-- | config.tests/unix/gstreamer/gstreamer.pro | 22 | ||||
-rwxr-xr-x | configure | 69 |
3 files changed, 132 insertions, 1 deletions
diff --git a/config.tests/unix/gstreamer/gstreamer.cpp b/config.tests/unix/gstreamer/gstreamer.cpp new file mode 100644 index 0000000000..cc61498787 --- /dev/null +++ b/config.tests/unix/gstreamer/gstreamer.cpp @@ -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; +} diff --git a/config.tests/unix/gstreamer/gstreamer.pro b/config.tests/unix/gstreamer/gstreamer.pro new file mode 100644 index 0000000000..a5e158fa21 --- /dev/null +++ b/config.tests/unix/gstreamer/gstreamer.pro @@ -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 + @@ -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" |