summaryrefslogtreecommitdiff
path: root/user/qt5-qtmultimedia
diff options
context:
space:
mode:
Diffstat (limited to 'user/qt5-qtmultimedia')
-rw-r--r--user/qt5-qtmultimedia/APKBUILD6
-rw-r--r--user/qt5-qtmultimedia/kde-lts.patch106
2 files changed, 56 insertions, 56 deletions
diff --git a/user/qt5-qtmultimedia/APKBUILD b/user/qt5-qtmultimedia/APKBUILD
index db4dd82c7..ed13a3b79 100644
--- a/user/qt5-qtmultimedia/APKBUILD
+++ b/user/qt5-qtmultimedia/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt5-qtmultimedia
_pkgname=qtmultimedia-everywhere
-pkgver=5.15.4
+pkgver=5.15.17
pkgrel=0
pkgdesc="Audio, video, radio, and camera libraries for Qt 5"
url="https://www.qt.io/"
@@ -28,5 +28,5 @@ package() {
make install INSTALL_ROOT="$pkgdir"
}
-sha512sums="bb0ada7560093b89751b5b3c0e1a573de215a388d621d356bc3c0e1acfffc2d696230c67b7a7cef037b18c4da900c7eb3d315bd2e73ce12f9aedd0e340399117 qtmultimedia-everywhere-opensource-src-5.15.4.tar.xz
-8b34b7bc7f6ecaeca3795a20986d31650a1aededb69a46e718545ea2f2a4bd65673167e41645d1b6f34e21e583f9613a1903ae8e116d0e6088de0f8a1e0256c5 kde-lts.patch"
+sha512sums="75cfe80d2a4555769557742a0609be96b7c064aa8f2e28efb4dcf88a121dcd95080a1077f300dd20777519db2b75247f7021d4f5b7cd5a98a78919b35509fc49 qtmultimedia-everywhere-opensource-src-5.15.17.tar.xz
+8e7a9988fa08172024455b2efab2aa9fb37287aebd03728644a311574d7183eb05e92cbb98cd0bf62207fe9e5687648437dac4f220ee38f481747123d4c3304e kde-lts.patch"
diff --git a/user/qt5-qtmultimedia/kde-lts.patch b/user/qt5-qtmultimedia/kde-lts.patch
index 510e88d18..f939c1a85 100644
--- a/user/qt5-qtmultimedia/kde-lts.patch
+++ b/user/qt5-qtmultimedia/kde-lts.patch
@@ -1,64 +1,64 @@
-From c75ef0bb53562a62d67fb3247c9fc138356368b4 Mon Sep 17 00:00:00 2001
-From: Marc Mutz <marc.mutz@qt.io>
-Date: Thu, 19 May 2022 12:02:04 +0200
-Subject: [PATCH] QPulseAudioSource: fix UB (memcpy() called with nullptr dest)
- in read()
+From 39233709c321a572ec071c97e417347ea67824f7 Mon Sep 17 00:00:00 2001
+From: Joshua Goins <josh@redstrate.com>
+Date: Sun, 22 Jan 2023 10:39:59 -0500
+Subject: [PATCH 1/2] Pass explicit GL api when initializing GStreamer backend
-deviceReady() calls read(nullptr, 0), but calling memcpy() with a
-nullpt destination is UB, even if the length is simulateneously zero.
+Recent GStreamer versions now require an explicit API instead of
+GST_GL_API_ANY, so now we pass GL or GLES depending on what is used.
-Ditto applyVolume() (called from read()).
+Cherrypicked from 20153c34a4a46a755f8a48502f0ad36d01de2e98
+---
+ src/gsttools/qgstvideorenderersink.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gsttools/qgstvideorenderersink.cpp b/src/gsttools/qgstvideorenderersink.cpp
+index 4000f2178..a446d93fe 100644
+--- a/src/gsttools/qgstvideorenderersink.cpp
++++ b/src/gsttools/qgstvideorenderersink.cpp
+@@ -368,7 +368,8 @@ static GstGLContext *gstGLDisplayContext(QAbstractVideoSurface *surface)
+ if (!nativeContext)
+ qWarning() << "Could not find resource for" << contextName;
+
+- GstGLContext *appContext = gst_gl_context_new_wrapped(display, (guintptr)nativeContext, glPlatform, GST_GL_API_ANY);
++ GstGLAPI glApi = QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGL ? GST_GL_API_OPENGL : GST_GL_API_GLES2;
++ GstGLContext *appContext = gst_gl_context_new_wrapped(display, (guintptr)nativeContext, glPlatform, glApi);
+ if (!appContext)
+ qWarning() << "Could not create wrappped context for platform:" << glPlatform;
+
+--
+2.49.0
+
+From d342547886448dacf38d2933cd40322c7435ee86 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Fri, 17 Sep 2021 10:14:42 +0200
+Subject: [PATCH 2/2] Drop obsolete QtOpengl dependency
-Fix by guarding the memcpy() calls.
+Widgets were ported away from QtOpenGL in 5.15.0 but bogus dependency
+remained (commit 30034a140ca8aefa1986c9964ae1f30dcfef886e).
-Add assertions to indicate that for these functions, nullptr is valid
-input iff length is zero.
+See also: https://bugreports.qt.io/browse/QTBUG-81902
-Found by clangsa's core.NonNullParamChecker.
+qmake backport of upstream dev branch commit a7621a6db7bdbe514be825cbc2952d50e328bab4
-Pick-to: 6.3 6.2 5.15
-Change-Id: I9006b0e933e196a7a212e0ebe2bd27f6b9552518
-Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
-(cherry picked from commit 8df415d5bcf23462bedb4cb7601b909851ee15dd)
+Thanks-to: Davide Pesavento <pesa@gentoo.org>
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
- src/plugins/pulseaudio/qaudioinput_pulse.cpp | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
+ src/multimediawidgets/multimediawidgets.pro | 2 --
+ 1 file changed, 2 deletions(-)
-diff --git a/src/plugins/pulseaudio/qaudioinput_pulse.cpp b/src/plugins/pulseaudio/qaudioinput_pulse.cpp
-index 2b5325132..b68b4af1b 100644
---- a/src/plugins/pulseaudio/qaudioinput_pulse.cpp
-+++ b/src/plugins/pulseaudio/qaudioinput_pulse.cpp
-@@ -402,6 +402,8 @@ int QPulseAudioInput::bytesReady() const
-
- qint64 QPulseAudioInput::read(char *data, qint64 len)
- {
-+ Q_ASSERT(data != nullptr || len == 0);
-+
- m_bytesAvailable = checkBytesReady();
-
- setError(QAudio::NoError);
-@@ -411,7 +413,8 @@ qint64 QPulseAudioInput::read(char *data, qint64 len)
-
- if (!m_pullMode && !m_tempBuffer.isEmpty()) {
- readBytes = qMin(static_cast<int>(len), m_tempBuffer.size());
-- memcpy(data, m_tempBuffer.constData(), readBytes);
-+ if (readBytes)
-+ memcpy(data, m_tempBuffer.constData(), readBytes);
- m_totalTimeValue += readBytes;
-
- if (readBytes < m_tempBuffer.size()) {
-@@ -502,9 +505,10 @@ qint64 QPulseAudioInput::read(char *data, qint64 len)
-
- void QPulseAudioInput::applyVolume(const void *src, void *dest, int len)
- {
-+ Q_ASSERT((src && dest) || len == 0);
- if (m_volume < 1.f)
- QAudioHelperInternal::qMultiplySamples(m_volume, m_format, src, dest, len);
-- else
-+ else if (len)
- memcpy(dest, src, len);
- }
+diff --git a/src/multimediawidgets/multimediawidgets.pro b/src/multimediawidgets/multimediawidgets.pro
+index 1919e8107..4c30d8fbf 100644
+--- 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 \
--
-2.36.0
+2.49.0