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