Changes of Revision 28

gstreamer-plugins-ugly-codecs.changes Changed
x
 
1
@@ -1,4 +1,9 @@
2
 -------------------------------------------------------------------
3
+Wed Mar 12 19:33:05 UTC 2025 - Bjørn Lie <zaitor@opensuse.org>
4
+
5
+- Update to version 1.26.0
6
+
7
+-------------------------------------------------------------------
8
 Mon Feb  3 09:26:26 UTC 2025 - Bjørn Lie <zaitor@opensuse.org>
9
 
10
 - Update to version 1.24.12
11
gstreamer-plugins-ugly-codecs.spec Changed
14
 
1
@@ -4,10 +4,10 @@
2
 
3
 %define _name gst-plugins-ugly
4
 %define gst_branch 1.0
5
-%define _version 1.24.0
6
+%define _version 1.26.0
7
 
8
 Name:           gstreamer-plugins-ugly-codecs
9
-Version:        1.24.12
10
+Version:        1.26.0
11
 Release:        0
12
 Summary:        Codecs/plugins for gstreamer-plugins-ugly
13
 License:        LGPL-2.1-or-later
14
_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.12.tar.xz</param>
6
+    <param name="path">/src/gst-plugins-ugly/gst-plugins-ugly-1.26.0.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.12.tar.xz/ChangeLog -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ChangeLog Changed
201
 
1
@@ -1,527 +1,240 @@
2
-=== release 1.24.12 ===
3
+=== release 1.26.0 ===
4
 
5
-2025-01-29 20:12:29 +0000  Tim-Philipp Müller <tim@centricular.com>
6
-
7
-   * NEWS:
8
-   * RELEASE:
9
-   * gst-plugins-ugly.doap:
10
-   * meson.build:
11
-     Release 1.24.12
12
-
13
-2025-01-23 20:55:15 +1100  Brad Hards <bradh@frogmouth.net>
14
-
15
-   * ext/x264/gstx264enc.c:
16
-     x264enc: switch to GstByteWriter
17
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8360>
18
-
19
-2025-01-16 17:16:53 +1100  Brad Hards <bradh@frogmouth.net>
20
-
21
-   * ext/x264/gstx264enc.c:
22
-     x264enc: add missing data to AvcDecoderConfigurationRecord
23
-     This adds the data required in AVCDecoderConfigurationRecord for
24
-     higher profile (High variants) configurations - everything in the if(...) {...} part
25
-     of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).
26
-     Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.
27
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8360>
28
-
29
-2025-01-06 20:11:58 +0000  Tim-Philipp Müller <tim@centricular.com>
30
-
31
-   * meson.build:
32
-     Back to development after 1.24.11
33
-
34
-=== release 1.24.11 ===
35
-
36
-2025-01-06 19:48:08 +0000  Tim-Philipp Müller <tim@centricular.com>
37
+2025-03-11 20:14:44 +0000  Tim-Philipp Müller <tim@centricular.com>
38
 
39
    * NEWS:
40
+   * README.md:
41
    * RELEASE:
42
    * gst-plugins-ugly.doap:
43
    * meson.build:
44
-     Release 1.24.11
45
+     Release 1.26.0
46
 
47
-2024-12-03 23:39:54 +0000  Tim-Philipp Müller <tim@centricular.com>
48
+2025-02-23 23:52:57 +0000  Tim-Philipp Müller <tim@centricular.com>
49
 
50
    * meson.build:
51
-     Back to development after 1.24.10
52
+     Back to development after 1.25.90
53
 
54
-=== release 1.24.10 ===
55
+=== release 1.25.90 ===
56
 
57
-2024-12-03 23:29:07 +0000  Tim-Philipp Müller <tim@centricular.com>
58
+2025-02-23 23:44:10 +0000  Tim-Philipp Müller <tim@centricular.com>
59
 
60
    * NEWS:
61
    * RELEASE:
62
    * gst-plugins-ugly.doap:
63
    * meson.build:
64
-     Release 1.24.10
65
+     Release 1.25.90
66
 
67
-2024-11-03 17:37:09 +0000  Tim-Philipp Müller <tim@centricular.com>
68
+2025-02-23 16:56:31 +0000  Tim-Philipp Müller <tim@centricular.com>
69
 
70
-   * po/es.po:
71
    * po/hr.po:
72
-   * po/ro.po:
73
+   * po/pt_BR.po:
74
      gst-plugins-ugly: update translations
75
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820>
76
-
77
-2024-10-30 20:40:12 +0000  Tim-Philipp Müller <tim@centricular.com>
78
-
79
-   * meson.build:
80
-     Back to development after 1.24.9
81
-
82
-=== release 1.24.9 ===
83
-
84
-2024-10-30 20:33:30 +0000  Tim-Philipp Müller <tim@centricular.com>
85
-
86
-   * NEWS:
87
-   * RELEASE:
88
-   * gst-plugins-ugly.doap:
89
-   * meson.build:
90
-     Release 1.24.9
91
-
92
-2024-09-19 12:12:53 +0200  Tim-Philipp Müller <tim@centricular.com>
93
-
94
-   * meson.build:
95
-     Back to development after 1.24.8
96
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7549>
97
-
98
-=== release 1.24.8 ===
99
-
100
-2024-09-19 12:01:21 +0200  Tim-Philipp Müller <tim@centricular.com>
101
-
102
-   * NEWS:
103
-   * RELEASE:
104
-   * gst-plugins-ugly.doap:
105
-   * meson.build:
106
-     Release 1.24.8
107
-
108
-2024-08-21 12:33:28 +0100  Tim-Philipp Müller <tim@centricular.com>
109
-
110
-   * meson.build:
111
-     Back to development after 1.24.7
112
 
113
-=== release 1.24.7 ===
114
-
115
-2024-08-21 12:25:15 +0100  Tim-Philipp Müller <tim@centricular.com>
116
-
117
-   * NEWS:
118
-   * RELEASE:
119
-   * gst-plugins-ugly.doap:
120
-   * meson.build:
121
-     Release 1.24.7
122
-
123
-2024-07-29 16:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>
124
+2025-02-09 17:47:32 +0000  Tim-Philipp Müller <tim@centricular.com>
125
 
126
    * meson.build:
127
-     Back to development after 1.24.6
128
+     Back to development after 1.25.50
129
 
130
-=== release 1.24.6 ===
131
+=== release 1.25.50 ===
132
 
133
-2024-07-29 16:41:37 +0100  Tim-Philipp Müller <tim@centricular.com>
134
+2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>
135
 
136
    * NEWS:
137
    * RELEASE:
138
    * gst-plugins-ugly.doap:
139
    * meson.build:
140
-     Release 1.24.6
141
-
142
-2024-07-22 09:29:52 +0200  Sebastian Gross <sgross@emlix.com>
143
-
144
-   * gst/asfdemux/gstasfdemux.c:
145
-     asfdemux: Be more lenient towards malformed header
146
-     VLC counts METADATA as 1 even if the specification states you must not.
147
-     This leads to asfdemux failing since there are no bytes left when asfdemux
148
-     tries to extract the "last" header.
149
-     Do not fail hard in this case and try to proceed when everything else went
150
-     fine.
151
-     So at least gst-discoverer will see what's in the file.
152
-     Closes #3684
153
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7216>
154
-
155
-2024-06-20 13:02:19 +0100  Tim-Philipp Müller <tim@centricular.com>
156
-
157
-   * meson.build:
158
-     Back to development after 1.24.5
159
-
160
-=== release 1.24.5 ===
161
+     Release 1.25.50
162
 
163
-2024-06-20 12:54:15 +0100  Tim-Philipp Müller <tim@centricular.com>
164
+2024-06-11 17:46:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>
165
 
166
-   * NEWS:
167
-   * RELEASE:
168
-   * gst-plugins-ugly.doap:
169
    * meson.build:
170
-     Release 1.24.5
171
-
172
-2024-05-29 13:51:27 +0300  Tim-Philipp Müller <tim@centricular.com>
173
-
174
-   * meson.build:
175
-     Back to development after 1.24.4
176
-
177
-=== release 1.24.4 ===
178
-
179
-2024-05-29 13:44:50 +0300  Tim-Philipp Müller <tim@centricular.com>
180
-
181
-   * NEWS:
182
-   * RELEASE:
183
-   * gst-plugins-ugly.doap:
184
-   * meson.build:
185
-     Release 1.24.4
186
-
187
-2024-04-30 00:36:59 +0100  Tim-Philipp Müller <tim@centricular.com>
188
-
189
-   * meson.build:
190
-     Back to development after 1.24.3
191
-     Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6772>
192
-
193
-=== release 1.24.3 ===
194
-
195
-2024-04-30 00:15:23 +0100  Tim-Philipp Müller <tim@centricular.com>
196
-
197
-   * NEWS:
198
-   * RELEASE:
199
-   * gst-plugins-ugly.doap:
200
-   * meson.build:
201
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/NEWS -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/NEWS Changed
201
 
1
@@ -1,895 +1,922 @@
2
-GStreamer 1.24 Release Notes
3
+GStreamer 1.26 Release Notes
4
 
5
-GStreamer 1.24.0 was originally released on 4 March 2024.
6
+GStreamer 1.26.0 was originally released on 11 March 2025.
7
 
8
-The latest bug-fix release in the stable 1.24 series is 1.24.10 and was released on 06 January 2025.
9
+See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of this document.
10
 
11
-See https://gstreamer.freedesktop.org/releases/1.24/ for the latest version of this document.
12
-
13
-Last updated: Tuesday 06 January 2025, 19:30 UTC (log)
14
+Last updated: Tuesday 11 March 2025, 20:00 UTC (log)
15
 
16
 ## Introduction
17
 
18
 The GStreamer team is proud to announce a new major feature release in the stable 1.x API series of your favourite
19
 cross-platform multimedia framework!
20
 
21
-As always, this release is again packed with many new features, bug fixes and other improvements.
22
+As always, this release is again packed with many new features, bug fixes, and other improvements.
23
 
24
 ## Highlights
25
 
26
--   New Discourse forum and Matrix chat space
27
--   New Analytics and Machine Learning abstractions and elements
28
--   Playbin3 and decodebin3 are now stable and the default in gst-play-1.0, GstPlay/GstPlayer
29
--   The va plugin is now preferred over gst-vaapi and has higher ranks
30
--   GstMeta serialization/deserialization and other GstMeta improvements
31
--   New GstMeta for SMPTE ST-291M HANC/VANC Ancillary Data
32
--   New unixfd plugin for efficient 1:N inter-process communication on Linux
33
--   cudaipc source and sink for zero-copy CUDA memory sharing between processes
34
--   New intersink and intersrc elements for 1:N pipeline decoupling within the same process
35
--   Qt5 + Qt6 QML integration improvements including qml6glsrc, qml6glmixer, qml6gloverlay, and qml6d3d11sink elements
36
--   DRM Modifier Support for dmabufs on Linux
37
--   OpenGL, Vulkan and CUDA integration enhancements
38
--   Vulkan H.264 and H.265 video decoders
39
--   RTP stack improvements including new RFC7273 modes and more correct header extension handling in depayloaders
40
--   WebRTC improvements such as support for ICE consent freshness, and a new webrtcsrc element to complement webrtcsink
41
--   WebRTC signallers and webrtcsink implementations for LiveKit and AWS Kinesis Video Streams
42
--   WHIP server source and client sink, and a WHEP source
43
--   Precision Time Protocol (PTP) clock support for Windows and other additions
44
--   Low-Latency HLS (LL-HLS) support and many other HLS and DASH enhancements
45
--   New W3C Media Source Extensions library
46
--   Countless closed caption handling improvements including new cea608mux and cea608tocea708 elements
47
--   Translation support for awstranscriber
48
--   Bayer 10/12/14/16-bit depth support
49
--   MPEG-TS support for asynchronous KLV demuxing and segment seeking, plus various new muxer features
50
--   Capture source and sink for AJA capture and playout cards
51
--   SVT-AV1 and VA-API AV1 encoders, stateless AV1 video decoder
52
--   New uvcsink element for exporting streams as UVC camera
53
--   DirectWrite text rendering plugin for windows
54
--   Direct3D12-based video decoding, conversion, composition, and rendering
55
--   AMD Advanced Media Framework AV1 + H.265 video encoders with 10-bit and HDR support
56
--   AVX/AVX2 support and NEON support on macOS on Apple ARM64 CPUs via new liborc
57
--   GStreamer C# bindings have been updated
58
--   Rust bindings improvements and many new and improved Rust plugins
59
--   Rust plugins now shipped in packages for all major platforms including Android and iOS
60
+-   H.266 Versatile Video Coding (VVC) codec support
61
+-   Low Complexity Enhancement Video Coding (LCEVC) support
62
+-   Closed captions: H.264/H.265 extractor/inserter, cea708overlay, cea708mux, tttocea708 and more
63
+-   New hlscmafsink, hlssink3, and hlsmultivariantsink; HLS/DASH client and dashsink improvements
64
+-   New AWS and Speechmatics transcription, translation and TTS services elements, plus translationbin
65
+-   Splitmux lazy loading and dynamic fragment addition support
66
+-   Matroska: H.266 video and rotation tag support, defined latency muxing
67
+-   MPEG-TS: support for H.266, JPEG XS, AV1, VP9 codecs and SMPTE ST-2038 and ID3 meta; mpegtslivesrc
68
+-   ISO MP4: support for H.266, Hap, Lagarith lossless codecs; raw video support; rotation tags
69
+-   SMPTE 2038 ancillary data streams support
70
+-   JPEG XS image codec support
71
+-   Analytics: New TensorMeta; N-to-N relationships; Mtd to carry segmentation masks
72
+-   ONVIF metadata extractor and conversion to/from relation metas
73
+-   New originalbuffer element that can restore buffers again after transformation steps for analytics
74
+-   Improved Python bindings for analytics API
75
+-   Lots of Vulkan integration and Vulkan Video decoder/encoder improvements
76
+-   OpenGL integration improvements, esp. in glcolorconvert, gldownload, glupload
77
+-   Qt5/Qt6 QML GL sinks now support direct DMABuf import from hardware decoders
78
+-   CUDA: New compositor, Jetson NVMM memory support, stream-ordered allocator
79
+-   NVCODEC AV1 video encoder element, and ndsdewarp
80
+-   New Direct3D12 integration support library
81
+-   New d3d12swapchainsink and d3d12deinterlace elements and D3D12 sink/source for zero-copy IPC
82
+-   Decklink HDR support (PQ + HLG) and frame scheduling enhancements
83
+-   AJA capture source clock handling and signal loss recovery improvements
84
+-   RTP and RTSP: New rtpbin sync modes, client-side MIKEY support in rtspsrc
85
+-   New Rust rtpbin2, rtprecv, rtpsend, and many new Rust RTP payloaders and depayloaders
86
+-   webrtcbin support for basic rollbacks and other improvements
87
+-   webrtcsink: support for more encoders, SDP munging, and a built-in web/signalling server
88
+-   webrtcsrc/sink: support for uncompressed audio/video and NTP & PTP clock signalling and synchronization
89
+-   rtmp2: server authentication improvements incl. Limelight CDN (llnw) authentication
90
+-   New Microsoft WebView2 based web browser source element
91
+-   The GTK3 plugin has gained support for OpenGL/WGL on Windows
92
+-   Many GTK4 paintable sink improvements
93
+-   GstPlay: id-based stream selection and message API improvements
94
+-   Real-time pipeline visualization in a browser using a new dots tracer and viewer
95
+-   New tracers for tracking memory usage, pad push timings, and buffer flow as pcap files
96
+-   VA hardware-acclerated H.266/VVC decoder, VP8 and JPEG encoders, VP9/VP8 alpha decodebins
97
+-   Video4Linux2 elements support DMA_DRM caps negotiation now
98
+-   V4L2 stateless decoders implement inter-frame resolution changes for AV1 and VP9
99
+-   Editing services: support for reverse playback and audio channel reordering
100
+-   New QUIC-based elements for working with raw QUIC streams, RTP-over-QUIC (RoQ) and WebTransport
101
+-   Apple AAC audio encoder and multi-channel support for the Apple audio decoders
102
+-   cerbero: Python bindings and introspection support; improved Windows installer based on WiX5
103
 -   Lots of new plugins, features, performance improvements and bug fixes
104
 
105
 ## Major new features and changes
106
 
107
-### Discourse forum and Matrix chat space
108
+### H.266 Versatile Video Coding (VVC) codec support
109
 
110
--   The new Discourse forum and Matrix chat space are now our preferred communication channels for support and developer chat.
111
+-   The H.266 / VVC video codec is a successor to H.265 / HEVC and is standardised in ISO/IEC 23090-3.
112
 
113
--   The mailing lists and IRC channel are on their way to being phased out, but Discourse can be used via e-mail as well.
114
+-   A new h266parse element was added, along with parsing API, typefinding support and some codec utility functions in the
115
+    gst-plugins-base utility library.
116
 
117
--   For release announcements please subscribe to the News + Announcements category on Discourse, although we will continue to
118
-    also send announcements to the mailing list for the time being.
119
+-   A H.266 decoder base class for hardware-accelerated decoders was added and used to implement a VA-API-based
120
+    hardware-accelerated H.266 decoder.
121
 
122
-### Playbin3, decodebin3 now stable and default
123
+-   The FFmpeg H.266 decoder is exposed now (from FFmpeg 7.0 onwards).
124
 
125
--   After a year of stability, testing and more improvements, playbin3, and its various components (uridecodebin3, decodebin3
126
-    and urisourcebin), are now the recommended playback components.
127
+-   H.266 / VVC muxing and demuxing support was implemented for MP4, Matroska and MPEG-TS containers.
128
 
129
--   Some playback components have now switched to defaulting to playbin3: gst-play-1.0 and the GstPlay / GstPlayer libraries.
130
-    Application developers are strongly recommended to switch to using those components instead of the legacy playbin and
131
-    (uri)decodebin.
132
+-   A VVdeC-based H.266 decoder element was added to the Rust plugins, based on the Fraunhofer Versatile Video Decoder library.
133
 
134
-Improvements in this cycle:
135
+### JPEG XS image codec support
136
 
137
--   Better support missing/faulty decoders, attempt to use another one or gracefully un-select the stream.
138
+-   JPEG XS is a visually lossless, low-latency, intra-only video codec for video production workflows, standardised in ISO/IEC
139
+    21122.
140
 
141
--   Many fixes for more complex gapless and instant-switching scenarios
142
+-   JPEG XS encoder and decoder elements based on the SVT JPEG XS library were added, including support for muxing JPEG XS into
143
+    MPEG-TS and demuxing it. Both interlaced and progressive modes are supported.
144
 
145
--   Lower latency for live pipelines
146
+### Low Complexity Enhancement Video Coding (LCEVC) support
147
 
148
--   Fix for “chained” streams (ex: Ogg, or PMT update in MPEG-TS)
149
+-   LCEVC is a codec that provides an enhancement layer on top of another codec such as H.264 for example. It is standardised as
150
+    MPEG-5 Part 2.
151
 
152
--   Fixes for hardware-accelerated playback with subtitles (provided the sink can handle offloading composition). This was also
153
-    partly due to a historical confusion between subtitle “decoders” (which decode the format to text and “parsers” (which only
154
-    do timing detection and optional seeking).
155
+-   LCEVC encoder and decoder elements based on V-Nova’s SDK libraries were added, including support in h264parse for extracting
156
+    the enhancement layer from H.264 and decoding it via a lcevch264decodebin element.
157
 
158
-### GstMeta serialization/deserialization and other GstMeta improvements
159
+### Closed captions improvements
160
 
161
--   GstMeta serialization/deserialization allows metas to be transmitted or stored. This is used by the unixfd and cudaipc
162
-    plugins for inter-process communication (IPC). Implemented so far for GstCustomMeta, GstVideoMeta, GstAudioMeta and
163
-    GstReferenceTimestampMeta.
164
+-   New H.264 and H.265 closed captions extractor and inserter elements.
165
 
166
--   Simplified GstCustomMeta registration with gst_meta_register_custom_simple() for the simple case where tags and transform
167
-    functions are not needed.
168
+    -   These extractor elements don’t actually extract captions from the bitstream, but rely on parser elements to do that and
169
+        add them to buffers in form of caption metas. The problem is that streams might contain B-frames, in which case the
170
+        captions in the bitstream will not be in presentation order and extracting them requires frame-reordering in the same
171
+        way that a decoder would do. These new elements will do exactly that and allow you to extract captions in presentation
172
+        order without having to decode the stream.
173
 
174
--   GstMetaClearFunction clears the content of the meta. This will be called by buffer pools when a pooled buffer is returned to
175
-    the pool.
176
+    -   The inserter elements do something similar and insert caption SEIs into the H.264 or H.265 bitstream, taking into
177
+        account frame ordering.
178
 
179
--   Add gst_meta_info_new() and gst_meta_info_register() to register a GstMeta in two steps for easier extensibility.
180
+    -   This is useful if one wants to extract, process and re-insert captions into an existing video bitstream without decoding
181
+        and re-encoding it (in which case the decoder and encoder would handle the caption reordering).
182
 
183
-### New unixfd plugin for efficient 1:N inter-process communication on Linux
184
+-   cdpserviceinject: New element for injecting a CDP service descriptor into closed caption CDP packets
185
 
186
--   unixfdsink and unixfdsrc are elements that, inspired by shmsink andn shmsrc, send UNIX file descriptors (e.g. memfd, dmabuf)
187
-    from one sink to multiple source elements in other processes on Linux.
188
+-   cea708overlay: New element for overlaying CEA608 / CEA708 closed captions over video streams.
189
 
190
--   The unixfdsink proposes a memfd/shm allocator to upstream elements which allows for example videotestsrc to write directly
191
-    into memory that can be transfered to other processes without copying.
192
+-   The cc708overlay element has been deprecated in favour of the cea708overlay element from the Rust plugins set.
193
 
194
-### New GstMeta for SMPTE ST-291M HANC/VANC Ancillary Data
195
+-   cea608mux gained a "force-live" property to make it always in live mode and aggregate on timeout regardless of whether any
196
+    live sources are linked upstream.
197
 
198
--   Previously only various specific GstMeta for ancillary data were provided, such as GstVideoCaptionMeta and GstVideoAFDMeta.
199
-    The new GstAncillaryMeta allows passing arbitrary ancillary data between elements, including custom and non-standard
200
-    ancillary data. See GstAncillaryMeta for details.
201
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/README.md -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/README.md Changed
7
 
1
@@ -1,4 +1,4 @@
2
-GStreamer 1.24.x stable series
3
+GStreamer 1.26.x stable series
4
 
5
 WHAT IT IS
6
 ----------
7
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/RELEASE -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/RELEASE Changed
22
 
1
@@ -1,4 +1,4 @@
2
-This is GStreamer gst-plugins-ugly 1.24.12.
3
+This is GStreamer gst-plugins-ugly 1.26.0.
4
 
5
 The GStreamer team is thrilled to announce a new major feature release
6
 of your favourite cross-platform multimedia framework!
7
@@ -6,12 +6,12 @@
8
 As always, this release is again packed with new features, bug fixes and
9
 other improvements.
10
  
11
-The 1.24 release series adds new features on top of the 1.22 series and is
12
+The 1.26 release series adds new features on top of the 1.24 series and is
13
 part of the API and ABI-stable 1.x release series.
14
 
15
 Full release notes can be found at:
16
 
17
-  https://gstreamer.freedesktop.org/releases/1.24/
18
+  https://gstreamer.freedesktop.org/releases/1.26/
19
 
20
 Binaries for Android, iOS, Mac OS X and Windows will usually be provided
21
 shortly after the release.
22
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/docs/gst_plugins_cache.json -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/docs/gst_plugins_cache.json Changed
47
 
1
@@ -1014,6 +1014,18 @@
2
                         "type": "gchararray",
3
                         "writable": true
4
                     },
5
+                    "nal-hrd": {
6
+                        "blurb": "Signal Hypothetical Reference Decoder information",
7
+                        "conditionally-available": false,
8
+                        "construct": false,
9
+                        "construct-only": false,
10
+                        "controllable": false,
11
+                        "default": "none (0)",
12
+                        "mutable": "null",
13
+                        "readable": true,
14
+                        "type": "GstX264EncNalHrd",
15
+                        "writable": true
16
+                    },
17
                     "noise-reduction": {
18
                         "blurb": "Noise reduction strength",
19
                         "conditionally-available": false,
20
@@ -1399,6 +1411,26 @@
21
                     }
22
                 
23
             },
24
+            "GstX264EncNalHrd": {
25
+                "kind": "enum",
26
+                "values": 
27
+                    {
28
+                        "desc": "None",
29
+                        "name": "none",
30
+                        "value": "0"
31
+                    },
32
+                    {
33
+                        "desc": "Variable bitrate",
34
+                        "name": "vbr",
35
+                        "value": "1"
36
+                    },
37
+                    {
38
+                        "desc": "Constant bitrate",
39
+                        "name": "cbr",
40
+                        "value": "2"
41
+                    }
42
+                
43
+            },
44
             "GstX264EncPass": {
45
                 "kind": "enum",
46
                 "values": 
47
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/docs/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/docs/meson.build Changed
121
 
1
@@ -18,13 +18,13 @@
2
     subdir_done()
3
 endif
4
 
5
-required_hotdoc_extensions = 'gst-extension'
6
 plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json')
7
 if gst_dep.type_name() == 'internal'
8
     gst_proj = subproject('gstreamer')
9
     plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
10
 else
11
-    plugins_cache_generator = find_program(join_paths(gst_dep.get_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'),
12
+    plugins_cache_generator = find_program('gst-plugins-doc-cache-generator',
13
+        dirs: join_paths(gst_dep.get_variable('libexecdir', default_value: ''), 'gstreamer-' + api_version),
14
         required: false)
15
 endif
16
 
17
@@ -41,35 +41,10 @@
18
     warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
19
 endif
20
 
21
-hotdoc_p = find_program('hotdoc', required: get_option('doc'))
22
-if not hotdoc_p.found()
23
-    message('Hotdoc not found, not building the documentation')
24
-    subdir_done()
25
-endif
26
-
27
-hotdoc_req = '>= 0.11.0'
28
-hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
29
-if not hotdoc_version.version_compare(hotdoc_req)
30
-    if get_option('doc').enabled()
31
-        error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
32
-    else
33
-        message('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
34
-        subdir_done()
35
-    endif
36
+if get_option('doc').disabled()
37
+  subdir_done()
38
 endif
39
 
40
-hotdoc = import('hotdoc')
41
-foreach extension: required_hotdoc_extensions
42
-    if not hotdoc.has_extensions(extension)
43
-        if get_option('doc').enabled()
44
-            error('Documentation enabled but @0@ missing'.format(extension))
45
-        endif
46
-
47
-        message('@0@ extension not found, not building documentation'.format(extension))
48
-        subdir_done()
49
-    endif
50
-endforeach
51
-
52
 build_hotdoc = true
53
 docconf = configuration_data()
54
 docconf.set('GST_API_VERSION', api_version)
55
@@ -84,24 +59,28 @@
56
     excludes += join_paths(meson.current_source_dir(), root_rel, '..', f)
57
 endforeach
58
 
59
-libs_doc = 
60
-plugins_doc = 
61
-list_plugin_res = run_command(python3, '-c',
62
-'''
63
-import sys
64
-import json
65
-
66
-with open("@0@") as f:
67
-        print(':'.join(json.load(f).keys()), end='')
68
-'''.format(plugins_cache),
69
-  check: true)
70
+doc_source_file = configure_file(output: 'doc_sources.json', configuration: plugin_sources, output_format: 'json')
71
+
72
+plugin_libraries = {}
73
+
74
+foreach plugin: plugins
75
+  if plugin.name().startswith('gst')
76
+    plugin_name = plugin.name().substring(3)
77
+  else
78
+    plugin_name = plugin.name()
79
+  endif
80
+
81
+  plugin_libraries += {
82
+    plugin_name: plugin.full_path()
83
+  }
84
+endforeach
85
+
86
+doc_plugin_libs_file = configure_file(output: 'doc_plugin_libs.json', configuration: plugin_libraries, output_format: 'json')
87
+
88
 cdir = meson.current_source_dir()
89
-if host_machine.system() == 'windows'
90
-  pathsep = ';'
91
-else
92
-  pathsep = ':'
93
-endif
94
-gst_plugins_doc = run_command(
95
+plugin_hotdoc_configs = custom_target(
96
+  'build-hotdoc-configs',
97
+  command: 
98
     plugins_cache_generator,
99
     'hotdoc-config',
100
     '--builddir', meson.current_build_dir(),
101
@@ -109,11 +88,12 @@
102
     '--sitemap', cdir / 'sitemap.txt',
103
     '--index', cdir / 'index.md',
104
     '--gst_index', cdir / 'index.md',
105
-    '--gst_c_sources',
106
-        root_rel / 'sys/*/*.ch',
107
-        root_rel / 'ext/*/*.ch',
108
-        root_rel / 'gst/*/*.ch',
109
     '--gst_c_source_filters', excludes,
110
-    '--gst_cache_file', plugins_cache,
111
-    check: true,
112
-).stdout().split(pathsep)
113
+    '--gst_cache_file', '@INPUT@',
114
+    '--output', '@OUTPUT@',
115
+    '--gst_c_source_file', doc_source_file,
116
+    '--gst_plugin_libraries_file', doc_plugin_libs_file,
117
+  ,
118
+  input: plugins_cache,
119
+  output: 'hotdoc-configs.json',
120
+)
121
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/a52dec/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/a52dec/meson.build Changed
41
 
1
@@ -3,13 +3,30 @@
2
   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
3
   ''')
4
 
5
+a52dec_sources = 
6
+  'gsta52dec.c',
7
+
8
+
9
+a52dec_headers = 
10
+  'gsta52dec.h',
11
+
12
+
13
+doc_sources = 
14
+foreach s: a52dec_sources + a52dec_headers
15
+  doc_sources += meson.current_source_dir() / s
16
+endforeach
17
+
18
+plugin_sources += {
19
+  'a52dec': pathsep.join(doc_sources)
20
+}
21
+
22
 a52_dep = cc.find_library('a52', required : get_option('a52dec'))
23
 if a52_dep.found()
24
   have_a52_h = cc.has_header_symbol('a52dec/a52.h', 'a52_init', prefix : '#include <stdint.h>')
25
 
26
   if have_a52_h
27
     a52dec = library('gsta52dec',
28
-      'gsta52dec.c',
29
+      a52dec_sources,
30
       c_args : ugly_args,
31
       include_directories : configinc,
32
       dependencies : gstaudio_dep, orc_dep, a52_dep,
33
@@ -18,6 +35,6 @@
34
     )
35
     plugins += a52dec
36
   elif a52dec_opt.enabled()
37
-    error('a52dec plugin enabled but a52.h not found')  
38
+    error('a52dec plugin enabled but a52.h not found')
39
   endif
40
 endif
41
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/cdio/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/cdio/meson.build Changed
34
 
1
@@ -3,11 +3,31 @@
2
   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
3
   ''')
4
 
5
+cdio_sources = 
6
+  'gstcdio.c',
7
+  'gstcdiocddasrc.c',
8
+
9
+
10
+cdio_headers = 
11
+  'gstcdiocddasrc.h',
12
+  'gstcdio.h',
13
+
14
+
15
+doc_sources = 
16
+foreach s: cdio_sources + cdio_headers
17
+  doc_sources += meson.current_source_dir() / s
18
+endforeach
19
+
20
+plugin_sources += {
21
+  'cdio': pathsep.join(doc_sources)
22
+}
23
+
24
 cdio_dep = dependency('libcdio', version : '>= 0.76', required : cdio_opt)
25
 
26
 if cdio_dep.found()
27
+
28
   cdio = library('gstcdio',
29
-    'gstcdio.c', 'gstcdiocddasrc.c',
30
+    cdio_sources,
31
     c_args : ugly_args,
32
     include_directories : configinc, libsinc,
33
     dependencies : gstaudio_dep, gsttag_dep, cdio_dep,
34
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/dvdread/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/dvdread/meson.build Changed
31
 
1
@@ -3,11 +3,28 @@
2
   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
3
   ''')
4
 
5
+dvdread_sources = 
6
+  'dvdreadsrc.c',
7
+
8
+
9
+dvdread_headers = 
10
+  'dvdreadsrc.h',
11
+
12
+
13
+doc_sources = 
14
+foreach s: dvdread_sources + dvdread_headers
15
+  doc_sources += meson.current_source_dir() / s
16
+endforeach
17
+
18
+plugin_sources += {
19
+  'dvdread': pathsep.join(doc_sources)
20
+}
21
+
22
 dvdread_dep = dependency('dvdread', version : '>= 0.5.0', required : dvdread_opt)
23
 
24
 if dvdread_dep.found()
25
   dvdread = library('gstdvdread',
26
-    'dvdreadsrc.c',
27
+    dvdread_sources,
28
     c_args : ugly_args,
29
     include_directories : configinc, libsinc,
30
     dependencies : gstbase_dep, gmodule_dep, dvdread_dep,
31
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/mpeg2dec/gstmpeg2dec.c -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/mpeg2dec/gstmpeg2dec.c Changed
12
 
1
@@ -1120,8 +1120,10 @@
2
         break;
3
       case STATE_INVALID_END:
4
         GST_DEBUG_OBJECT (mpeg2dec, "invalid end");
5
+        /* FALLTHROUGH */
6
       case STATE_END:
7
         GST_DEBUG_OBJECT (mpeg2dec, "end");
8
+        /* FALLTHROUGH */
9
       case STATE_SLICE:
10
         GST_DEBUG_OBJECT (mpeg2dec, "display_fbuf:%p, discard_fbuf:%p",
11
             info->display_fbuf, info->discard_fbuf);
12
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/mpeg2dec/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/mpeg2dec/meson.build Changed
31
 
1
@@ -3,11 +3,28 @@
2
   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
3
   ''')
4
 
5
+mpeg2dec_sources = 
6
+  'gstmpeg2dec.c',
7
+
8
+
9
+mpeg2dec_headers = 
10
+  'gstmpeg2dec.h',
11
+
12
+
13
+doc_sources = 
14
+foreach s: mpeg2dec_sources + mpeg2dec_headers
15
+  doc_sources += meson.current_source_dir() / s
16
+endforeach
17
+
18
+plugin_sources += {
19
+  'mpeg2dec': pathsep.join(doc_sources)
20
+}
21
+
22
 mpeg2_dep = dependency('libmpeg2', version : '>= 0.4.0', required : mpeg2dec_opt)
23
 
24
 if mpeg2_dep.found()
25
   mpeg2dec = library('gstmpeg2dec',
26
-    'gstmpeg2dec.c',
27
+    mpeg2dec_sources,
28
     c_args : ugly_args,
29
     include_directories : configinc,
30
     dependencies : gstvideo_dep, mpeg2_dep,
31
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/sidplay/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/sidplay/meson.build Changed
35
 
1
@@ -3,6 +3,23 @@
2
   Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
3
   ''')
4
 
5
+sid_sources = 
6
+  'gstsiddec.cc',
7
+
8
+
9
+sid_headers = 
10
+  'gstsiddec.h',
11
+
12
+
13
+doc_sources = 
14
+foreach s: sid_sources + sid_headers
15
+  doc_sources += meson.current_source_dir() / s
16
+endforeach
17
+
18
+plugin_sources += {
19
+  'sid': pathsep.join(doc_sources)
20
+}
21
+
22
 if not add_languages('cpp', native: false, required: sidplay_option)
23
   subdir_done()
24
 endif
25
@@ -28,7 +45,8 @@
26
   subdir_done()
27
 endif
28
 
29
-gstsid = library('gstsid', 'gstsiddec.cc',
30
+gstsid = library('gstsid',
31
+  sid_sources,
32
   cpp_args : ugly_args,
33
   include_directories : configinc,
34
   dependencies : gstaudio_dep, sidplay_dep,
35
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/x264/gstx264enc.c -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/x264/gstx264enc.c Changed
134
 
1
@@ -423,6 +423,7 @@
2
   ARG_TUNE,
3
   ARG_FRAME_PACKING,
4
   ARG_INSERT_VUI,
5
+  ARG_NAL_HRD,
6
 };
7
 
8
 #define ARG_THREADS_DEFAULT            0        /* 0 means 'auto' which is 1.5x number of CPU cores */
9
@@ -465,6 +466,7 @@
10
 #define ARG_TUNE_DEFAULT               0        /* no tuning */
11
 #define ARG_FRAME_PACKING_DEFAULT      -1       /* automatic (none, or from input caps) */
12
 #define ARG_INSERT_VUI_DEFAULT         TRUE
13
+#define ARG_NAL_HRD_DEFAULT            0
14
 
15
 enum
16
 {
17
@@ -505,6 +507,25 @@
18
   return pass_type;
19
 }
20
 
21
+#define GST_X264_ENC_NAL_HRD_TYPE (gst_x264_enc_nal_hrd_get_type())
22
+static GType
23
+gst_x264_enc_nal_hrd_get_type (void)
24
+{
25
+  static GType nal_hrd_type = 0;
26
+
27
+  static const GEnumValue nal_hrd_types = {
28
+    {GST_X264_ENC_NAL_HRD_NONE, "None", "none"},
29
+    {GST_X264_ENC_NAL_HRD_VBR, "Variable bitrate", "vbr"},
30
+    {GST_X264_ENC_NAL_HRD_CBR, "Constant bitrate", "cbr"},
31
+    {0, NULL, NULL}
32
+  };
33
+
34
+  if (!nal_hrd_type) {
35
+    nal_hrd_type = g_enum_register_static ("GstX264EncNalHrd", nal_hrd_types);
36
+  }
37
+  return nal_hrd_type;
38
+}
39
+
40
 #define GST_X264_ENC_ME_TYPE (gst_x264_enc_me_get_type())
41
 static GType
42
 gst_x264_enc_me_get_type (void)
43
@@ -849,8 +870,8 @@
44
   filter_caps = gst_caps_new_empty ();
45
 
46
   for (i = 0; i < gst_caps_get_size (supported_incaps); i++) {
47
-    GQuark q_name =
48
-        gst_structure_get_name_id (gst_caps_get_structure (supported_incaps,
49
+    const GstIdStr *name =
50
+        gst_structure_get_name_id_str (gst_caps_get_structure (supported_incaps,
51
             i));
52
 
53
     for (j = 0; j < gst_caps_get_size (allowed); j++) {
54
@@ -860,7 +881,7 @@
55
 
56
       /* FIXME Find a way to reuse gst_video_encoder_proxy_getcaps so that
57
        * we do not need to copy that logic */
58
-      s = gst_structure_new_id_empty (q_name);
59
+      s = gst_structure_new_id_str_empty (name);
60
       if ((val = gst_structure_get_value (allowed_s, "width")))
61
         gst_structure_set_value (s, "width", val);
62
       if ((val = gst_structure_get_value (allowed_s, "height")))
63
@@ -1210,6 +1231,25 @@
64
   g_string_append_printf (x264enc_defaults, ":interlaced=%d",
65
       ARG_INTERLACED_DEFAULT);
66
 
67
+  /**
68
+   * x264enc:nal-hrd:
69
+   *
70
+   * Signal Hypothetical Reference Decoder information.
71
+   *
72
+   * Required for Blu-ray streams, television broadcast and a
73
+   * few other specialist areas.
74
+   *
75
+   * It can be used for instance to force true CBR, and will cause
76
+   * the encoder to output NULL padding packets.
77
+   *
78
+   * Since: 1.26
79
+   */
80
+  g_object_class_install_property (gobject_class, ARG_NAL_HRD,
81
+      g_param_spec_enum ("nal-hrd", "NAL HRD",
82
+          "Signal Hypothetical Reference Decoder information",
83
+          GST_X264_ENC_NAL_HRD_TYPE, ARG_NAL_HRD_DEFAULT,
84
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
85
+
86
   /* append deblock parameters */
87
   g_string_append_printf (x264enc_defaults, ":deblock=0,0");
88
   /* append weighted prediction parameter */
89
@@ -1244,6 +1284,7 @@
90
   gst_type_mark_as_plugin_api (GST_X264_ENC_PSY_TUNE_TYPE, 0);
91
   gst_type_mark_as_plugin_api (GST_X264_ENC_SPEED_PRESET_TYPE, 0);
92
   gst_type_mark_as_plugin_api (GST_X264_ENC_TUNE_TYPE, 0);
93
+  gst_type_mark_as_plugin_api (GST_X264_ENC_NAL_HRD_TYPE, 0);
94
 }
95
 
96
 /* *INDENT-OFF* */
97
@@ -1341,6 +1382,7 @@
98
   encoder->tune = ARG_TUNE_DEFAULT;
99
   encoder->frame_packing = ARG_FRAME_PACKING_DEFAULT;
100
   encoder->insert_vui = ARG_INSERT_VUI_DEFAULT;
101
+  encoder->nal_hrd = ARG_NAL_HRD_DEFAULT;
102
 
103
   encoder->bitrate_manager =
104
       gst_encoder_bitrate_profile_manager_new (ARG_BITRATE_DEFAULT);
105
@@ -1916,6 +1958,8 @@
106
 
107
   GST_OBJECT_UNLOCK (encoder);
108
 
109
+  encoder->x264param.i_nal_hrd = encoder->nal_hrd;
110
+
111
   encoder->x264enc = encoder->vtable->x264_encoder_open (&encoder->x264param);
112
   if (!encoder->x264enc) {
113
     GST_ELEMENT_ERROR (encoder, STREAM, ENCODE,
114
@@ -3032,6 +3076,9 @@
115
     case ARG_INSERT_VUI:
116
       encoder->insert_vui = g_value_get_boolean (value);
117
       break;
118
+    case ARG_NAL_HRD:
119
+      encoder->nal_hrd = g_value_get_enum (value);
120
+      break;
121
     default:
122
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
123
       break;
124
@@ -3176,6 +3223,9 @@
125
     case ARG_INSERT_VUI:
126
       g_value_set_boolean (value, encoder->insert_vui);
127
       break;
128
+    case ARG_NAL_HRD:
129
+      g_value_set_enum (value, encoder->nal_hrd);
130
+      break;
131
     default:
132
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
133
       break;
134
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/x264/gstx264enc.h -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/x264/gstx264enc.h Changed
43
 
1
@@ -35,7 +35,7 @@
2
  * compiler is unable to correctly do the pointer indirection for us, which
3
  * leads to a segfault when you try to dereference any const values provided
4
  * by x264.dll. See: https://bugzilla.gnome.org/show_bug.cgi?id=779249 */
5
-#if defined(_WIN32) && !defined(X264_API_IMPORTS)
6
+#if defined(_WIN32) && !defined(X264_API_IMPORTS) && !defined(GST_STATIC_COMPILATION)
7
 # define X264_API_IMPORTS
8
 #endif
9
 #include <x264.h>
10
@@ -113,6 +113,7 @@
11
   GString *option_string; /* used by set prop */
12
   gint frame_packing;
13
   gboolean insert_vui;
14
+  gint nal_hrd;
15
 
16
   /* input description */
17
   GstVideoCodecState *input_state;
18
@@ -136,6 +137,24 @@
19
   GstVideoEncoderClass parent_class;
20
 };
21
 
22
+/**
23
+ * GstX264EncNalHrd:
24
+ * @GST_X264_ENC_NAL_HRD_NONE: Specify no HRD information
25
+ * @GST_X264_ENC_NAL_HRD_VBR: Specify HRD information
26
+ * @GST_X264_ENC_NAL_HRD_CBR: Specify HRD information and pack the bitstream
27
+ *
28
+ * Signal HRD information. Required for Blu-ray streams,
29
+ * television broadcast and a few other specialist areas.
30
+ *
31
+ * Since: 1.26
32
+ */
33
+typedef enum
34
+{
35
+  GST_X264_ENC_NAL_HRD_NONE = 0,
36
+  GST_X264_ENC_NAL_HRD_VBR = 1,
37
+  GST_X264_ENC_NAL_HRD_CBR = 2,
38
+} GstX264EncNalHrd;
39
+
40
 GType gst_x264_enc_get_type (void);
41
 GST_ELEMENT_REGISTER_DECLARE (x264enc);
42
 
43
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/ext/x264/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/ext/x264/meson.build Changed
22
 
1
@@ -8,6 +8,20 @@
2
   'gstencoderbitrateprofilemanager.c',
3
 
4
 
5
+x264_headers = 
6
+  'gstx264enc.h',
7
+  'gstencoderbitrateprofilemanager.h',
8
+
9
+
10
+doc_sources = 
11
+foreach s: x264_sources + x264_headers
12
+  doc_sources += meson.current_source_dir() / s
13
+endforeach
14
+
15
+plugin_sources += {
16
+  'x264': pathsep.join(doc_sources)
17
+}
18
+
19
 x264_dep = dependency('x264', version : '>=0.156', required : x264_opt,
20
                       fallback: 'x264', 'libx264_dep')
21
 
22
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst-plugins-ugly.doap -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst-plugins-ugly.doap Changed
139
 
1
@@ -35,121 +35,41 @@
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
-   <created>2025-01-06</created>
19
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.11.tar.xz" />
20
-  </Version>
21
- </release>
22
-
23
- <release>
24
-  <Version>
25
-   <revision>1.24.10</revision>
26
-   <branch>1.24</branch>
27
-   <name></name>
28
-   <created>2024-12-03</created>
29
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.10.tar.xz" />
30
-  </Version>
31
- </release>
32
-
33
- <release>
34
-  <Version>
35
-   <revision>1.24.9</revision>
36
-   <branch>1.24</branch>
37
-   <name></name>
38
-   <created>2024-10-30</created>
39
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.9.tar.xz" />
40
-  </Version>
41
- </release>
42
-
43
- <release>
44
-  <Version>
45
-   <revision>1.24.8</revision>
46
-   <branch>1.24</branch>
47
-   <name></name>
48
-   <created>2024-09-19</created>
49
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.8.tar.xz" />
50
-  </Version>
51
- </release>
52
-
53
- <release>
54
-  <Version>
55
-   <revision>1.24.7</revision>
56
-   <branch>1.24</branch>
57
-   <name></name>
58
-   <created>2024-08-21</created>
59
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.7.tar.xz" />
60
-  </Version>
61
- </release>
62
-
63
- <release>
64
-  <Version>
65
-   <revision>1.24.6</revision>
66
-   <branch>1.24</branch>
67
-   <name></name>
68
-   <created>2024-07-29</created>
69
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.6.tar.xz" />
70
-  </Version>
71
- </release>
72
-
73
- <release>
74
-  <Version>
75
-   <revision>1.24.5</revision>
76
-   <branch>1.24</branch>
77
-   <name></name>
78
-   <created>2024-06-20</created>
79
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.5.tar.xz" />
80
-  </Version>
81
- </release>
82
-
83
- <release>
84
-  <Version>
85
-   <revision>1.24.4</revision>
86
-   <branch>1.24</branch>
87
+   <revision>1.26.0</revision>
88
+   <branch>main</branch>
89
    <name></name>
90
-   <created>2024-05-29</created>
91
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.4.tar.xz" />
92
+   <created>2025-03-11</created>
93
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.0.tar.xz" />
94
   </Version>
95
  </release>
96
 
97
  <release>
98
   <Version>
99
-   <revision>1.24.3</revision>
100
-   <branch>1.24</branch>
101
+   <revision>1.25.90</revision>
102
+   <branch>main</branch>
103
    <name></name>
104
-   <created>2024-04-30</created>
105
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.3.tar.xz" />
106
+   <created>2025-02-23</created>
107
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.25.90.tar.xz" />
108
   </Version>
109
  </release>
110
 
111
  <release>
112
   <Version>
113
-   <revision>1.24.2</revision>
114
-   <branch>1.24</branch>
115
+   <revision>1.25.50</revision>
116
+   <branch>main</branch>
117
    <name></name>
118
-   <created>2024-04-09</created>
119
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.2.tar.xz" />
120
+   <created>2025-02-09</created>
121
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.25.50.tar.xz" />
122
   </Version>
123
  </release>
124
 
125
  <release>
126
   <Version>
127
-   <revision>1.24.1</revision>
128
-   <branch>1.24</branch>
129
+   <revision>1.25.1</revision>
130
+   <branch>main</branch>
131
    <name></name>
132
-   <created>2024-03-21</created>
133
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.1.tar.xz" />
134
+   <created>2025-01-14</created>
135
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.25.1.tar.xz" />
136
   </Version>
137
  </release>
138
 
139
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/asfdemux/gstasfdemux.c -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/asfdemux/gstasfdemux.c Changed
19
 
1
@@ -2304,15 +2304,15 @@
2
         GST_INFO_OBJECT (demux, "Chained asf starting");
3
         /* cleanup and get ready for a chained asf */
4
         gst_asf_demux_reset (demux, TRUE);
5
-        /* fall through */
6
       }
7
     }
8
+      /* FALLTHROUGH */
9
     case GST_ASF_DEMUX_STATE_HEADER:{
10
       ret = gst_asf_demux_chain_headers (demux);
11
       if (demux->state != GST_ASF_DEMUX_STATE_DATA)
12
         break;
13
-      /* otherwise fall through */
14
     }
15
+      /* FALLTHROUGH */
16
     case GST_ASF_DEMUX_STATE_DATA:
17
     {
18
       guint64 data_size;
19
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/asfdemux/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/asfdemux/meson.build Changed
30
 
1
@@ -8,6 +8,28 @@
2
   'gstrtspwms.c',
3
 
4
 
5
+asf_headers = 
6
+  'gstasfelements.h',
7
+  'gstasfdemux.h',
8
+  'asfheaders.h',
9
+  'gstrtpasfdepay.h',
10
+  'gstrtspwms.h',
11
+  'asfpacket.h',
12
+
13
+
14
+doc_sources = 
15
+foreach s: asf_sources + asf_headers
16
+  doc_sources += meson.current_source_dir() / s
17
+endforeach
18
+
19
+plugin_sources += {
20
+  'asf': pathsep.join(doc_sources)
21
+}
22
+
23
+if get_option('asfdemux').disabled()
24
+  subdir_done()
25
+endif
26
+
27
 gstasf = library('gstasf',
28
   asf_sources,
29
   c_args : ugly_args,
30
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/dvdlpcmdec/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/dvdlpcmdec/meson.build Changed
25
 
1
@@ -2,6 +2,23 @@
2
   'gstdvdlpcmdec.c'
3
 
4
 
5
+dvdpl_headers = 
6
+  'gstdvdlpcmdec.h',
7
+
8
+
9
+doc_sources = 
10
+foreach s: dvdpl_sources + dvdpl_headers
11
+  doc_sources += meson.current_source_dir() / s
12
+endforeach
13
+
14
+plugin_sources += {
15
+  'dvdlpcmdec': pathsep.join(doc_sources)
16
+}
17
+
18
+if get_option('dvdlpcmdec').disabled()
19
+  subdir_done()
20
+endif
21
+
22
 gstdvdlpcmdec = library('gstdvdlpcmdec',
23
   dvdpl_sources,
24
   c_args : ugly_args,
25
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/dvdsub/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/dvdsub/meson.build Changed
26
 
1
@@ -3,6 +3,24 @@
2
   'gstdvdsubparse.c',
3
 
4
 
5
+dvdsub_headers = 
6
+  'gstdvdsubdec.h',
7
+  'gstdvdsubparse.h',
8
+
9
+
10
+doc_sources = 
11
+foreach s: dvdsub_sources + dvdsub_headers
12
+  doc_sources += meson.current_source_dir() / s
13
+endforeach
14
+
15
+plugin_sources += {
16
+  'dvdsub': pathsep.join(doc_sources)
17
+}
18
+
19
+if get_option('dvdsub').disabled()
20
+  subdir_done()
21
+endif
22
+
23
 gstdvdsub = library('gstdvdsub',
24
   dvdsub_sources,
25
   c_args : ugly_args,
26
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/meson.build Changed
8
 
1
@@ -1,5 +1,3 @@
2
 foreach plugin : 'asfdemux', 'dvdlpcmdec', 'dvdsub', 'realmedia'
3
-  if not get_option(plugin).disabled()
4
-    subdir(plugin)
5
-  endif
6
+  subdir(plugin)
7
 endforeach
8
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/realmedia/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/realmedia/meson.build Changed
28
 
1
@@ -5,6 +5,26 @@
2
   'realmedia.c'
3
 
4
 
5
+real_headers = 
6
+  'rmdemux.h',
7
+  'rademux.h',
8
+  'rmutils.h',
9
+  'pnmsrc.h',
10
+
11
+
12
+doc_sources = 
13
+foreach s: real_sources + real_headers
14
+  doc_sources += meson.current_source_dir() / s
15
+endforeach
16
+
17
+plugin_sources += {
18
+  'realmedia': pathsep.join(doc_sources)
19
+}
20
+
21
+if get_option('realmedia').disabled()
22
+  subdir_done()
23
+endif
24
+
25
 gstrmdemux = library('gstrealmedia',
26
   real_sources,
27
   c_args : ugly_args,
28
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/gst/realmedia/rademux.c -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/gst/realmedia/rademux.c Changed
18
 
1
@@ -595,14 +595,14 @@
2
       ret = gst_real_audio_demux_parse_marker (demux);
3
       if (ret != GST_FLOW_OK || demux->state != REAL_AUDIO_DEMUX_STATE_HEADER)
4
         break;
5
-      /* otherwise fall through */
6
     }
7
+      /* FALLTHROUGH */
8
     case REAL_AUDIO_DEMUX_STATE_HEADER:{
9
       ret = gst_real_audio_demux_parse_header (demux);
10
       if (ret != GST_FLOW_OK || demux->state != REAL_AUDIO_DEMUX_STATE_DATA)
11
         break;
12
-      /* otherwise fall through */
13
     }
14
+      /* FALLTHROUGH */
15
     case REAL_AUDIO_DEMUX_STATE_DATA:{
16
       ret = gst_real_audio_demux_parse_data (demux);
17
       break;
18
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/meson.build -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/meson.build Changed
111
 
1
@@ -1,6 +1,6 @@
2
 project('gst-plugins-ugly', 'c',
3
-  version : '1.24.12',
4
-  meson_version : '>= 1.1',
5
+  version : '1.26.0',
6
+  meson_version : '>= 1.4',
7
   default_options :  'warning_level=1',
8
                       'buildtype=debugoptimized' )
9
 
10
@@ -32,6 +32,7 @@
11
 static_build = get_option('default_library') == 'static'
12
 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
13
 plugins = 
14
+plugin_sources = {}
15
 
16
 cc = meson.get_compiler('c')
17
 if have_cxx
18
@@ -97,7 +98,6 @@
19
 endif
20
 
21
 cdata = configuration_data()
22
-cdata.set('ENABLE_NLS', 1)
23
 
24
 check_headers = 
25
   'HAVE_DLFCN_H', 'dlfcn.h',
26
@@ -244,19 +244,22 @@
27
 endif
28
 
29
 warning_flags = 
30
-  '-Wmissing-declarations',
31
-  '-Wredundant-decls',
32
-  '-Wwrite-strings',
33
+  '-Waddress',
34
+  '-Waggregate-return',
35
   '-Wformat',
36
   '-Wformat-nonliteral',
37
   '-Wformat-security',
38
+  '-Wimplicit-fallthrough=3',
39
   '-Winit-self',
40
+  '-Wmissing-declarations',
41
   '-Wmissing-include-dirs',
42
-  '-Waddress',
43
   '-Wno-multichar',
44
-  '-Wvla',
45
   '-Wpointer-arith',
46
-  '-Waggregate-return',
47
+  '-Wredundant-decls',
48
+  '-Wshift-negative-value',
49
+  '-Wtype-limits',
50
+  '-Wvla',
51
+  '-Wwrite-strings',
52
   '-fno-strict-aliasing',
53
   # Symbol visibility
54
   '-fvisibility=hidden',
55
@@ -289,20 +292,20 @@
56
   add_project_arguments('-DG_DISABLE_DEPRECATED', language: 'c')
57
 endif
58
 
59
-cast_checks = get_option('gobject-cast-checks')
60
-if cast_checks.disabled() or (cast_checks.auto() and not gst_version_is_dev)
61
+# Same logic as in GLib.
62
+glib_debug = get_option('glib_debug')
63
+if glib_debug.disabled() or (
64
+   glib_debug.auto() and (not get_option('debug') or get_option('optimization') not in  '0', 'g' ))
65
   message('Disabling GLib cast checks')
66
   add_project_arguments('-DG_DISABLE_CAST_CHECKS', language: 'c')
67
 endif
68
 
69
-glib_asserts = get_option('glib-asserts')
70
-if glib_asserts.disabled() or (glib_asserts.auto() and not gst_version_is_dev)
71
+if not get_option('glib_assert')
72
   message('Disabling GLib asserts')
73
   add_project_arguments('-DG_DISABLE_ASSERT', language: 'c')
74
 endif
75
 
76
-glib_checks = get_option('glib-checks')
77
-if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev)
78
+if not get_option('glib_checks')
79
   message('Disabling GLib checks')
80
   add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
81
 endif
82
@@ -320,12 +323,19 @@
83
 
84
 python3 = import('python').find_installation()
85
 
86
+if host_machine.system() == 'windows'
87
+  pathsep = ';'
88
+else
89
+  pathsep = ':'
90
+endif
91
+
92
 subdir('gst')
93
 subdir('ext')
94
 subdir('tests')
95
 
96
 # xgettext is optional (on Windows for instance)
97
 if find_program('xgettext', required : get_option('nls')).found()
98
+  cdata.set('ENABLE_NLS', 1)
99
   subdir('po')
100
 endif
101
 subdir('docs')
102
@@ -342,7 +352,7 @@
103
 
104
 configure_file(output : 'config.h', configuration : cdata)
105
 
106
-meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.22.0', meson.project_version())
107
+meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.24.0', meson.project_version())
108
 
109
 plugin_names = 
110
 gst_plugins = 
111
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/meson_options.txt -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/meson_options.txt Changed
36
 
1
@@ -24,12 +24,6 @@
2
        description : 'Enable native language support (translations)')
3
 option('orc', type : 'feature', value : 'auto', yield : true)
4
 option('tests', type : 'feature', value : 'auto', yield : true)
5
-option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
6
-       description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)')
7
-option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
8
-       description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)')
9
-option('glib-checks', type : 'feature', value : 'enabled', yield : true,
10
-       description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)')
11
 
12
 # Common options
13
 option('package-name', type : 'string', yield : true,
14
@@ -38,3 +32,21 @@
15
        description : 'package origin URL to use in plugins')
16
 option('doc', type : 'feature', value : 'auto', yield: true,
17
        description: 'Enable documentation.')
18
+option('glib_debug', type : 'feature', value : 'auto', yield : true, description : 'Enable GLib debug infrastructure (see docs/macros.txt)')
19
+option('glib_assert', type : 'boolean', value : true, yield : true, description : 'Enable GLib assertion (see docs/macros.txt)',
20
+  deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'},
21
+)
22
+option('glib_checks', type : 'boolean', value : true, yield : true, description : 'Enable GLib checks such as API guards (see docs/macros.txt)',
23
+  deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'},
24
+)
25
+
26
+# Deprecated, kept for backward compat
27
+option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
28
+       description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)',
29
+       deprecated: 'glib_debug')
30
+option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
31
+       description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)',
32
+       deprecated: 'glib_assert')
33
+option('glib-checks', type : 'feature', value : 'enabled', yield : true,
34
+       description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)',
35
+       deprecated: 'glib_checks')
36
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/po/gst-plugins-ugly-1.0.pot -> _service:download_url:gst-plugins-ugly-1.26.0.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.12\n"
6
+"Project-Id-Version: gst-plugins-ugly-1.26.0\n"
7
 "Report-Msgid-Bugs-To: \n"
8
-"POT-Creation-Date: 2025-01-29 20:13+0000\n"
9
+"POT-Creation-Date: 2025-03-11 20:15+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.12.tar.xz/po/gst-plugins-ugly.pot -> _service:download_url:gst-plugins-ugly-1.26.0.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.12\n"
6
+"Project-Id-Version: gst-plugins-ugly-1.26.0\n"
7
 "Report-Msgid-Bugs-To: \n"
8
-"POT-Creation-Date: 2025-01-29 20:13+0000\n"
9
+"POT-Creation-Date: 2025-03-11 20:15+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.12.tar.xz/po/hr.po -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/po/hr.po Changed
19
 
1
@@ -9,7 +9,7 @@
2
 msgstr ""
3
 "Project-Id-Version: gst-plugins-ugly-1.24.0\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2024-11-03 17:37+0000\n"
6
+"POT-Creation-Date: 2025-02-23 16:56+0000\n"
7
 "PO-Revision-Date: 2024-03-08 10:46-0800\n"
8
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
9
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
10
@@ -75,7 +75,7 @@
11
 #~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
12
 #~ "bitrate was changed to %d kbit/s."
13
 #~ msgstr ""
14
-#~ "Tražena brzina (bitrate) %d kbit/s za svojstvo „%s“ nije dopuštena. "
15
+#~ "Tražena brzina (bitrate) %d kbit/s za svojstvo „%s” nije dopuštena. "
16
 #~ "Brzina (bitrate) je promijenjena u %d kbit/s."
17
 
18
 #~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
19
_service:download_url:gst-plugins-ugly-1.24.12.tar.xz/po/pt_BR.po -> _service:download_url:gst-plugins-ugly-1.26.0.tar.xz/po/pt_BR.po Changed
16
 
1
@@ -8,11 +8,11 @@
2
 msgstr ""
3
 "Project-Id-Version: gst-plugins-ugly-1.19.2\n"
4
 "Report-Msgid-Bugs-To: \n"
5
-"POT-Creation-Date: 2021-10-25 01:02+0100\n"
6
+"POT-Creation-Date: 2025-02-23 16:56+0000\n"
7
 "PO-Revision-Date: 2021-09-26 12:38-0300\n"
8
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
9
-"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
10
-"net>\n"
11
+"Language-Team: Brazilian Portuguese <ldpbr-"
12
+"translation@lists.sourceforge.net>\n"
13
 "Language: pt_BR\n"
14
 "MIME-Version: 1.0\n"
15
 "Content-Type: text/plain; charset=UTF-8\n"
16