Projects
Essentials
gstreamer-plugins-ugly-codecs
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 27
View file
gstreamer-plugins-ugly-codecs.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Feb 3 09:26:26 UTC 2025 - Bjørn Lie <zaitor@opensuse.org> + +- Update to version 1.24.12 + +------------------------------------------------------------------- Sat Jan 11 13:33:26 UTC 2025 - Bjørn Lie <zaitor@opensuse.org> - Update to version 1.24.11
View file
gstreamer-plugins-ugly-codecs.spec
Changed
@@ -7,7 +7,7 @@ %define _version 1.24.0 Name: gstreamer-plugins-ugly-codecs -Version: 1.24.11 +Version: 1.24.12 Release: 0 Summary: Codecs/plugins for gstreamer-plugins-ugly License: LGPL-2.1-or-later
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="download_url"> <param name="host">gstreamer.freedesktop.org</param> <param name="protocol">https</param> - <param name="path">/src/gst-plugins-ugly/gst-plugins-ugly-1.24.11.tar.xz</param> + <param name="path">/src/gst-plugins-ugly/gst-plugins-ugly-1.24.12.tar.xz</param> </service> <service name="set_version" mode="buildtime"/> </services> \ No newline at end of file
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/ChangeLog -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ChangeLog
Changed
@@ -1,3 +1,34 @@ +=== release 1.24.12 === + +2025-01-29 20:12:29 +0000 Tim-Philipp Müller <tim@centricular.com> + + * NEWS: + * RELEASE: + * gst-plugins-ugly.doap: + * meson.build: + Release 1.24.12 + +2025-01-23 20:55:15 +1100 Brad Hards <bradh@frogmouth.net> + + * ext/x264/gstx264enc.c: + x264enc: switch to GstByteWriter + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8360> + +2025-01-16 17:16:53 +1100 Brad Hards <bradh@frogmouth.net> + + * ext/x264/gstx264enc.c: + x264enc: add missing data to AvcDecoderConfigurationRecord + This adds the data required in AVCDecoderConfigurationRecord for + higher profile (High variants) configurations - everything in the if(...) {...} part + of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version). + Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8360> + +2025-01-06 20:11:58 +0000 Tim-Philipp Müller <tim@centricular.com> + + * meson.build: + Back to development after 1.24.11 + === release 1.24.11 === 2025-01-06 19:48:08 +0000 Tim-Philipp Müller <tim@centricular.com>
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/NEWS -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/NEWS
Changed
@@ -1276,7 +1276,7 @@ - There are known issues with FFmpeg version 6.0.0 due to opaque passing being broken in that version. This affects at least avdec_h264, but may affect other decoders as well. Versions before 6.0.0, and 6.0.1 or higher are not affected. -- gst-libav currently doesn’t build against the latest FFmpeg 7.0 release. This is being worked on and tracked in this “libav: +- gst-libav < 1.24.6 didn’t build against the latest FFmpeg 7.0 release. This has been worked on and tracked in this “libav: Fix compatibility with ffmpeg 7” Merge Request. ## Statistics @@ -3030,6 +3030,147 @@ - List of Merge Requests applied in 1.24.11 - List of Issues fixed in 1.24.11 +1.24.12 + +The twelfth 1.24 bug-fix release (1.24.12) was released on 29 January 2025. + +This release only contains bugfixes and it should be safe to update from 1.24.x. + +Highlighted bugfixes in 1.24.12 + +- d3d12: Fix shaders failing to compile with newer dxc versions +- decklinkvideosink: Fix handling of caps framerate in auto mode; also a decklinkaudiosink fix +- devicemonitor: Fix potential crash macOS when a device is unplugged +- gst-libav: Fix crash in audio encoders like avenc_ac3 if input data has insufficient alignment +- gst-libav: Fix build against FFmpeg 4.2 as in Ubuntu 20.04 +- gst-editing-services: Fix Python library name fetching on Windows +- netclientclock: Don’t store failed internal clocks in the cache, so applications can re-try later +- oggdemux: Seeking and duration handling fixes +- osxaudiosrc: Fixes for failing init/no output on recent iOS versions +- qtdemux: Use mvhd transform matrix and support for flipping +- rtpvp9pay: Fix profile parsing +- splitmuxsrc: Fix use with decodebin3 which would occasionally fail with an assertion when seeking +- tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true +- video-overlay-composition: Declare the video/size/orientation tags for the meta and implement scale transformations +- vtdec: Fix seeks occasionally hanging on macOS due to a race condition when draining +- webrtc: Fix duplicate payload types with RTX and multiple video codecs +- win32-pluginloader: Make sure not to create any windows when inspecting plugins +- wpe: Various fixes for re-negotiation, latency reporting, progress messages on startup +- x264enc: Add missing data to AvcDecoderConfigurationRecord in codec_data for high profile variants +- cerbero: Support using ccache with cmake if enabled +- Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements + +gstreamer + +- device: Fix racy nullptr deref on macOS when a device is unplugged +- iterator: Added error handling to filtered iterators +- netclientclock: Don’t ever store failed internal clocks in the cache +- netclock-replay: use gst_c_args when building, fixing build failure on Solaris +- pluginloader-win32: create no window +- pluginloader-win32: fix use after free in find_helper_bin_location +- sparsefile: ensure error is set when read_buffer() returns 0 +- basetransform: fix incorrect logging inside gst_base_transform_query_caps + +gst-plugins-base + +- oggdemux: fixes seeking in some cases by not overwriting a valid duration with CLOCK_TIME_NONE +- video-overlay-composition: Declare the video/size/orientation tags for the meta & implement scale transformation +- Various fixes found from adding extra warning flags + +gst-plugins-good + +- osxaudiosrc: Fixes for failing init/no output on recent iOS versions +- qtdemux: Use mvhd transform matrix and support for flipping +- qtmux: fix critical warnings on negotiation error +- rtpvp9pay: fix profile parsing +- splitmuxsrc: Ensure only a single stream-start event is pushed +- splitmuxsrc: decodebin3 Fails with assertion in mq_slot_handle_stream_start when seeking +- Various fixes found from adding extra warning flags + +gst-plugins-bad + +- decklinkvideosink: Fix handling of caps framerate in auto mode +- decklinkaudiosink: Don’t crash if started without corresponding video sink +- d3d12: Fix shaders failing to compile with newer dxc versions +- tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true +- vtdec: fix seeks hangs due to a race condition draining +- vtdec: seeks freeze the pipeline +- wayland: Print table split when DMABuf format changes +- webrtc: fix duplicate payload types with RTX and multiple video codecs +- wpevideosrc: Clear cached SHM buffers after caps re-negotiation +- wpe: Report latency and start-up progress messages +- wpe: remove glFlush() when filling buffer +- Fix build with gtk3 but not wayland +- Various fixes found from adding extra warning flags + +gst-plugins-ugly + +- x264enc: add missing data to AvcDecoderConfigurationRecord, and switch to GstByteWriter + +GStreamer Rust plugins + +- No changes + +gst-libav + +- avaudenc: fix crash in avenc_ac3 if input buffers are insufficiently aligned +- avcodecmap: Only use new channel positions when compiling against new enough ffmpeg +- gst-libav: 1.24.11: Fails to build with minimum supported ffmpeg version + +gst-rtsp-server + +- No changes + +gstreamer-vaapi + +- No changes + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- No changes + +gst-editing-services + +- ges: Fix Python library name fetching on Windows + +gst-devtools, gst-validate + gst-integration-testsuites + +- No changes + +gst-examples + +- No changes + +Development build environment + +- No changes + +Cerbero build tool and packaging changes in 1.24.12 + +- cmake: Support using ccache if enabled + +Contributors to 1.24.12 + +Adrian Perez de Castro, Alan Coopersmith, Alexander Slobodeniuk, Andoni Morales Alastruey, Andrew Yooeun Chun, Brad Hards, +Carlos Bentzen, Colin Kinloch, Edward Hervey, François Laignel, Guillaume Desmottes, Jochen Henneberg, Jordan Yelloz, L. E. +Segovia, Monty C, Nirbheek Chauhan, Philippe Normand, Piotr Brzeziński, Rares Branici, Samuel Thibault, Sebastian Dröge, Silvio +Lazzeretti, Tim-Philipp Müller, Tomas Granath, Will Miller, + +… and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.24.12 + +- List of Merge Requests applied in 1.24.12 +- List of Issues fixed in 1.24.12 + Schedule for 1.26 Our next major feature release will be 1.26, and 1.25 will be the unstable development version leading up to the stable 1.26
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/RELEASE -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/RELEASE
Changed
@@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-ugly 1.24.11. +This is GStreamer gst-plugins-ugly 1.24.12. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework!
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/ext/x264/gstx264enc.c -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/x264/gstx264enc.c
Changed
@@ -105,6 +105,7 @@ #include <gst/video/gstvideometa.h> #include <gst/video/gstvideopool.h> #include <gst/base/gstbytereader.h> +#include <gst/base/gstbytewriter.h> #include <string.h> #include <stdlib.h> @@ -2125,16 +2126,18 @@ static GstBuffer * gst_x264_enc_header_buf (GstX264Enc * encoder) { - GstBuffer *buf; + GstByteWriter bw; x264_nal_t *nal; int i_nal; int header_return; - int i_size; int nal_size; gint i; - guint8 *buffer, *sps; - gulong buffer_size; + guint8 *sps; gint sei_ni, sps_ni, pps_ni; + guint8 avc_profile_indication; + guint8 chroma_format; + guint8 bit_depth_luma_minus8, bit_depth_chroma_minus8; + gboolean ok; if (G_UNLIKELY (encoder->x264enc == NULL)) return NULL; @@ -2175,45 +2178,86 @@ GST_MEMDUMP ("SEI", nalsei_ni.p_payload, nalsei_ni.i_payload); } - /* nal payloads with emulation_prevention_three_byte, and some header data */ - buffer_size = (nalsps_ni.i_payload + nalpps_ni.i_payload) * 4 + 100; - buffer = g_malloc (buffer_size); + // 128 is indicative size, should usually be enough to avoid reallocation. + gst_byte_writer_init_with_size (&bw, 128, FALSE); sps = nalsps_ni.p_payload + 4; /* skip NAL unit type */ sps++; - buffer0 = 1; /* AVC Decoder Configuration Record ver. 1 */ - buffer1 = sps0; /* profile_idc */ - buffer2 = sps1; /* profile_compability */ - buffer3 = sps2; /* level_idc */ - buffer4 = 0xfc | (4 - 1); /* nal_length_size_minus1 */ - - i_size = 5; + ok = gst_byte_writer_put_uint8 (&bw, 1); /* AVC Decoder Configuration Record ver. 1 */ + ok &= gst_byte_writer_put_uint8 (&bw, sps0); /* AVCProfileIndication aka profile_idc */ + ok &= gst_byte_writer_put_uint8 (&bw, sps1); /* profile_compability */ + ok &= gst_byte_writer_put_uint8 (&bw, sps2); /* level_idc */ - bufferi_size++ = 0xe0 | 1; /* number of SPSs */ + ok &= gst_byte_writer_put_uint8 (&bw, 0xfc | (4 - 1)); /* nal_length_size_minus1 */ + ok &= gst_byte_writer_put_uint8 (&bw, 0xe0 | 1); /* number of SPSs */ nal_size = nalsps_ni.i_payload - 4; - memcpy (buffer + i_size + 2, nalsps_ni.p_payload + 4, nal_size); + ok &= gst_byte_writer_put_uint16_be (&bw, nal_size); + ok &= gst_byte_writer_put_data (&bw, nalsps_ni.p_payload + 4, nal_size); - GST_WRITE_UINT16_BE (buffer + i_size, nal_size); - i_size += nal_size + 2; - - bufferi_size++ = 1; /* number of PPSs */ + ok &= gst_byte_writer_put_uint8 (&bw, 1); /* number of PPSs */ nal_size = nalpps_ni.i_payload - 4; - memcpy (buffer + i_size + 2, nalpps_ni.p_payload + 4, nal_size); - - GST_WRITE_UINT16_BE (buffer + i_size, nal_size); - i_size += nal_size + 2; + ok &= gst_byte_writer_put_uint16_be (&bw, nal_size); + ok &= gst_byte_writer_put_data (&bw, nalpps_ni.p_payload + 4, nal_size); - buf = gst_buffer_new_and_alloc (i_size); - gst_buffer_fill (buf, 0, buffer, i_size); - - GST_MEMDUMP ("header", buffer, i_size); - g_free (buffer); - - return buf; +#if X264_BUILD >= 153 + // if we use an earlier API version, we can really only output old format and hope the receiver can work it out + // + // See ISO/IEC 14496-15:2024 Section 5.3.2.1.2 for the syntax encoding used here. + // The AVCProfileIndication values correspond to the profile code (profile_idc) in ISO/IEC 14496-10. + // Roughly, 66 is Baseline, 77 is Main, 88 is Extended. Other codes mostly correspond to some variation on High. + // See the standards for the specific interpretation. + avc_profile_indication = sps0; + if ((avc_profile_indication != 66) && (avc_profile_indication != 77) + && (avc_profile_indication != 88)) { + switch (encoder->x264param.i_csp) { + case X264_CSP_I400: + chroma_format = 0; // mono + break; + case X264_CSP_I420: + case X264_CSP_YV12: + case X264_CSP_NV12: + case X264_CSP_NV21: + chroma_format = 1; // 4:2:0 + break; + case X264_CSP_I422: + case X264_CSP_YV16: + case X264_CSP_NV16: + case X264_CSP_YUYV: + case X264_CSP_UYVY: + case X264_CSP_V210: + chroma_format = 2; // 4:2:2 + break; + case X264_CSP_I444: + case X264_CSP_YV24: + case X264_CSP_BGR: + case X264_CSP_BGRA: + case X264_CSP_RGB: + chroma_format = 3; // 4:4:4 + break; + default: + GST_WARNING_OBJECT (encoder, + "Failed to decode colourspace, likely invalid output"); + goto return_what_we_have; + } + ok &= gst_byte_writer_put_uint8 (&bw, 0xfc | chroma_format); + bit_depth_luma_minus8 = bit_depth_chroma_minus8 = + (encoder->x264param.i_bitdepth - 8); + ok &= gst_byte_writer_put_uint8 (&bw, 0xf8 | bit_depth_luma_minus8); + ok &= gst_byte_writer_put_uint8 (&bw, 0xf8 | bit_depth_chroma_minus8); + ok &= gst_byte_writer_put_uint8 (&bw, 0); // numOfSequenceParameterSetExt + } +#endif +return_what_we_have: + if (ok) { + return gst_byte_writer_reset_and_get_buffer (&bw); + } else { + gst_byte_writer_reset (&bw); + return NULL; + } } /* gst_x264_enc_set_src_caps
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/gst-plugins-ugly.doap -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst-plugins-ugly.doap
Changed
@@ -35,6 +35,16 @@ <release> <Version> + <revision>1.24.12</revision> + <branch>1.24</branch> + <name></name> + <created>2025-01-29</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.12.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.24.11</revision> <branch>1.24</branch> <name></name>
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/meson.build -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/meson.build
Changed
@@ -1,5 +1,5 @@ project('gst-plugins-ugly', 'c', - version : '1.24.11', + version : '1.24.12', meson_version : '>= 1.1', default_options : 'warning_level=1', 'buildtype=debugoptimized' )
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/po/gst-plugins-ugly-1.0.pot -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/po/gst-plugins-ugly-1.0.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.24.11\n" +"Project-Id-Version: gst-plugins-ugly-1.24.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-06 19:50+0000\n" +"POT-Creation-Date: 2025-01-29 20:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
_service:download_url:gst-plugins-ugly-1.24.11.tar.xz/po/gst-plugins-ugly.pot -> _service:download_url:gst-plugins-ugly-1.24.12.tar.xz/po/gst-plugins-ugly.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.24.11\n" +"Project-Id-Version: gst-plugins-ugly-1.24.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-06 19:50+0000\n" +"POT-Creation-Date: 2025-01-29 20:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.