Skip to content
Snippets Groups Projects
Verified Commit 60d15d8d authored by Jan Alexander Steffens (heftig)'s avatar Jan Alexander Steffens (heftig)
Browse files

1.24.4-1

parent f7119550
No related branches found
Tags 1.24.10-2
No related merge requests found
pkgbase = gstreamer
pkgdesc = Multimedia graph framework
pkgver = 1.24.3
pkgrel = 2
pkgver = 1.24.4
pkgrel = 1
url = https://gstreamer.freedesktop.org/
arch = x86_64
license = LGPL-2.1-or-later
......@@ -137,17 +137,17 @@ pkgbase = gstreamer
makedepends = libxrandr
makedepends = python-gobject
makedepends = python-setuptools
source = git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=1.24.3
source = https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.24.3.tar.xz
source = https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.24.3.tar.xz.asc
source = git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=1.24.4
source = https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.24.4.tar.xz
source = https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.24.4.tar.xz.asc
source = 0001-HACK-meson-Disable-broken-tests.patch
source = 0002-Fix-build-with-FFmpeg-7.patch
source = 0002-libav-Fix-compatibility-with-ffmpeg-7.patch
validpgpkeys = D637032E45B8C6585B9456565D2EEE6F6F349D7C
b2sums = ba36061add5b081291b2f6a18b14e2c6cf1f2796b503bc7053e4c059f3d10620ece05b52590151f7e35f2e8919a0f2cfa3372ba24ff0a15beeb4d670c7df3ccd
b2sums = 118ad62b9e1072a8f1399c2984c74745c2c1572b9f244bd108b23821d2957bcb1938010f37ec3ab6ac4a40989dd6e54898b5ab669fd142891d4cba4c44b6fd9f
b2sums = 37d5e65358a9b7491c6076a814595c1da1b6d5478fc6b777e53e2966ad0eaf57802477315cbc8c4518abcdc7c908687e4397bcbd535ebff655cb96793a68d8fb
b2sums = e8163c2fb5206f4d100c640504d373bf0118ff90dc886168c2976429b230f4f3a154e77f46275c080f936fe3c78bc3c5018c47f21e816188dfab1df7b4c9ddce
b2sums = SKIP
b2sums = e7c59c828883a3bb3aa47684d83b57cd4d463e1f8cffc0383f779fa60ecbe37bfa30c8a0f40e6b2a01f6e0edfbefc5b7041340837e0018741e5963671945a1f2
b2sums = 696dd7a38465f96bf3e48f66c290febfdadd80a75637ee7b8a13929a773330560852cbe85c37bbf5d4cb821fec5d9ae4036e11ef528fe8cbbb93dfe16e723fdf
b2sums = 11e4af4a3697ddfa1c671d2d965b3765e4dce7ea544b634e1062c8257d1e4777908ede233c0b021460f5e54931c48fe3666dde92c1a350cab194b414566a2239
b2sums = 4692623d2c7b0c6b2c81772abc11a385fad53b00476600e859b980f1c2925f43ffd71b4b8f55b0d61f3a6313530690c512f92eaa59a97b6a0aef735e1da8c8e6
pkgname = gstreamer
pkgdesc = Multimedia graph framework - core
......@@ -161,7 +161,7 @@ pkgname = gstreamer
pkgname = gst-plugins-bad-libs
pkgdesc = Multimedia graph framework - bad
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = libdrm
depends = libgudev
depends = libnice
......@@ -175,7 +175,7 @@ pkgname = gst-plugins-bad-libs
pkgname = gst-plugins-base-libs
pkgdesc = Multimedia graph framework - base
depends = gstreamer=1.24.3
depends = gstreamer=1.24.4
depends = iso-codes
depends = libdrm
depends = libgl
......@@ -188,7 +188,7 @@ pkgname = gst-plugins-base-libs
pkgname = gst-plugins-base
pkgdesc = Multimedia graph framework - base plugins
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = alsa-lib
depends = cdparanoia
depends = graphene
......@@ -201,7 +201,7 @@ pkgname = gst-plugins-base
pkgname = gst-plugins-good
pkgdesc = Multimedia graph framework - good plugins
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = aalib
depends = cairo
depends = flac
......@@ -231,7 +231,7 @@ pkgname = gst-plugins-good
pkgname = gst-plugins-bad
pkgdesc = Multimedia graph framework - bad plugins
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
depends = aom
depends = bzip2
depends = chromaprint
......@@ -293,50 +293,50 @@ pkgname = gst-plugins-bad
pkgname = gst-plugin-gtk
pkgdesc = Multimedia graph framework - gtk plugin
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
depends = gtk3
pkgname = gst-plugin-msdk
pkgdesc = Multimedia graph framework - msdk plugin
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
depends = libvpl
pkgname = gst-plugin-opencv
pkgdesc = Multimedia graph framework - opencv plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = opencv
pkgname = gst-plugin-qml6
pkgdesc = Multimedia graph framework - qml6 plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = qt6-declarative
depends = qt6-wayland
pkgname = gst-plugin-qmlgl
pkgdesc = Multimedia graph framework - qmlgl plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = qt5-declarative
depends = qt5-wayland
depends = qt5-x11extras
pkgname = gst-plugin-qsv
pkgdesc = Multimedia graph framework - qsv plugin
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
optdepends = intel-media-sdk: runtime for legacy Intel GPUs
optdepends = onevpl-intel-gpu: runtime for Tiger Lake and newer GPUs
pkgname = gst-plugin-va
pkgdesc = Multimedia graph framework - va plugin
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
pkgname = gst-plugin-wpe
pkgdesc = Multimedia graph framework - wpe plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = wpewebkit
pkgname = gst-plugins-ugly
pkgdesc = Multimedia graph framework - ugly plugins
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = a52dec
depends = libcdio
depends = libdvdread
......@@ -345,43 +345,43 @@ pkgname = gst-plugins-ugly
pkgname = gst-libav
pkgdesc = Multimedia graph framework - libav plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = bzip2
depends = ffmpeg
provides = gst-ffmpeg=1.24.3
provides = gst-ffmpeg=1.24.4
pkgname = gst-devtools-libs
pkgdesc = Multimedia graph framework - development and debugging libraries
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = json-glib
pkgname = gst-devtools
pkgdesc = Multimedia graph framework - development and debugging tools
depends = gst-devtools-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.3
depends = gst-rtsp-server=1.24.3
depends = gst-devtools-libs=1.24.4
depends = gst-plugins-bad-libs=1.24.4
depends = gst-rtsp-server=1.24.4
depends = gtk3
depends = python-gobject
pkgname = gst-rtsp-server
pkgdesc = Multimedia graph framework - rtsp server
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
pkgname = gst-editing-services
pkgdesc = Multimedia graph framework - editing services
depends = gst-devtools-libs=1.24.3
depends = gst-plugins-base-libs=1.24.3
depends = gst-python=1.24.3
depends = gst-devtools-libs=1.24.4
depends = gst-plugins-base-libs=1.24.4
depends = gst-python=1.24.4
optdepends = opentimelineio: Support for the OpenTimelineIO format
pkgname = gstreamer-vaapi
pkgdesc = Multimedia graph framework - vaapi plugin
depends = gst-plugins-bad-libs=1.24.3
depends = gst-plugins-bad-libs=1.24.4
depends = libxrandr
pkgname = gst-python
pkgdesc = Multimedia graph framework - python plugin
depends = gst-plugins-base-libs=1.24.3
depends = gst-plugins-base-libs=1.24.4
depends = python-gobject
pkgname = gstreamer-docs
......
......@@ -66,10 +66,10 @@ index 5ee2ca1efaac..a6a692ee26a1 100644
return s;
diff --git a/subprojects/gst-plugins-bad/tests/check/meson.build b/subprojects/gst-plugins-bad/tests/check/meson.build
index 3c64a3641aa7..dc00f8d81b0a 100644
index 40006d09bde6..bcd667d52d97 100644
--- a/subprojects/gst-plugins-bad/tests/check/meson.build
+++ b/subprojects/gst-plugins-bad/tests/check/meson.build
@@ -152,7 +152,6 @@ if host_machine.system() != 'windows'
@@ -153,7 +153,6 @@ if host_machine.system() != 'windows'
[['elements/jifmux.c'],
not exif_dep.found() or not cdata.has('HAVE_UNISTD_H'), [exif_dep]],
[['elements/jpegparse.c'], not cdata.has('HAVE_UNISTD_H')],
......@@ -122,7 +122,7 @@ index 6efa928fb09b..1f1950ef323d 100644
tcase_add_test (tc_chain, test_video_caps_change_streamable);
tcase_add_test (tc_chain, test_audio_caps_change_streamable_single);
diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build
index c470158893f3..cee44f2e7480 100644
index 68b022785b3f..da91beb0a8d8 100644
--- a/subprojects/gstreamer-vaapi/meson.build
+++ b/subprojects/gstreamer-vaapi/meson.build
@@ -218,7 +218,6 @@ plugins = []
......
From 08f4d4708a955310099eba6dcdf1f1c8e3a903f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 2 Apr 2024 10:17:56 +0300
Subject: [PATCH] avdemux: Remove typefinder implementation
Direct access to AVInputFormat::read_probe() is not possible anymore
with ffmpeg 7.0, and the usefulness of this typefinder seems limited
anyway. An alternative implementation around av_probe_input_format3() or
similar would be possible but it would be going over all possible ffmpeg
probes at once.
Having a typefinder here means that basically every application will
load the gst-libav plugin when typefinding is necessary, which has
unnecessary performance impacts. If a typefinder from here was indeed
missing from typefindfunctions in gst-plugins-base then it would be
better to add it there directly.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3378
---
subprojects/gst-libav/ext/libav/gstavdemux.c | 100 +------------------
1 file changed, 1 insertion(+), 99 deletions(-)
diff --git a/subprojects/gst-libav/ext/libav/gstavdemux.c b/subprojects/gst-libav/ext/libav/gstavdemux.c
index ab6ac1b5c94..f07e7d3ffdf 100644
--- a/subprojects/gst-libav/ext/libav/gstavdemux.c
+++ b/subprojects/gst-libav/ext/libav/gstavdemux.c
@@ -1372,63 +1372,6 @@ beach:
}
}
-#define GST_FFMPEG_TYPE_FIND_SIZE 4096
-#define GST_FFMPEG_TYPE_FIND_MIN_SIZE 256
-
-static void
-gst_ffmpegdemux_type_find (GstTypeFind * tf, gpointer priv)
-{
- const guint8 *data;
- AVInputFormat *in_plugin = (AVInputFormat *) priv;
- gint res = 0;
- guint64 length;
- GstCaps *sinkcaps;
-
- /* We want GST_FFMPEG_TYPE_FIND_SIZE bytes, but if the file is shorter than
- * that we'll give it a try... */
- length = gst_type_find_get_length (tf);
- if (length == 0 || length > GST_FFMPEG_TYPE_FIND_SIZE)
- length = GST_FFMPEG_TYPE_FIND_SIZE;
-
- /* The ffmpeg typefinders assume there's a certain minimum amount of data
- * and will happily do invalid memory access if there isn't, so let's just
- * skip the ffmpeg typefinders if the data available is too short
- * (in which case it's unlikely to be a media file anyway) */
- if (length < GST_FFMPEG_TYPE_FIND_MIN_SIZE) {
- GST_LOG ("not typefinding %" G_GUINT64_FORMAT " bytes, too short", length);
- return;
- }
-
- GST_LOG ("typefinding %" G_GUINT64_FORMAT " bytes", length);
- if (in_plugin->read_probe &&
- (data = gst_type_find_peek (tf, 0, length)) != NULL) {
- AVProbeData probe_data;
-
- probe_data.filename = "";
- probe_data.buf = (guint8 *) data;
- probe_data.buf_size = length;
-
- res = in_plugin->read_probe (&probe_data);
- if (res > 0) {
- res = MAX (1, res * GST_TYPE_FIND_MAXIMUM / AVPROBE_SCORE_MAX);
- /* Restrict the probability for MPEG-TS streams, because there is
- * probably a better version in plugins-base, if the user has a recent
- * plugins-base (in fact we shouldn't even get here for ffmpeg mpegts or
- * mpegtsraw typefinders, since we blacklist them) */
- if (g_str_has_prefix (in_plugin->name, "mpegts"))
- res = MIN (res, GST_TYPE_FIND_POSSIBLE);
-
- sinkcaps = gst_ffmpeg_formatid_to_caps (in_plugin->name);
-
- GST_LOG ("libav typefinder '%s' suggests %" GST_PTR_FORMAT ", p=%u%%",
- in_plugin->name, sinkcaps, res);
-
- gst_type_find_suggest (tf, res, sinkcaps);
- gst_caps_unref (sinkcaps);
- }
- }
-}
-
/* Task */
static void
gst_ffmpegdemux_loop (GstFFMpegDemux * demux)
@@ -2055,7 +1998,6 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
while ((in_plugin = av_demuxer_iterate (&i))) {
gchar *type_name, *typefind_name;
gint rank;
- gboolean register_typefind_func = TRUE;
GST_LOG ("Attempting to handle libav demuxer plugin %s [%s]",
in_plugin->name, in_plugin->long_name);
@@ -2102,42 +2044,6 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
!strcmp (in_plugin->name, "ffmetadata"))
continue;
- /* Don't use the typefind functions of formats for which we already have
- * better typefind functions */
- if (!strcmp (in_plugin->name, "mov,mp4,m4a,3gp,3g2,mj2") ||
- !strcmp (in_plugin->name, "ass") ||
- !strcmp (in_plugin->name, "avi") ||
- !strcmp (in_plugin->name, "asf") ||
- !strcmp (in_plugin->name, "mpegvideo") ||
- !strcmp (in_plugin->name, "mp3") ||
- !strcmp (in_plugin->name, "matroska") ||
- !strcmp (in_plugin->name, "matroska_webm") ||
- !strcmp (in_plugin->name, "matroska,webm") ||
- !strcmp (in_plugin->name, "mpeg") ||
- !strcmp (in_plugin->name, "wav") ||
- !strcmp (in_plugin->name, "au") ||
- !strcmp (in_plugin->name, "tta") ||
- !strcmp (in_plugin->name, "rm") ||
- !strcmp (in_plugin->name, "amr") ||
- !strcmp (in_plugin->name, "ogg") ||
- !strcmp (in_plugin->name, "aiff") ||
- !strcmp (in_plugin->name, "ape") ||
- !strcmp (in_plugin->name, "dv") ||
- !strcmp (in_plugin->name, "flv") ||
- !strcmp (in_plugin->name, "mpc") ||
- !strcmp (in_plugin->name, "mpc8") ||
- !strcmp (in_plugin->name, "mpegts") ||
- !strcmp (in_plugin->name, "mpegtsraw") ||
- !strcmp (in_plugin->name, "mxf") ||
- !strcmp (in_plugin->name, "nuv") ||
- !strcmp (in_plugin->name, "swf") ||
- !strcmp (in_plugin->name, "voc") ||
- !strcmp (in_plugin->name, "pva") ||
- !strcmp (in_plugin->name, "gif") ||
- !strcmp (in_plugin->name, "vc1test") ||
- !strcmp (in_plugin->name, "ivf"))
- register_typefind_func = FALSE;
-
/* Set the rank of demuxers known to work to MARGINAL.
* Set demuxers for which we already have another implementation to NONE
* Set All others to NONE*/
@@ -2214,11 +2120,7 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
else
extensions = NULL;
- if (!gst_element_register (plugin, type_name, rank, type) ||
- (register_typefind_func == TRUE &&
- !gst_type_find_register (plugin, typefind_name, rank,
- gst_ffmpegdemux_type_find, extensions, NULL,
- (gpointer) in_plugin, NULL))) {
+ if (!gst_element_register (plugin, type_name, rank, type)) {
g_warning ("Registration of type %s failed", type_name);
g_free (type_name);
g_free (typefind_name);
--
GitLab
diff --git a/subprojects/gst-libav/ext/libav/gstavprotocol.c b/subprojects/gst-libav/ext/libav/gstavprotocol.c
index 249b240642..8537771143 100644
--- a/subprojects/gst-libav/ext/libav/gstavprotocol.c
+++ b/subprojects/gst-libav/ext/libav/gstavprotocol.c
@@ -102,7 +102,7 @@ gst_ffmpegdata_read (void *priv_data, unsigned char *buf, int size)
}
static int
-gst_ffmpegdata_write (void *priv_data, uint8_t * buf, int size)
+gst_ffmpegdata_write (void *priv_data, const uint8_t * buf, int size)
{
GstProtocolInfo *info;
GstBuffer *outbuf;
This diff is collapsed.
......@@ -27,8 +27,8 @@ pkgname=(
gst-python
gstreamer-docs
)
pkgver=1.24.3
pkgrel=2
pkgver=1.24.4
pkgrel=1
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
......@@ -81,13 +81,13 @@ source=(
"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-Fix-build-with-FFmpeg-7.patch
0002-libav-Fix-compatibility-with-ffmpeg-7.patch
)
b2sums=('ba36061add5b081291b2f6a18b14e2c6cf1f2796b503bc7053e4c059f3d10620ece05b52590151f7e35f2e8919a0f2cfa3372ba24ff0a15beeb4d670c7df3ccd'
'118ad62b9e1072a8f1399c2984c74745c2c1572b9f244bd108b23821d2957bcb1938010f37ec3ab6ac4a40989dd6e54898b5ab669fd142891d4cba4c44b6fd9f'
b2sums=('37d5e65358a9b7491c6076a814595c1da1b6d5478fc6b777e53e2966ad0eaf57802477315cbc8c4518abcdc7c908687e4397bcbd535ebff655cb96793a68d8fb'
'e8163c2fb5206f4d100c640504d373bf0118ff90dc886168c2976429b230f4f3a154e77f46275c080f936fe3c78bc3c5018c47f21e816188dfab1df7b4c9ddce'
'SKIP'
'e7c59c828883a3bb3aa47684d83b57cd4d463e1f8cffc0383f779fa60ecbe37bfa30c8a0f40e6b2a01f6e0edfbefc5b7041340837e0018741e5963671945a1f2'
'696dd7a38465f96bf3e48f66c290febfdadd80a75637ee7b8a13929a773330560852cbe85c37bbf5d4cb821fec5d9ae4036e11ef528fe8cbbb93dfe16e723fdf')
'11e4af4a3697ddfa1c671d2d965b3765e4dce7ea544b634e1062c8257d1e4777908ede233c0b021460f5e54931c48fe3666dde92c1a350cab194b414566a2239'
'4692623d2c7b0c6b2c81772abc11a385fad53b00476600e859b980f1c2925f43ffd71b4b8f55b0d61f3a6313530690c512f92eaa59a97b6a0aef735e1da8c8e6')
validpgpkeys=(
D637032E45B8C6585B9456565D2EEE6F6F349D7C # Tim Müller <tim@gstreamer-foundation.org>
)
......@@ -98,8 +98,9 @@ prepare() {
# Disable broken tests
git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch
# Fix build with FFmpeg 7
patch -p1 -i ../0002-Fix-build-with-FFmpeg-7.patch
# Fixes for FFmpeg 7
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505
git apply -3 ../0002-libav-Fix-compatibility-with-ffmpeg-7.patch
}
build() {
......@@ -152,7 +153,7 @@ build() {
export GI_SCANNER_DISABLE_CACHE=1
arch-meson gstreamer build "${meson_options[@]}"
meson configure build # Print config
meson configure build --no-pager # Print config
meson compile -C build
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment