[gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/, dev-qt/qtmultimedia/files/, profiles/base/

2024-06-20 Thread Ionen Wolkens
commit: a531b45362dc7f478d5d449307df33c32ba4a41c
Author: Aliaksei Urbanski  gmail  com>
AuthorDate: Thu Jun 20 02:33:54 2024 +
Commit: Ionen Wolkens  gentoo  org>
CommitDate: Thu Jun 20 07:58:46 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a531b453

dev-qt/qtmultimedia: fix build with [gstreamer,-v4l]

Closes: https://bugs.gentoo.org/934582
Signed-off-by: Aliaksei Urbanski  gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37221
Signed-off-by: Ionen Wolkens  gentoo.org>

 .../files/qtmultimedia-6.7.2-gstreamer-no-v4l.patch  | 20 
 dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild|  4 
 profiles/base/package.use.force  |  5 -
 3 files changed, 24 insertions(+), 5 deletions(-)

diff --git 
a/dev-qt/qtmultimedia/files/qtmultimedia-6.7.2-gstreamer-no-v4l.patch 
b/dev-qt/qtmultimedia/files/qtmultimedia-6.7.2-gstreamer-no-v4l.patch
new file mode 100644
index ..0f61539b00d2
--- /dev/null
+++ b/dev-qt/qtmultimedia/files/qtmultimedia-6.7.2-gstreamer-no-v4l.patch
@@ -0,0 +1,20 @@
+# https://bugs.gentoo.org/934582
+
+--- a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
 b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
+@@ -718,6 +718,7 @@ int QGstreamerCamera::getV4L2Parameter(quint32 id) const
+ return control.value;
+ });
+ }
++#endif // QT_CONFIG(linux_v4l)
+ 
+ QGstreamerCustomCamera::QGstreamerCustomCamera(QCamera *camera)
+ : QGstreamerCameraBase{
+@@ -766,6 +767,4 @@ void QGstreamerCustomCamera::setActive(bool active)
+ emit activeChanged(active);
+ }
+ 
+-#endif
+-
+ QT_END_NAMESPACE
+

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild
index 99d03b1ca8be..25d6f40c49e6 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild
@@ -53,6 +53,10 @@ DEPEND="
 "
 BDEPEND="~dev-qt/qtshadertools-${PV}:6"
 
+PATCHES=(
+   "${FILESDIR}"/${P}-gstreamer-no-v4l.patch
+)
+
 CMAKE_SKIP_TESTS=(
# unimportant and expects all backends to be available (bug #928420)
tst_backends

diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index bcae6b1e7b1d..eba34cff8088 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -1,11 +1,6 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# Ionen Wolkens  (2024-06-18)
-# Disabling currently breaks build with USE=gstreamer, so forcing as
-# a quick workaround until this is more closely looked at (bug #934582)
->=dev-qt/qtmultimedia-6.7.2 v4l
-
 # Sam James  (2024-06-03)
 # Poor rendering performance otherwise (bug #931215).
 kde-plasma/kwin caps



[gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/, dev-qt/qtmultimedia/files/

2021-09-22 Thread Andreas Sturmlechner
commit: 3872ab8d795358f253d71927783d0b7b7f646812
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Fri Sep 17 08:14:42 2021 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Sep 22 20:01:30 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3872ab8d

dev-qt/qtmultimedia: Drop obsolete dev-qt/qtopengl dependency

Thanks-to: Davide Pesavento  gentoo.org>
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../files/qtmultimedia-5.15.2-no-qtopengl.patch| 14 ++
 dev-qt/qtmultimedia/qtmultimedia-5.15.2-r2.ebuild  |  3 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtmultimedia/files/qtmultimedia-5.15.2-no-qtopengl.patch 
b/dev-qt/qtmultimedia/files/qtmultimedia-5.15.2-no-qtopengl.patch
new file mode 100644
index 000..471bfabcce8
--- /dev/null
+++ b/dev-qt/qtmultimedia/files/qtmultimedia-5.15.2-no-qtopengl.patch
@@ -0,0 +1,14 @@
+Widgets were ported away from QtOpenGL in 5.15.0 but bogus dependency
+remained: https://bugreports.qt.io/browse/QTBUG-81902
+
+--- a/src/multimediawidgets/multimediawidgets.pro
 b/src/multimediawidgets/multimediawidgets.pro
+@@ -2,8 +2,6 @@
+ TARGET = QtMultimediaWidgets
+ QT = core gui multimedia widgets-private
+ QT_PRIVATE += multimedia-private
+-qtHaveModule(opengl): \
+-   QT_PRIVATE += opengl
+ 
+ PRIVATE_HEADERS += \
+ qvideowidget_p.h \

diff --git a/dev-qt/qtmultimedia/qtmultimedia-5.15.2-r2.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-5.15.2-r2.ebuild
index 46226e53182..8148aa4f31b 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-5.15.2-r2.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-5.15.2-r2.ebuild
@@ -31,7 +31,6 @@ RDEPEND="
openal? ( media-libs/openal )
)
widgets? (
-   =dev-qt/qtopengl-${QT5_PV}*
=dev-qt/qtwidgets-${QT5_PV}*[gles2-only=]
media-libs/libglvnd
)
@@ -40,6 +39,8 @@ DEPEND="${RDEPEND}
gstreamer? ( x11-base/xorg-proto )
 "
 
+PATCHES=( "${FILESDIR}/${PN}-5.15.2-no-qtopengl.patch" )
+
 src_prepare() {
sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
src/multimedia/multimedia.pro || die



[gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/, dev-qt/qtmultimedia/files/

2020-06-10 Thread Andreas Sturmlechner
commit: 79b01c63e8883b87f27772a20e07116f6af97d15
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Tue Jun  9 19:14:47 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Jun 10 17:52:30 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79b01c63

dev-qt/qtmultimedia: Gstreamer: fix stream buffering

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../qtmultimedia-5.14.2-gstreamer-buffering.patch  | 38 
 dev-qt/qtmultimedia/qtmultimedia-5.14.2-r1.ebuild  | 72 ++
 2 files changed, 110 insertions(+)

diff --git 
a/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch 
b/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch
new file mode 100644
index 000..5d17b079613
--- /dev/null
+++ b/dev-qt/qtmultimedia/files/qtmultimedia-5.14.2-gstreamer-buffering.patch
@@ -0,0 +1,38 @@
+From d8d072417b08dd75734b3f0aa86c3a49db934770 Mon Sep 17 00:00:00 2001
+From: Roman Valov 
+Date: Mon, 13 Apr 2020 12:54:09 +
+Subject: [PATCH] Gstreamer: fix stream buffering
+
+Gstreamer client should handle GST_MESSAGE_BUFFERING to play and pause
+streams based on buffer-percent value and Qt does it properly.
+However `updateSessionState` of QGstreamerPlayerControl was implemented
+to go back into playing state each time session state becomes paused.
+That behavior resulted into choppy stream playback.
+Fix with condition to un-pause playback only if it's already buffered.
+
+Fixes: QTBUG-83417
+Change-Id: Ida4a9e2e196de00050bdc64725fa818c7e939785
+Reviewed-by: VaL Doroshchuk 
+---
+ src/gsttools/qgstreamerplayercontrol.cpp | 6 --
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/gsttools/qgstreamerplayercontrol.cpp 
b/src/gsttools/qgstreamerplayercontrol.cpp
+index 165978288..d65102e2f 100644
+--- a/src/gsttools/qgstreamerplayercontrol.cpp
 b/src/gsttools/qgstreamerplayercontrol.cpp
+@@ -439,8 +439,10 @@ void 
QGstreamerPlayerControl::updateSessionState(QMediaPlayer::State state)
+ }
+ m_pendingSeekPosition = -1;
+ 
+-if (m_currentState == QMediaPlayer::PlayingState)
+-m_session->play();
++if (m_currentState == QMediaPlayer::PlayingState) {
++if (m_mediaStatus == QMediaPlayer::BufferedMedia)
++m_session->play();
++}
+ }
+ 
+ updateMediaStatus();
+-- 
+2.16.3

diff --git a/dev-qt/qtmultimedia/qtmultimedia-5.14.2-r1.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-5.14.2-r1.ebuild
new file mode 100644
index 000..57c260a9bee
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-5.14.2-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit qt5-build
+
+DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 
framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+   KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+IUSE="alsa gles2-only gstreamer openal pulseaudio qml widgets"
+
+RDEPEND="
+   ~dev-qt/qtcore-${PV}
+   ~dev-qt/qtgui-${PV}[gles2-only=]
+   ~dev-qt/qtnetwork-${PV}
+   alsa? ( media-libs/alsa-lib )
+   gstreamer? (
+   dev-libs/glib:2
+   media-libs/gstreamer:1.0
+   media-libs/gst-plugins-bad:1.0
+   media-libs/gst-plugins-base:1.0
+   )
+   pulseaudio? ( media-sound/pulseaudio[glib] )
+   qml? (
+   ~dev-qt/qtdeclarative-${PV}
+   gles2-only? ( ~dev-qt/qtgui-${PV}[egl] )
+   openal? ( media-libs/openal )
+   )
+   widgets? (
+   ~dev-qt/qtopengl-${PV}
+   ~dev-qt/qtwidgets-${PV}[gles2-only=]
+   )
+"
+DEPEND="${RDEPEND}
+   gstreamer? ( x11-base/xorg-proto )
+"
+
+PATCHES=(
+   "${FILESDIR}/${P}-gstreamer-buffering.patch" # QTBUG-83417
+)
+
+src_prepare() {
+   sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
+   src/multimedia/multimedia.pro || die
+
+   qt_use_disable_config openal openal \
+   src/imports/imports.pro
+
+   qt_use_disable_mod qml quick \
+   src/src.pro \
+   src/plugins/plugins.pro
+
+   qt_use_disable_mod widgets widgets \
+   src/src.pro \
+   src/gsttools/gsttools.pro \
+   src/plugins/gstreamer/common.pri
+
+   qt5-build_src_prepare
+}
+
+src_configure() {
+   local myqmakeargs=(
+   --
+   $(qt_use alsa)
+   $(qt_use gstreamer)
+   $(qt_use pulseaudio)
+   )
+   qt5-build_src_configure
+}



[gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/, dev-qt/qtmultimedia/files/

2019-11-20 Thread Andreas Sturmlechner
commit: bb3337783ed47ebf099beeb28e378c2651ddc0ec
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sat Nov 16 10:49:23 2019 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Nov 20 21:20:41 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb333778

dev-qt/qtmultimedia: Fix crash if video sink is used when destroyed

Package-Manager: Portage-2.3.79, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 .../qtmultimedia-5.13.2-gstreamer-crash.patch  | 40 +
 dev-qt/qtmultimedia/qtmultimedia-5.13.2-r1.ebuild  | 70 ++
 2 files changed, 110 insertions(+)

diff --git 
a/dev-qt/qtmultimedia/files/qtmultimedia-5.13.2-gstreamer-crash.patch 
b/dev-qt/qtmultimedia/files/qtmultimedia-5.13.2-gstreamer-crash.patch
new file mode 100644
index 000..ffcdc89c1d3
--- /dev/null
+++ b/dev-qt/qtmultimedia/files/qtmultimedia-5.13.2-gstreamer-crash.patch
@@ -0,0 +1,40 @@
+From 4d251f072c6f97b4cf4618103e4e857e499c5ed7 Mon Sep 17 00:00:00 2001
+From: VaL Doroshchuk 
+Date: Tue, 5 Nov 2019 13:39:55 +0100
+Subject: [PATCH] GStreamer: Fix crash when video sink is used when it has been
+ destroyed
+
+When custom pipeline is requested, all playbin related elements must be 
cleared.
+
+Also when QMediaPlayer is destroying, it disables showing preroll frames,
+property of the video sink, which was already destroyed.
+
+Destroying of m_videoOutputBin decreases refcounter for m_videoSink,
+since the video sink is owned by m_videoOutputBin.
+
+Fixes: QTBUG-79753
+Change-Id: I2fcbd19372caf46adf2ae1ed2e5a7d0ee70040ad
+Reviewed-by: Timur Pocheptsov 
+---
+ src/gsttools/qgstreamerplayersession.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/gsttools/qgstreamerplayersession.cpp 
b/src/gsttools/qgstreamerplayersession.cpp
+index c0998d7ae..05e419b10 100644
+--- a/src/gsttools/qgstreamerplayersession.cpp
 b/src/gsttools/qgstreamerplayersession.cpp
+@@ -252,8 +252,11 @@ void QGstreamerPlayerSession::resetElements()
+ resetGstObject(m_nullVideoSink);
+ resetGstObject(m_videoOutputBin);
+ 
++m_audioSink = nullptr;
+ m_volumeElement = nullptr;
+ m_videoIdentity = nullptr;
++m_pendingVideoSink = nullptr;
++m_videoSink = nullptr;
+ }
+ 
+ GstElement *QGstreamerPlayerSession::playbin() const
+-- 
+2.16.3
+

diff --git a/dev-qt/qtmultimedia/qtmultimedia-5.13.2-r1.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-5.13.2-r1.ebuild
new file mode 100644
index 000..767ac97515a
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-5.13.2-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit qt5-build
+
+DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 
framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+   KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+IUSE="alsa gles2 gstreamer openal pulseaudio qml widgets"
+
+RDEPEND="
+   ~dev-qt/qtcore-${PV}
+   ~dev-qt/qtgui-${PV}[gles2=]
+   ~dev-qt/qtnetwork-${PV}
+   alsa? ( media-libs/alsa-lib )
+   gstreamer? (
+   dev-libs/glib:2
+   media-libs/gstreamer:1.0
+   media-libs/gst-plugins-bad:1.0
+   media-libs/gst-plugins-base:1.0
+   )
+   pulseaudio? ( media-sound/pulseaudio[glib] )
+   qml? (
+   ~dev-qt/qtdeclarative-${PV}
+   gles2? ( ~dev-qt/qtgui-${PV}[egl] )
+   openal? ( media-libs/openal )
+   )
+   widgets? (
+   ~dev-qt/qtopengl-${PV}
+   ~dev-qt/qtwidgets-${PV}[gles2=]
+   )
+"
+DEPEND="${RDEPEND}
+   gstreamer? ( x11-base/xorg-proto )
+"
+
+PATCHES=( "${FILESDIR}/${P}-gstreamer-crash.patch" ) # QTBUG-79753
+
+src_prepare() {
+   sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
+   src/multimedia/multimedia.pro || die
+
+   qt_use_disable_config openal openal \
+   src/imports/imports.pro
+
+   qt_use_disable_mod qml quick \
+   src/src.pro \
+   src/plugins/plugins.pro
+
+   qt_use_disable_mod widgets widgets \
+   src/src.pro \
+   src/gsttools/gsttools.pro \
+   src/plugins/gstreamer/common.pri
+
+   qt5-build_src_prepare
+}
+
+src_configure() {
+   local myqmakeargs=(
+   --
+   $(qt_use alsa)
+   $(qt_use gstreamer)
+   $(qt_use pulseaudio)
+   )
+   qt5-build_src_configure
+}



[gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/, dev-qt/qtmultimedia/files/

2016-01-22 Thread Davide Pesavento
commit: 46fa9a3fbb5f9727a44ac42c5ac6e82725446e3e
Author: Davide Pesavento  gentoo  org>
AuthorDate: Fri Jan 22 22:47:47 2016 +
Commit: Davide Pesavento  gentoo  org>
CommitDate: Fri Jan 22 22:49:40 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46fa9a3f

dev-qt/qtmultimedia: backport alsa detection patch to Qt4

Gentoo-Bug: 572426

Package-Manager: portage-2.2.27

 ...4.8.6-Relax-ALSA-version-checks-for-1.1.x.patch | 155 +
 dev-qt/qtmultimedia/qtmultimedia-4.8.6-r1.ebuild   |   3 +-
 dev-qt/qtmultimedia/qtmultimedia-4.8.7.ebuild  |   1 +
 3 files changed, 158 insertions(+), 1 deletion(-)

diff --git 
a/dev-qt/qtmultimedia/files/qtmultimedia-4.8.6-Relax-ALSA-version-checks-for-1.1.x.patch
 
b/dev-qt/qtmultimedia/files/qtmultimedia-4.8.6-Relax-ALSA-version-checks-for-1.1.x.patch
new file mode 100644
index 000..6a040b2
--- /dev/null
+++ 
b/dev-qt/qtmultimedia/files/qtmultimedia-4.8.6-Relax-ALSA-version-checks-for-1.1.x.patch
@@ -0,0 +1,155 @@
+From 7737e5f851fdf33ea3e8e60cf7856f47565f09d3 Mon Sep 17 00:00:00 2001
+From: Davide Pesavento 
+Date: Fri, 22 Jan 2016 23:17:16 +0100
+Subject: [PATCH] Relax ALSA version checks for alsa-lib >= 1.1.0
+
+Backport of qtmultimedia/3b322323d036ae2fc9f685bfc74d1ebcd5532159
+---
+ config.tests/unix/alsa/alsatest.cpp  |  2 +-
+ src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp | 16 
+ src/multimedia/audio/qaudiodeviceinfo_alsa_p.h   |  2 +-
+ src/multimedia/audio/qaudioinput_alsa_p.cpp  |  4 ++--
+ src/multimedia/audio/qaudiooutput_alsa_p.cpp |  4 ++--
+ 5 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/config.tests/unix/alsa/alsatest.cpp 
b/config.tests/unix/alsa/alsatest.cpp
+index ac5f1e1..8d78f95 100644
+--- a/config.tests/unix/alsa/alsatest.cpp
 b/config.tests/unix/alsa/alsatest.cpp
+@@ -40,7 +40,7 @@
+ /
+ 
+ #include 
+-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
++#if (!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10)))
+ #error "Alsa version found too old, require >= 1.0.10"
+ #endif
+ 
+diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp 
b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+index 973cbab..a09dcf6 100644
+--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
 b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+@@ -63,7 +63,7 @@ 
QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode
+ device = QLatin1String(dev);
+ this->mode = mode;
+ 
+-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ checkSurround();
+ #endif
+ }
+@@ -159,13 +159,13 @@ bool QAudioDeviceInfoInternal::open()
+ QList devices = availableDevices(mode);
+ 
+ if(dev.compare(QLatin1String("default")) == 0) {
+-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ dev = QLatin1String(devices.first().constData());
+ #else
+ dev = QLatin1String("hw:0,0");
+ #endif
+ } else {
+-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ dev = device;
+ #else
+ int idx = 0;
+@@ -212,13 +212,13 @@ bool QAudioDeviceInfoInternal::testSettings(const 
QAudioFormat& format) const
+ QList devices = 
QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
+ 
+ if(dev.compare(QLatin1String("default")) == 0) {
+-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ dev = QLatin1String(devices.first().constData());
+ #else
+ dev = QLatin1String("hw:0,0");
+ #endif
+ } else {
+-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ dev = device;
+ #else
+ int idx = 0;
+@@ -396,7 +396,7 @@ void QAudioDeviceInfoInternal::updateLists()
+ }
+ channelz.append(1);
+ channelz.append(2);
+-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ if (surround40) channelz.append(4);
+ if (surround51) channelz.append(6);
+ if (surround71) channelz.append(8);
+@@ -419,7 +419,7 @@ QList 
QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
+ QList devices;
+ QByteArray filter;
+ 
+-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
++#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
+ // Create a list of all current audio devices that support mode
+