Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 932556 - media-libs/gstreamer-1.24 version bump request
Summary: media-libs/gstreamer-1.24 version bump request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords:
: 945387 945919 (view as bug list)
Depends on: 947509
Blocks: CVE-2024-44331, CVE-2024-47537, CVE-2024-47538, CVE-2024-47539, CVE-2024-47540, CVE-2024-47541, CVE-2024-47542, CVE-2024-47543, CVE-2024-47544, CVE-2024-47545, CVE-2024-47546, CVE-2024-47596, CVE-2024-47597, CVE-2024-47598, CVE-2024-47599, CVE-2024-47600, CVE-2024-47601, CVE-2024-47602, CVE-2024-47603, CVE-2024-47606, CVE-2024-47607, CVE-2024-47613, CVE-2024-47615, CVE-2024-47774, CVE-2024-47775, CVE-2024-47776, CVE-2024-47777, CVE-2024-47778, CVE-2024-47834, CVE-2024-47835, GHSL-2024-094, GHSL-2024-115, GHSL-2024-116, GHSL-2024-117, GHSL-2024-118, GHSL-2024-166, GHSL-2024-195, GHSL-2024-197, GHSL-2024-228, GHSL-2024-235, GHSL-2024-236, GHSL-2024-238, GHSL-2024-242, GHSL-2024-243, GHSL-2024-244, GHSL-2024-245, GHSL-2024-246, GHSL-2024-247, GHSL-2024-248, GHSL-2024-249, GHSL-2024-250, GHSL-2024-251, GHSL-2024-258, GHSL-2024-259, GHSL-2024-260, GHSL-2024-261, GHSL-2024-262, GHSL-2024-263, GHSL-2024-280, GStreamer-SA-2024-0003, GStreamer-SA-2024-0004 926789 940487
  Show dependency tree
 
Reported: 2024-05-23 11:28 UTC by Mark
Modified: 2025-01-16 18:52 UTC (History)
15 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Update for gstreamer, gst-plugins-{base,good,bad,ugly} and 19 gst-plugins (1.24.5.patch,60.50 KB, patch)
2024-07-08 11:20 UTC, Mark
Details | Diff
media-libs/gstreamer-full-9999.ebuild (gstreamer-full-9999.ebuild,9.45 KB, text/plain)
2024-08-01 19:33 UTC, cyrillic
Details
ansible playbook to create a bunch of gstreamer and gst-* ebuilds (gstreamer.tar.xz,10.29 KB, application/x-xz)
2024-11-04 10:11 UTC, Mark
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark 2024-05-23 11:28:51 UTC
The site https://gstreamer.freedesktop.org/releases/1.22/ states "The GStreamer 1.22 stable series has since been superseded by the GStreamer 1.24 stable release series."

The current release is 1.24.3, the release notes can be found here: https://gstreamer.freedesktop.org/releases/1.24/

Reproducible: Always
Comment 1 Joakim Tjernlund 2024-05-30 18:06:58 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
Comment 2 Mark 2024-07-08 11:20:25 UTC
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.
Comment 3 Michael Jones 2024-07-16 08:50:06 UTC
I wonder if the bug's title needs to be adjusted to reflect that this is a version bump request?
Comment 4 jospezial 2024-07-29 19:26:25 UTC
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
Comment 5 Mark 2024-07-30 09:06:07 UTC
(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 :-)
Comment 6 cyrillic 2024-08-01 13:28:15 UTC
(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.
Comment 7 jospezial 2024-08-01 18:48:18 UTC
> (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.
Comment 8 cyrillic 2024-08-01 19:33:57 UTC
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.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-17 07:28:21 UTC
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).
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-17 07:34:13 UTC
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.
Comment 11 jospezial 2024-09-29 01:13:55 UTC
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"
Comment 12 Joakim Tjernlund 2024-11-03 12:06:56 UTC
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
Comment 13 Mark 2024-11-04 10:11:06 UTC
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.
Comment 14 Joakim Tjernlund 2024-11-15 12:23:55 UTC
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.
Comment 15 Alexey Chernyak 2024-11-30 07:03:03 UTC
*** Bug 945387 has been marked as a duplicate of this bug. ***
Comment 16 Alexey Chernyak 2024-11-30 07:08:54 UTC
Also blocks Bug 928905.

ffmpeg-7 support was merged in 1.24.6.
Comment 17 Joakim Tjernlund 2024-12-04 07:24:44 UTC
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
Comment 18 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-05 16:54:53 UTC
*** Bug 945919 has been marked as a duplicate of this bug. ***
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-24 10:21:00 UTC
I've done 1.22.12 (final bump for 1.22.x), I'll look at 1.24.x over the next few days.
Comment 20 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-04 21:21:02 UTC
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.
Comment 21 Larry the Git Cow gentoo-dev 2025-01-04 21:34:03 UTC
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(-)
Comment 22 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-04 21:34:20 UTC
Please file new, individual bugs for any issues that arise. Thanks.
Comment 23 poncho 2025-01-04 22:12:53 UTC
Thank you for the version bump, Sam. It's much appreciated. 👍
Comment 24 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-05 01:11:00 UTC
(In reply to poncho from comment #23)
> Thank you for the version bump, Sam. It's much appreciated. 👍

❤️