1 GStreamer 1.22 Release Notes
3 GStreamer 1.22 has not been released yet. It is scheduled for release
4 around the end of December 2022 / beginning of 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.3 is the current development release 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 A first 1.22 release candidate (1.21.90) is expected towards
15 mid-December, followed by more release candiates until the new 1.22
16 stable release around the end of December 2022 / beginning of January
19 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
20 1.12, 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
22 See https://gstreamer.freedesktop.org/releases/1.22/ for the latest
23 version of this document.
25 Last updated: Monday 5 December 2022, 01:00 UTC (log)
29 The GStreamer team is proud to announce a new major feature release in
30 the stable 1.x API series of your favourite cross-platform multimedia
33 As always, this release is again packed with many new features, bug
34 fixes and other improvements.
38 - this section will be completed in due course
40 Major new features and changes
42 Noteworthy new features and API
44 - this section will be filled in in due course
48 - this section will be filled in in due course
50 New element features and additions
52 - this section will be filled in in due course
54 Plugin and library moves
56 - this section will be filled in in due course
58 - There were no plugin moves or library moves in this cycle.
62 The following elements or plugins have been removed:
64 - this section will be filled in in due course
66 Miscellaneous API additions
68 - this section will be filled in in due course
70 Miscellaneous performance, latency and memory optimisations
72 - this section will be filled in in due course
74 Miscellaneous other changes and enhancements
76 - this section will be filled in in due course
78 Tracing framework and debugging improvements
80 - this section will be filled in in due course
84 - this section will be filled in in due course
88 - this section will be filled in in due course
92 - this section will be filled in in due course
96 - this section will be filled in in due course
98 GStreamer Editing Services and NLE
100 - this section will be filled in in due course
104 - this section will be filled in in due course
106 GStreamer Python Bindings
108 - this section will be filled in in due course
110 GStreamer C# Bindings
112 - this section will be filled in in due course
114 GStreamer Rust Bindings and Rust Plugins
116 The GStreamer Rust bindings are released separately with a different
117 release cadence that’s tied to gtk-rs, but the latest release has
118 already been updated for the upcoming new GStreamer 1.22 API.
120 gst-plugins-rs, the module containing GStreamer plugins written in Rust,
121 has also seen lots of activity with many new elements and plugins.
123 What follows is a list of elements and plugins available in
124 gst-plugins-rs, so people don’t miss out on all those potentially useful
125 elements that have no C equivalent.
127 - FIXME: add new elements
131 - audiornnoise: New element for audio denoising which implements the
132 noise removal algorithm of the Xiph RNNoise library, in Rust
133 - rsaudioecho: Port of the audioecho element from gst-plugins-good
134 rsaudioloudnorm: Live audio loudness normalization element based on
135 the FFmpeg af_loudnorm filter
136 - claxondec: FLAC lossless audio codec decoder element based on the
137 pure-Rust claxon implementation
138 - csoundfilter: Audio filter that can use any filter defined via the
139 Csound audio programming language
140 - lewtondec: Vorbis audio decoder element based on the pure-Rust
141 lewton implementation
145 - cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
146 on a pure-Rust CD+G implementation, used for example by karaoke CDs
147 - cea608overlay: CEA-608 Closed Captions overlay element
148 - cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
150 - tttocea608: CEA-608 Closed Captions from timed-text converter
151 - mccenc/mccparse: MacCaption Closed Caption format encoder and parser
152 - sccenc/sccparse: Scenarist Closed Caption format encoder and parser
153 - dav1dec: AV1 video decoder based on the dav1d decoder implementation
155 - rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
156 encoder implementation
157 - rsflvdemux: Alternative to the flvdemux FLV demuxer element from
158 gst-plugins-good, not feature-equivalent yet
159 - rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
160 implementations by the image-rs project
164 - textwrap: Element for line-wrapping timed text (e.g. subtitles) for
165 better screen-fitting, including hyphenation support for some
170 - reqwesthttpsrc: HTTP(S) source element based on the Rust
171 reqwest/hyper HTTP implementations and almost feature-equivalent
172 with the main GStreamer HTTP source souphttpsrc
173 - s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
174 - awstranscriber: Live audio to timed text transcription element using
175 the Amazon AWS Transcribe API
179 - sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
181 - togglerecord: Recording element that allows to pause/resume
182 recordings easily and considers keyframe boundaries
183 - fallbackswitch/fallbacksrc: Elements for handling potentially
184 failing (network) sources, restarting them on errors/timeout and
185 showing a fallback stream instead
186 - threadshare: Set of elements that provide alternatives for various
187 existing GStreamer elements but allow to share the streaming threads
188 between each other to reduce the number of threads
189 - rsfilesrc/rsfilesink: File source/sink elements as replacements for
190 the existing filesrc/filesink elements
192 Build and Dependencies
194 - this section will be filled in in due course
198 - this section will be filled in in due course
202 Cerbero is a meta build system used to build GStreamer plus dependencies
203 on platforms where dependencies are not readily available, such as
204 Windows, Android, iOS and macOS.
208 - this section will be filled in in due course
212 - this section will be filled in in due course
216 - this section will be filled in in due course
218 Windows MSI installer
220 - this section will be filled in in due course
224 - this section will be filled in in due course
228 - this section will be filled in in due course
230 Platform-specific changes and improvements
234 - this section will be filled in in due course
238 - this section will be filled in in due course
242 - this section will be filled in in due course
246 - this section will be filled in in due course
248 Documentation improvements
250 - this section will be filled in in due course
252 Possibly Breaking Changes
254 - this section will be filled in in due course
258 - this section will be filled in in due course
260 - Known regressions/blockers:
264 - GStreamer may fail to build the hotdoc documentation with the Meson
265 0.64.0 release owing to a Meson bug. This should only affect systems
266 where hotdoc is installed, and will be fixed in Meson 0.64.1 by
267 Meson PR 10982 in combination with GStreamer MR 3352. In the
268 meantime, users can pass -Ddoc=disabled or downgrade to an older
269 Meson version (< 0.64.0).
273 Ádám Balázs, Adam Doupe, Adrian Fiergolski, Adrian Perez de Castro, Alba
274 Mendez, Aleix Conchillo Flaqué, Aleksandr Slobodeniuk, Alicia Boya
275 García, Alireza Miryazdi, Andoni Morales Alastruey, Andrew Pritchard,
276 Arun Raghavan, Bastian Krause, Bastien Nocera, Benjamin Gaignard, Brad
277 Hards, Branko Subasic, Bruce Liang, Camilo Celis Guzman, Carlos
278 Falgueras García, Carlos Rafael Giani, Célestin Marot, Christopher
279 Obbard, Christoph Reiter, Chris Wiggins, Chun-wei Fan, Corentin Damman,
280 Corentin Noël, Damian Hobson-Garcia, Daniel Almeida, Daniel Morin,
281 Daniel Stone, Daniels Umanovskis, Danny Smith, David Svensson Fors,
282 Devin Anderson, Diogo Goncalves, Dmitry Osipenko, Dongil Park, Doug
283 Nazar, Edward Hervey, Eli Schwartz, Elliot Chen, Enrique Ocaña González,
284 Eric Knapp, Erwann Gouesbet, Fabian Orccon, Fabrice Fontaine, Fan F He,
285 fduncanh, Filip Hanes, Florian Zwoch, François Laignel, Fuga Kato,
286 George Kiagiadakis, Guillaume Desmottes, Gu Yanjie, Haihao Xiang, Haihua
287 Hu, Havard Graff, Heiko Becker, He Junyan, Hoonhee Lee, Hosang Lee, Hou
288 Qi, Ignacio Casal Quinteiro, Ignazio Pillai, Igor V. Kovalenko, Jakub
289 Adam, James Cowgill, James Hilliard, Jan Alexander Steffens (heftig),
290 Jan Schmidt, Jianhui Dai, jinsl00000, Johan Sternerup, Jonas Bonn, Jonas
291 Danielsson, Jordan Petridis, Joseph Donofry, Jose Quaresma, Julian
292 Bouzas, Junsoo Park, Justin Chadwell, Khem Raj, Krystian Wojtas, László
293 Károlyi, Linus Svensson, Loic Le Page, Loïc Le Page, Ludvig Rappe, Marc
294 Leeman, Marek Vasut, Marijn Suijten, Mark Nauwelaerts, Martin Dørum,
295 Martin Reboredo, Mart Raudsepp, Mathieu Duponchelle, Matt Crane, Matthew
296 Waters, Matthias Clasen, Matthias Fuchs, Mengkejiergeli Ba, MG
297 Lolenstine, Michael Gruner, Michal Kubiak, Mikhail Fludkov, Ming Qian,
298 Myles Inglis, Nicolas Dufresne, Nirbheek Chauhan, Olivier Crête,
299 Patricia Muscalu, Patrick Griffis, Paweł Stawicki, Peter Stensson,
300 Philippe Normand, Philipp Zabel, Pierre Bourré, Piotr Brzeziński,
301 Piotrek Brzeziński, Rabindra Harlalka, Rafael Caricio, Rafael Sobral,
302 Raul Tambre, Robert Mader, Robert Rosengren, Rouven Czerwinski, Ruben
303 Gonzalez, Sam Van Den Berge, Sanchayan Maity, Sangchul Lee, Sebastian
304 Dröge, Sebastian Fricke, Sebastian Groß, Sebastian Mueller, Sebastian
305 Wick, Sergei Kovalev, Seungha Yang, Sherrill Lin, Shingo Kitagawa,
306 Stéphane Cerveau, Thibault Saunier, Tim Mooney, Tim-Philipp Müller,
307 Tomasz Andrzejak, Tom Schuring, Tong Wu, toor, Tristan Matthews, Tulio
308 Beloqui, U. Artie Eoff, Víctor Manuel Jáquez Leal, Vincent Cheah Beng
309 Keat, Vivia Nikolaidou, Vivienne Watermeier, WANG Xuerui, Wojciech
310 Kapsa, Wonchul Lee, Wu Tong, Xabier Rodriguez Calvar, Xavier Claessens,
311 Yatin Maan, Yeongjin Jeong, Zebediah Figura, Zhao Zhili, Zhiyuan Liu,
313 … and many others who have contributed bug reports, translations, sent
314 suggestions or helped testing.
318 After the 1.22.0 release there will be several 1.22.x bug-fix releases
319 which will contain bug fixes which have been deemed suitable for a
320 stable branch, but no new features or intrusive changes will be added to
321 a bug-fix release usually. The 1.22.x bug-fix releases will be made from
322 the git 1.22 branch, which will be a stable branch.
326 1.22.0 is scheduled to be released around December 2022.
330 Our next major feature release will be 1.24, and 1.23 will be the
331 unstable development version leading up to the stable 1.24 release. The
332 development of 1.23/1.24 will happen in the git main branch of the
333 GStreamer mono repository.
335 The plan for the 1.24 development cycle is yet to be confirmed.
337 1.24 will be backwards-compatible to the stable 1.22, 1.20, 1.18, 1.16,
338 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
340 ------------------------------------------------------------------------
342 These release notes have been prepared by Tim-Philipp Müller with
345 License: CC BY-SA 4.0