Changes of Revision 27

gstreamer-plugins-ugly-codecs.changes Changed
x
 
1
@@ -1,4 +1,9 @@
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
@@ -7,7 +7,7 @@
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,7 +2,7 @@
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
@@ -1,3 +1,34 @@
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
@@ -1276,7 +1276,7 @@
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
@@ -3030,6 +3030,147 @@
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
@@ -1,4 +1,4 @@
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
@@ -105,6 +105,7 @@
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
@@ -2125,16 +2126,18 @@
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
@@ -2175,45 +2178,86 @@
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
@@ -35,6 +35,16 @@
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
@@ -1,5 +1,5 @@
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
@@ -6,9 +6,9 @@
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
@@ -6,9 +6,9 @@
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