diff options
Diffstat (limited to 'user/qt5-qtmultimedia')
-rw-r--r-- | user/qt5-qtmultimedia/APKBUILD | 6 | ||||
-rw-r--r-- | user/qt5-qtmultimedia/kde-lts.patch | 106 |
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 |