1 GStreamer 1.22 Release Notes
3 GStreamer 1.22 has not been released yet. It is scheduled for release
4 around in January 2023.
6 1.21.x is the unstable development version that is being developed in
7 the git master branch and which will eventually result in 1.22, and
8 1.21.90 is the first release candidate for 1.22 (rc1) in that series
10 A feature freeze is now into effect for the 1.21 branch, but newly-added
11 API might still change until the final 1.22.0 stable release, and minor
12 features may also still be added until then.
14 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
15 1.12, 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
17 See https://gstreamer.freedesktop.org/releases/1.22/ for the latest
18 version of this document.
20 Last updated: Thursday 12 January 2023, 15:00 UTC (log)
24 The GStreamer team is proud to announce a new major feature release in
25 the stable 1.x API series of your favourite cross-platform multimedia
28 As always, this release is again packed with many new features, bug
29 fixes and other improvements.
33 - this section will be completed in due course
35 Major new features and changes
37 Noteworthy new features and API
39 - this section will be filled in in due course
43 - this section will be filled in in due course
45 New element features and additions
47 - this section will be filled in in due course
49 Plugin and library moves
51 - this section will be filled in in due course
53 - There were no plugin moves or library moves in this cycle.
57 The following elements or plugins have been removed:
59 - this section will be filled in in due course
61 Miscellaneous API additions
63 - this section will be filled in in due course
65 Miscellaneous performance, latency and memory optimisations
67 - this section will be filled in in due course
69 Miscellaneous other changes and enhancements
71 - this section will be filled in in due course
73 Tracing framework and debugging improvements
75 - this section will be filled in in due course
79 - this section will be filled in in due course
83 - this section will be filled in in due course
87 - this section will be filled in in due course
91 - this section will be filled in in due course
93 GStreamer Editing Services and NLE
95 - this section will be filled in in due course
99 - this section will be filled in in due course
101 GStreamer Python Bindings
103 - this section will be filled in in due course
105 GStreamer C# Bindings
107 - this section will be filled in in due course
109 GStreamer Rust Bindings and Rust Plugins
111 The GStreamer Rust bindings are released separately with a different
112 release cadence that’s tied to gtk-rs, but the latest release has
113 already been updated for the upcoming new GStreamer 1.22 API.
115 gst-plugins-rs, the module containing GStreamer plugins written in Rust,
116 has also seen lots of activity with many new elements and plugins.
118 What follows is a list of elements and plugins available in
119 gst-plugins-rs, so people don’t miss out on all those potentially useful
120 elements that have no C equivalent.
122 - FIXME: add new elements
126 - audiornnoise: New element for audio denoising which implements the
127 noise removal algorithm of the Xiph RNNoise library, in Rust
128 - rsaudioecho: Port of the audioecho element from gst-plugins-good
129 rsaudioloudnorm: Live audio loudness normalization element based on
130 the FFmpeg af_loudnorm filter
131 - claxondec: FLAC lossless audio codec decoder element based on the
132 pure-Rust claxon implementation
133 - csoundfilter: Audio filter that can use any filter defined via the
134 Csound audio programming language
135 - lewtondec: Vorbis audio decoder element based on the pure-Rust
136 lewton implementation
140 - cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
141 on a pure-Rust CD+G implementation, used for example by karaoke CDs
142 - cea608overlay: CEA-608 Closed Captions overlay element
143 - cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
145 - tttocea608: CEA-608 Closed Captions from timed-text converter
146 - mccenc/mccparse: MacCaption Closed Caption format encoder and parser
147 - sccenc/sccparse: Scenarist Closed Caption format encoder and parser
148 - dav1dec: AV1 video decoder based on the dav1d decoder implementation
150 - rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
151 encoder implementation
152 - rsflvdemux: Alternative to the flvdemux FLV demuxer element from
153 gst-plugins-good, not feature-equivalent yet
154 - rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
155 implementations by the image-rs project
159 - textwrap: Element for line-wrapping timed text (e.g. subtitles) for
160 better screen-fitting, including hyphenation support for some
165 - reqwesthttpsrc: HTTP(S) source element based on the Rust
166 reqwest/hyper HTTP implementations and almost feature-equivalent
167 with the main GStreamer HTTP source souphttpsrc
168 - s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
169 - awstranscriber: Live audio to timed text transcription element using
170 the Amazon AWS Transcribe API
174 - sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
176 - togglerecord: Recording element that allows to pause/resume
177 recordings easily and considers keyframe boundaries
178 - fallbackswitch/fallbacksrc: Elements for handling potentially
179 failing (network) sources, restarting them on errors/timeout and
180 showing a fallback stream instead
181 - threadshare: Set of elements that provide alternatives for various
182 existing GStreamer elements but allow to share the streaming threads
183 between each other to reduce the number of threads
184 - rsfilesrc/rsfilesink: File source/sink elements as replacements for
185 the existing filesrc/filesink elements
187 Build and Dependencies
189 - this section will be filled in in due course
191 - GLib >= 2.64 is now required (technically it still says >= 2.62 but
192 the plan is to bump that to 2.64 soon once some CI issues are sorted
195 - libnice >= 0.1.21 is now required and contains important fixes for
196 GStreamer’s WebRTC stack.
200 - this section will be filled in in due course
204 Cerbero is a meta build system used to build GStreamer plus dependencies
205 on platforms where dependencies are not readily available, such as
206 Windows, Android, iOS and macOS.
210 - this section will be filled in in due course
214 - this section will be filled in in due course
218 - this section will be filled in in due course
220 Windows MSI installer
222 - this section will be filled in in due course
226 - this section will be filled in in due course
230 - this section will be filled in in due course
232 Platform-specific changes and improvements
236 - this section will be filled in in due course
240 - this section will be filled in in due course
244 - this section will be filled in in due course
246 - The Windows universal UWP build is currently non-functional and will
247 need updating after the recent GLib upgrade. It is unclear if anyone
248 is using these binaries, so if you are please make yourself known.
252 - this section will be filled in in due course
254 Documentation improvements
256 - this section will be filled in in due course
258 Possibly Breaking Changes
260 - this section will be filled in in due course
262 - the Opus audio payloader and depayloader no longer accept the lower
263 case encoding-format=multiopus but instead produce and accept only
264 the upper case variant encoding-format=MULTIOPUS, since those should
265 always be upper case in GStreamer (caps fields are always case
266 sensitive). This should hopefully only affect applications where RTP
267 caps are set manually and multi-channel audio (>= 3 channels) is
272 - this section will be filled in in due course
274 - Known regressions/blockers:
278 - GStreamer may fail to build the hotdoc documentation with the Meson
279 0.64.0 release owing to a Meson bug. This should only affect systems
280 where hotdoc is installed, and will be fixed in Meson 0.64.1 by
281 Meson PR 10982 in combination with GStreamer MR 3352. In the
282 meantime, users can pass -Ddoc=disabled or downgrade to an older
283 Meson version (< 0.64.0).
287 Ádám Balázs, Adam Doupe, Adrian Fiergolski, Adrian Perez de Castro, Alba
288 Mendez, Aleix Conchillo Flaqué, Aleksandr Slobodeniuk, Alicia Boya
289 García, Alireza Miryazdi, Andoni Morales Alastruey, Andrew Pritchard,
290 Arun Raghavan, Bastian Krause, Bastien Nocera, Benjamin Gaignard, Brad
291 Hards, Branko Subasic, Bruce Liang, Camilo Celis Guzman, Carlos
292 Falgueras García, Carlos Rafael Giani, Célestin Marot, Christopher
293 Obbard, Christoph Reiter, Chris Wiggins, Chun-wei Fan, Corentin Damman,
294 Corentin Noël, Damian Hobson-Garcia, Daniel Almeida, Daniel Morin,
295 Daniel Stone, Daniels Umanovskis, Danny Smith, David Svensson Fors,
296 Devin Anderson, Diogo Goncalves, Dmitry Osipenko, Dongil Park, Doug
297 Nazar, Edward Hervey, Eli Schwartz, Elliot Chen, Enrique Ocaña González,
298 Eric Knapp, Erwann Gouesbet, Fabian Orccon, Fabrice Fontaine, Fan F He,
299 fduncanh, Filip Hanes, Florian Zwoch, François Laignel, Fuga Kato,
300 George Kiagiadakis, Guillaume Desmottes, Gu Yanjie, Haihao Xiang, Haihua
301 Hu, Havard Graff, Heiko Becker, He Junyan, Hoonhee Lee, Hosang Lee, Hou
302 Qi, Ignacio Casal Quinteiro, Ignazio Pillai, Igor V. Kovalenko, Jakub
303 Adam, James Cowgill, James Hilliard, Jan Alexander Steffens (heftig),
304 Jan Schmidt, Jianhui Dai, jinsl00000, Johan Sternerup, Jonas Bonn, Jonas
305 Danielsson, Jordan Petridis, Joseph Donofry, Jose Quaresma, Julian
306 Bouzas, Junsoo Park, Justin Chadwell, Khem Raj, Krystian Wojtas, László
307 Károlyi, Linus Svensson, Loic Le Page, Loïc Le Page, Ludvig Rappe, Marc
308 Leeman, Marek Vasut, Marijn Suijten, Mark Nauwelaerts, Martin Dørum,
309 Martin Reboredo, Mart Raudsepp, Mathieu Duponchelle, Matt Crane, Matthew
310 Waters, Matthias Clasen, Matthias Fuchs, Mengkejiergeli Ba, MG
311 Lolenstine, Michael Gruner, Michal Kubiak, Mikhail Fludkov, Ming Qian,
312 Myles Inglis, Nicolas Dufresne, Nirbheek Chauhan, Olivier Crête,
313 Patricia Muscalu, Patrick Griffis, Paweł Stawicki, Peter Stensson,
314 Philippe Normand, Philipp Zabel, Pierre Bourré, Piotr Brzeziński,
315 Piotrek Brzeziński, Rabindra Harlalka, Rafael Caricio, Rafael Sobral,
316 Raul Tambre, Robert Mader, Robert Rosengren, Rouven Czerwinski, Ruben
317 Gonzalez, Sam Van Den Berge, Sanchayan Maity, Sangchul Lee, Sebastian
318 Dröge, Sebastian Fricke, Sebastian Groß, Sebastian Mueller, Sebastian
319 Wick, Sergei Kovalev, Seungha Yang, Sherrill Lin, Shingo Kitagawa,
320 Stéphane Cerveau, Thibault Saunier, Tim Mooney, Tim-Philipp Müller,
321 Tomasz Andrzejak, Tom Schuring, Tong Wu, toor, Tristan Matthews, Tulio
322 Beloqui, U. Artie Eoff, Víctor Manuel Jáquez Leal, Vincent Cheah Beng
323 Keat, Vivia Nikolaidou, Vivienne Watermeier, WANG Xuerui, Wojciech
324 Kapsa, Wonchul Lee, Wu Tong, Xabier Rodriguez Calvar, Xavier Claessens,
325 Yatin Maan, Yeongjin Jeong, Zebediah Figura, Zhao Zhili, Zhiyuan Liu,
327 … and many others who have contributed bug reports, translations, sent
328 suggestions or helped testing.
332 After the 1.22.0 release there will be several 1.22.x bug-fix releases
333 which will contain bug fixes which have been deemed suitable for a
334 stable branch, but no new features or intrusive changes will be added to
335 a bug-fix release usually. The 1.22.x bug-fix releases will be made from
336 the git 1.22 branch, which will be a stable branch.
340 1.22.0 is scheduled to be released in January 2023.
344 Our next major feature release will be 1.24, and 1.23 will be the
345 unstable development version leading up to the stable 1.24 release. The
346 development of 1.23/1.24 will happen in the git main branch of the
347 GStreamer mono repository.
349 The plan for the 1.24 development cycle is yet to be confirmed.
351 1.24 will be backwards-compatible to the stable 1.22, 1.20, 1.18, 1.16,
352 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
354 ------------------------------------------------------------------------
356 These release notes have been prepared by Tim-Philipp Müller with
359 License: CC BY-SA 4.0