Summary: | media-libs/gstreamer-1.24 version bump request | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mark <mark.morschhaeuser> |
Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alexey_gentoo, contact, cyrilmaley, gentoo, guillaume, idarktemplar, ivo97, joakim.tjernlund, jospezial, luzpaz, mark.morschhaeuser, pacho, poncho, reagentoo, wgh |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/38635 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 947509 | ||
Bug Blocks: | 948198, 926789, 940487 | ||
Attachments: |
Update for gstreamer, gst-plugins-{base,good,bad,ugly} and 19 gst-plugins
media-libs/gstreamer-full-9999.ebuild ansible playbook to create a bunch of gstreamer and gst-* ebuilds |
Description
Mark
2024-05-23 11:28:51 UTC
Now there is 1.24.4: Highlighted bugfixes: audioconvert: support more than 64 audio channels avvidec: fix dropped frames when doing multi-threaded decoding of I-frame codecs such as DV Video mpegtsmux: Correctly time out in live pipelines, esp. for sparse streams like KLV and DVB subtitles vtdec deadlock fixes on shutdown and format/resolution changes (as might happen with e.g. HLS/DASH) fmp4mux, isomp4mux: Add support for adding AV1 header OBUs into the MP4 headers, and add language from tags gtk4paintablesink improvements: fullscreen mode and gst-play-1.0 support webrtcsink: add support for insecure TLS and imrpove error handling and VP9 handling vah264enc, vah265enc: timestamp handling fixes; generate IDR frames on force-keyunit-requests, not I frames v4l2codecs: decoder: Reorder caps to prefer `DMA_DRM` ones, fixes issues with playbin3 Visualizer plugins fixes Avoid using private APIs on iOS various bug fixes, memory leak fixes, and other stability and reliability improvements Created attachment 897318 [details, diff]
Update for gstreamer, gst-plugins-{base,good,bad,ugly} and 19 gst-plugins
Here is a portage tree patch from current master to update gstreamer, gst-plugins-{base,good,bad,ugly} and 19 gst-plugins to version 1.24.5.
The only ebuild file that required a change was gst-plugins-bad: I removed the 2 patches because it seems they were applied upstream.
All other packages are simple file renames.
I did not touch the 50 other plugin packages and leave that for others to do.
Updating the system with the new packages did not require any rebuilds, it seems to be a simple version bump.
I wonder if the bug's title needs to be adjusted to reflect that this is a version bump request? https://gstreamer.freedesktop.org/releases/1.24/#1.24.6 Mark, maybe a pull request from you (or whoever can) could bring this faster into Gentoo. 1.24.6 The sixth 1.24 bug-fix release (1.24.6) was released on 29 July 2024. This release only contains bugfixes and it should be safe to update from 1.24.x. Highlighted bugfixes in 1.24.6 Fix compatibility with FFmpeg 7.0 qmlglsink: Fix failure to display content on recent Android devices adaptivedemux: Fix handling of closed caption streams cuda: Fix runtime compiler loading with old CUDA tookit decodebin3 stream selection handling fixes d3d11compositor, d3d12compositor: Fix transparent background mode with YUV output d3d12converter: Make gamma remap work as intended h264decoder: Update output frame duration for interlaced video when second field frame is discarded macOS audio device provider now listens to audio devices being added/removed at runtime Rust plugins: audioloudnorm, s3hlssink, gtk4paintablesink, livesync and webrtcsink fixes videoaggregator: preserve features in non-alpha caps for subclasses with non-system memory sink caps vtenc: Fix redistribute latency spam v4l2: fixes for complex video formats va: Fix strides when importing DMABUFs, dmabuf handle leaks, and blocklist unmaintained Intel i965 driver for encoding waylandsink: Fix surface cropping for rotated streams webrtcdsp: Enable multi_channel processing to fix handling of stereo streams Various bug fixes, memory leak fixes, and other stability and reliability improvements (In reply to jospezial from comment #4) > https://gstreamer.freedesktop.org/releases/1.24/#1.24.6 > > Mark, maybe a pull request from you (or whoever can) could bring this faster > into Gentoo. I see that the developer who committed the last gst packages in the portage tree is very, very busy with package updates all over the portage tree so we have to be patient, or commit some serious effort: There are about 80 packages that need to be updated for every gst update. That calls for a script that does the version bumps (otherwise we do this again every 2 months) and an auto test to install all the new packages to verify if they all still install. I assume the maintainers have something like that (everything else would be very tedious and time consuming) and I don't want to reinvent the wheel, especially as developing this is a fulltime job of about a week for writing, testing and documenting the script, an automated testing environment and applying possible fixes to the ebuilds that break, plus review time etc. I could be hired for such a project though, likely next week :-) (In reply to Mark from comment #5) > There are about 80 packages that need to be updated for every gst update ... Somewhere along the way, Gentoo decided that splitting Gstreamer into a bazillion pieces was somehow a good idea. Maybe it is time to rethink that. I have been using media-libs/gstreamer-full-9999.ebuild on my machines for a while now, and it seems to work fairly well. As an added bonus, it is about an order of magnitude faster to compile and install compared to the split-up gstreamer. > (In reply to Mark from comment #5) > I have been using media-libs/gstreamer-full-9999.ebuild on my machines for a > while now, and it seems to work fairly well. As an added bonus, it is about > an order of magnitude faster to compile and install compared to the split-up > gstreamer. Can't find it. Created attachment 898793 [details]
media-libs/gstreamer-full-9999.ebuild
gstreamer-full is from my local overlay. It is a lazy ebuild, and most of the dependencies are automagic, so not suitable for ::gentoo at this time.
The split doesn't really make a difference as far as I'm aware, given it's easy to script. The amount to diff between new versions is the same (huge). That is, the hard part with gst is that while upstream are friendly, each release (and even point releases) often introduce automagic deps or broken build system bits. diffing the build system changes between releases is required for things to be correct for everybody, and that's the time-consuming bit. Then implementing workarounds, patches, and reporting the issues upstream. https://github.com/gentoo/gentoo/pull/38635 "media-libs/gstreamer: Bump to 1.24.6, eclass/gstreamer-meson.eclass: Support python 13, media-libs/gst-plugins-bad, media-libs/gst-plugins-base, media-libs/gst-plugins-good, media-libs/gst-plugins-ugly, media-libs/gst-rtsp-server, media-libs/gstreamer-editing-services: Bump to 1.24.6, media-plugins/gst-plugins*: Bump to 1.24.6" GStreamer 1.24.9 stable bug fix release This release only contains bugfixes and a security fix and it should be safe to update from 1.24.x. Highlighted bugfixes: gst-rtsp-server security fix GstAggregator start time selection and latency query fixes for force-live mode audioconvert: fix dynamic handling of mix matrix, and accept custom upstream event for setting one encodebin: fix parser selection for encoders that support multiple codecs flvmux improvments for pipelines where timestamps don't start at 0 glcontext: egl: Unrestrict the support base DRM formats kms: Add IMX-DCSS auto-detection in sink and fix stride with planar formats in allocator macOS main application event loop fixes mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true playbin3, decodebin3, parsebin, urisourcebin: fix races, and improve stability and stream-collection handling rtpmanager: fix early RTCP SR generation for sparse streams like metadata qml6glsrc: Reduce capture delay qtdemux: fix parsing of rotation matrix with 180 degree rotation rtpav1depay: added wait-for-keyframe and request-keyframe properties srt: make work with newer libsrt versions and don't re-connect on authentication failure v4l2 fixes and improvement webrtcsink, webrtcbin and whepsrc fixes cerbero: fix Python 3.13 compatibility, g-i with newer setuptools, bootstrap on Arch Linux; iOS build fixes Ship qroverlay plugin in binary packages Various bug fixes, memory leak fixes, and other stability and reliability improvements Created attachment 907847 [details]
ansible playbook to create a bunch of gstreamer and gst-* ebuilds
I wrote an ansible playbook that creates a ton of the gstreamer ebuilds (at least those that I personally use).
The playbook.yml file allows to define any version number and any deployment path (default is /usr/local/portage).
I included a readme file how to use the playbook for those unfamiliar with ansible. Feel free to extend the gstreamer role to include the 10000 other gst-* ebuilds, the readme describes how this works, it is pretty trivial:
copy the current gst-*/foo.ebuild files into the templates directory, remove the version number from the filenames and add a .j2 suffix, then add it to the lists in the tasks/main.yml
I just ran the playbook and updated all the packages. For me the update to 1.24.9 took like 15 minutes now.
Since this bump has been stalled for a long time, can I suggest that the "scripted bump" is performed and then commit the new ebuilds masked? Then interested parties can test and suggest fixes where needed. *** Bug 945387 has been marked as a duplicate of this bug. *** Also blocks Bug 928905. ffmpeg-7 support was merged in 1.24.6. GStreamer 1.24.10 stable bug fix release Highlighted bugfixes: More than 40 security fixes across a wide range of elements following an audit by the GitHub Security Lab, including the MP4, Matroska, Ogg and WAV demuxers, subtitle parsers, image decoders, audio decoders and the id3v2 tag parser avviddec: Fix regression that could trigger assertions about width/height mismatches appsink and appsrc fixes closed caption handling fixes decodebin3 and urisourcebin fixes glupload: dmabuf: Fix emulated tiled import level: fix LevelMeta values outside of the stated range mpegtsmux, flvmux: fix potential busy looping with high cpu usage in live mode pipeline dot file graph generation improvements qt(6): fix criticals with multiple qml(6)gl{src,sink} rtspsrc: Optionally timestamp RTP packets with their receive times in TCP/HTTP mode to enable clock drift handling splitmuxsrc: reduce number of file descriptors used systemclock: locking order fixes v4l2: fix possible v4l2videodec deadlock on shutdown; 8-bit bayer format fixes x265: Fix build with libx265 version >= 4.1 after masteringDisplayColorVolume API change macOS: fix rendering artifacts in retina displays, plus ptp clock fixes cargo: Default to thin lto for the release profile (for faster builds with lower memory requirements) Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements Translation updates *** Bug 945919 has been marked as a duplicate of this bug. *** I've done 1.22.12 (final bump for 1.22.x), I'll look at 1.24.x over the next few days. I have a branch nearly good to go. I did have to do it all from scratch, though. A lot of changes were needed to accommodate upstream. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66cab56299c9d5316695b42120e596439e952fbb commit 66cab56299c9d5316695b42120e596439e952fbb Author: Sam James <sam@gentoo.org> AuthorDate: 2024-12-24 10:24:19 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-01-04 21:31:38 +0000 media-libs/gstreamer: add 1.24.10 Closes: https://bugs.gentoo.org/932556 Signed-off-by: Sam James <sam@gentoo.org> media-libs/gstreamer/Manifest | 1 + ...reamer-1.24.10-disable-test-with-no-tools.patch | 18 ++++++ media-libs/gstreamer/gstreamer-1.24.10.ebuild | 73 ++++++++++++++++++++++ media-libs/gstreamer/metadata.xml | 2 + profiles/features/wd40/package.use.mask | 6 +- 5 files changed, 99 insertions(+), 1 deletion(-) Please file new, individual bugs for any issues that arise. Thanks. Thank you for the version bump, Sam. It's much appreciated. 👍 (In reply to poncho from comment #23) > Thank you for the version bump, Sam. It's much appreciated. 👍 ❤️ |