Date: Friday, March 3, 2023 @ 19:22:44
Author: heftig
Revision: 470201
1.22.0-5: ffmpeg 6.0 rebuild, fixes
Added:
gstreamer/trunk/0002-zxing-update-to-2.0.0-tag.patch
(from rev 469280, gstreamer/trunk/0002-Support-zxing-c-2.0.patch)
gstreamer/trunk/0003-imagesequencesrc-Properly-set-default-location.patch
Modified:
gstreamer/trunk/0001-HACK-meson-Disable-broken-tests.patch
gstreamer/trunk/PKGBUILD
Deleted:
gstreamer/trunk/0002-Support-zxing-c-2.0.patch
gstreamer/trunk/0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
-----------------------------------------------------------+
0001-HACK-meson-Disable-broken-tests.patch | 2
0002-Support-zxing-c-2.0.patch | 63 ------------
0002-zxing-update-to-2.0.0-tag.patch | 62 +++++++++++
0003-imagesequencesrc-Properly-set-default-location.patch | 24 ++++
0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch | 25 ----
PKGBUILD | 40 ++++---
6 files changed, 110 insertions(+), 106 deletions(-)
Modified: 0001-HACK-meson-Disable-broken-tests.patch
===================================================================
--- 0001-HACK-meson-Disable-broken-tests.patch 2023-03-03 18:28:09 UTC (rev
470200)
+++ 0001-HACK-meson-Disable-broken-tests.patch 2023-03-03 19:22:44 UTC (rev
470201)
@@ -45,7 +45,7 @@
'gst/sessionpool',
'gst/stream',
diff --git a/subprojects/gstreamer-vaapi/meson.build
b/subprojects/gstreamer-vaapi/meson.build
-index 9cd3fcf19cb7..4f8e6d27f9a3 100644
+index edefc0749952..5f8b5159dee2 100644
--- a/subprojects/gstreamer-vaapi/meson.build
+++ b/subprojects/gstreamer-vaapi/meson.build
@@ -219,7 +219,6 @@ plugins = []
Deleted: 0002-Support-zxing-c-2.0.patch
===================================================================
--- 0002-Support-zxing-c-2.0.patch 2023-03-03 18:28:09 UTC (rev 470200)
+++ 0002-Support-zxing-c-2.0.patch 2023-03-03 19:22:44 UTC (rev 470201)
@@ -1,63 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <[email protected]>
-Date: Sat, 7 Jan 2023 16:18:03 +0100
-Subject: [PATCH] Support zxing-c++ 2.0
-
-format is a C++ string in 2.0
----
- subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-index 7836dbbcf18e..a8a0f7b49aa4 100644
---- a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-+++ b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-@@ -62,6 +62,7 @@
-
- #include "ReadBarcode.h"
- #include "TextUtfEncoding.h"
-+#include "ZXVersion.h"
-
- using namespace ZXing;
-
-@@ -369,32 +370,40 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter,
GstVideoFrame * frame)
- if (result.isValid ()) {
- GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
- result.text ().c_str (),
-+#if ZXING_VERSION_MAJOR >= 2
-+ ToString (result.format ()).c_str ());
-+#else
- ToString (result.format ()));
-+#endif
- } else {
- goto out;
- }
-
- /* extract results */
- if (zxing->message) {
- GstMessage *m;
- GstStructure *s;
- GstSample *sample;
- GstCaps *sample_caps;
- GstClockTime timestamp, running_time, stream_time;
-
- timestamp = GST_BUFFER_TIMESTAMP (frame->buffer);
- running_time =
- gst_segment_to_running_time (&GST_BASE_TRANSFORM (zxing)->segment,
- GST_FORMAT_TIME, timestamp);
- stream_time =
- gst_segment_to_stream_time (&GST_BASE_TRANSFORM (zxing)->segment,
- GST_FORMAT_TIME, timestamp);
-
- s = gst_structure_new ("barcode",
- "timestamp", G_TYPE_UINT64, timestamp,
- "stream-time", G_TYPE_UINT64, stream_time,
- "running-time", G_TYPE_UINT64, running_time,
-+#if ZXING_VERSION_MAJOR >= 2
-+ "type", G_TYPE_STRING, ToString (result.format ()).c_str (),
-+#else
- "type", G_TYPE_STRING, ToString (result.format ()),
-+#endif
- "symbol", G_TYPE_STRING,
- result.text ().c_str (), NULL);
-
Copied: gstreamer/trunk/0002-zxing-update-to-2.0.0-tag.patch (from rev 469280,
gstreamer/trunk/0002-Support-zxing-c-2.0.patch)
===================================================================
--- 0002-zxing-update-to-2.0.0-tag.patch (rev 0)
+++ 0002-zxing-update-to-2.0.0-tag.patch 2023-03-03 19:22:44 UTC (rev
470201)
@@ -0,0 +1,62 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <[email protected]>
+Date: Fri, 3 Mar 2023 16:46:35 +0000
+Subject: [PATCH] zxing: update to 2.0.0 tag
+
+---
+ subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp | 4 ++--
+ subprojects/gst-plugins-bad/ext/zxing/meson.build | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
+index 7836dbbcf18e..a7a24168383f 100644
+--- a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
++++ b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
+@@ -369,32 +369,32 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter,
GstVideoFrame * frame)
+ if (result.isValid ()) {
+ GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
+ result.text ().c_str (),
+- ToString (result.format ()));
++ ToString (result.format ()).c_str ());
+ } else {
+ goto out;
+ }
+
+ /* extract results */
+ if (zxing->message) {
+ GstMessage *m;
+ GstStructure *s;
+ GstSample *sample;
+ GstCaps *sample_caps;
+ GstClockTime timestamp, running_time, stream_time;
+
+ timestamp = GST_BUFFER_TIMESTAMP (frame->buffer);
+ running_time =
+ gst_segment_to_running_time (&GST_BASE_TRANSFORM (zxing)->segment,
+ GST_FORMAT_TIME, timestamp);
+ stream_time =
+ gst_segment_to_stream_time (&GST_BASE_TRANSFORM (zxing)->segment,
+ GST_FORMAT_TIME, timestamp);
+
+ s = gst_structure_new ("barcode",
+ "timestamp", G_TYPE_UINT64, timestamp,
+ "stream-time", G_TYPE_UINT64, stream_time,
+ "running-time", G_TYPE_UINT64, running_time,
+- "type", G_TYPE_STRING, ToString (result.format ()),
++ "type", G_TYPE_STRING, ToString (result.format ()).c_str (),
+ "symbol", G_TYPE_STRING,
+ result.text ().c_str (), NULL);
+
+diff --git a/subprojects/gst-plugins-bad/ext/zxing/meson.build
b/subprojects/gst-plugins-bad/ext/zxing/meson.build
+index 2dbad9ab1eea..89e1f6592e7a 100644
+--- a/subprojects/gst-plugins-bad/ext/zxing/meson.build
++++ b/subprojects/gst-plugins-bad/ext/zxing/meson.build
+@@ -2,7 +2,7 @@ zxing_sources = [
+ 'gstzxing.cpp',
+ 'gstzxingplugin.c',
+ ]
+-zxing_dep = dependency('zxing', version : '>= 1.4.0', required :
get_option('zxing'))
++zxing_dep = dependency('zxing', version : '>= 2.0.0', required :
get_option('zxing'))
+ if zxing_dep.found()
+ gstzxing = library('gstzxing',
+ zxing_sources,
Added: 0003-imagesequencesrc-Properly-set-default-location.patch
===================================================================
--- 0003-imagesequencesrc-Properly-set-default-location.patch
(rev 0)
+++ 0003-imagesequencesrc-Properly-set-default-location.patch 2023-03-03
19:22:44 UTC (rev 470201)
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <[email protected]>
+Date: Fri, 3 Mar 2023 18:40:22 +0000
+Subject: [PATCH] imagesequencesrc: Properly set default location
+
+Noticed this because the generic_states test kept segfaulting at random.
+GLibC 2.37 can crash when NULL is supplied as a format string.
+---
+ .../gst-plugins-good/gst/multifile/gstimagesequencesrc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
b/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
+index 8581e73e3a94..3d59ec74a7c9 100644
+--- a/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
++++ b/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
+@@ -356,7 +356,7 @@ gst_image_sequence_src_init (GstImageSequenceSrc * self)
+ self->start_index = DEFAULT_START_INDEX;
+ self->index = 0;
+ self->stop_index = DEFAULT_STOP_INDEX;
+- self->path = NULL;
++ self->path = g_strdup (DEFAULT_LOCATION);
+ self->caps = NULL;
+ self->n_frames = 0;
+ self->fps_n = 30;
Deleted: 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
===================================================================
--- 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch 2023-03-03
18:28:09 UTC (rev 470200)
+++ 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch 2023-03-03
19:22:44 UTC (rev 470201)
@@ -1,25 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <[email protected]>
-Date: Tue, 24 Jan 2023 02:52:49 +0000
-Subject: [PATCH] vaapi: Skip plugin pc file for shared plugins
-
-Following similar logic in the other subprojects.
----
- subprojects/gstreamer-vaapi/meson.build | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/subprojects/gstreamer-vaapi/meson.build
b/subprojects/gstreamer-vaapi/meson.build
-index 4f8e6d27f9a3..5f8b5159dee2 100644
---- a/subprojects/gstreamer-vaapi/meson.build
-+++ b/subprojects/gstreamer-vaapi/meson.build
-@@ -240,6 +240,10 @@ meson.add_dist_script('scripts/gen-changelog.py',
meson.project_name(), '1.20.0'
-
- pkgconfig = import('pkgconfig')
- plugins_pkgconfig_install_dir = join_paths(plugins_install_dir, 'pkgconfig')
-+if get_option('default_library') == 'shared'
-+ # If we don't build static plugins there is no need to generate pc files
-+ plugins_pkgconfig_install_dir = disabler()
-+endif
-
- plugin_names = []
- gst_plugins = []
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2023-03-03 18:28:09 UTC (rev 470200)
+++ PKGBUILD 2023-03-03 19:22:44 UTC (rev 470201)
@@ -26,7 +26,7 @@
gstreamer-docs
)
pkgver=1.22.0
-pkgrel=4
+pkgrel=5
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
@@ -51,11 +51,11 @@
# gst-plugins-bad
opencv vulkan-icd-loader vulkan-headers vulkan-validation-layers shaderc
libltc bluez-libs libavtp libbs2b bzip2 chromaprint libdca faac faad2
- libfdk-aac fluidsynth libgme libkate liblrdf ladspa libde265 lilv lv2
- libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc
soundtouch
- spandsp libsrtp svt-hevc zvbi libnice webrtc-audio-processing wildmidi
- zxing-cpp zbar libxml2 gsm libopenmpt wpewebkit libldac libfreeaptx qrencode
- json-glib libva libxkbcommon-x11
+ libfdk-aac fluidsynth libgme libkate liblrdf ladspa libde265 lilv libmodplug
+ lv2 libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc
+ soundtouch spandsp libsrtp svt-hevc zvbi libnice webrtc-audio-processing
+ wildmidi zxing-cpp zbar libxml2 gsm libopenmpt wpewebkit libldac libfreeaptx
+ qrencode json-glib libva libxkbcommon-x11
# gst-plugins-ugly
a52dec opencore-amr libcdio libdvdread libmpeg2 libsidplay x264
@@ -74,28 +74,34 @@
"git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver"
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
0001-HACK-meson-Disable-broken-tests.patch
- 0002-Support-zxing-c-2.0.patch
- 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
+ 0002-zxing-update-to-2.0.0-tag.patch
+ 0003-imagesequencesrc-Properly-set-default-location.patch
)
b2sums=('SKIP'
'78152f7dccbefa6a8bb2c844b4ef4e1eab97c6e54a017bbe896fe3afb646942449a87387c66499f454e968b63f00a8040c9360ca7248c6dd7819228cf22fd94f'
'SKIP'
-
'a90340cd3285882fb8416aae8bce44e3354e43790b947c93c749bc6dce8fa74c900ae933eb24ec872b319dffe16d42eaef6f6d41ddeccd61ea093b2b46e89e3b'
-
'88af02805ab7a0a6f79fd1fbf56206b6325f1bbeef9415d8bead83331dc04bddf28f4731bc1ab60b37fc7bd1473547838f4de930d9179e842b6190aee7e068a4'
-
'621ed5ad8051fa513c8ebd987b5a856bf4468f7d0150673783b4010b5c87b0a5ec7f62e402bbea1de493c5d029f3c3f1897cf9289e2168c430632e12ff80c423')
+
'84a85c03a51343ef5be3ca8911b6204ec634409f12838ad258ff8ff8074fec374ce72e2432b2a0911435b52978fa5e5a52b849bb008c4aecba0f903df5159081'
+
'9934ab83fb55e2c8b48ede8d1d018d3757725dc869bb9fe20bd66982d04ca164f41a07968c83105be96e4262fd05d9917ed365cd7eb360259174ee9ba6d8f1ad'
+
'fd5bfeaf5a08f225bfb81df1beac55c3d7332aa4ffb1ba0a3e662dccea6b5ca43eecee92578c54d2fc1e3aa2edc73eb09a02e9c0a8ac3ad2002995a6a0396fa2')
validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller
<[email protected]>
prepare() {
cd gstreamer
+ # Fix install
+ git cherry-pick -n bfe16f29a70d9fd0799472cc224620db239e27d9
+
+ # Fix build with ffmpeg 6.0
+ git cherry-pick -n cde31d23c071ee93fae96331805f696856084254
+
# Disable broken tests
git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch
# Fix build with zxing-cpp 2.0
- git apply -3 ../0002-Support-zxing-c-2.0.patch
+ git apply -3 ../0002-zxing-update-to-2.0.0-tag.patch
- # Fix install
- git apply -3 ../0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
+ # Fix crash
+ git apply -3 ../0003-imagesequencesrc-Properly-set-default-location.patch
}
build() {
@@ -156,8 +162,8 @@
}
check() (
- mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
- export XDG_RUNTIME_DIR
+ export XDG_RUNTIME_DIR="$PWD/runtime-dir"
+ mkdir -p -m 700 "$XDG_RUNTIME_DIR"
# Flaky due to timeouts
xvfb-run -s '-nolisten local' \
@@ -215,7 +221,7 @@
depends=(
"gst-plugins-base-libs=$pkgver"
orc libdrm libx11 libgudev libusb libxkbcommon-x11 libva libnice
- vulkan-icd-loader wayland
+ vulkan-icd-loader wayland wayland-protocols
)
cd root; local files=(