-GStreamer 1.20 Release Notes
+GStreamer 1.22 Release Notes
-GStreamer 1.20 has not been released yet. It is scheduled for release in
-November 2021.
+GStreamer 1.22 has not been released yet. It is scheduled for release
+around in January 2023.
-1.19.x is the unstable development version that is being developed in
-the git main branch and which will eventually result in 1.20, and 1.19.3
-is the current development release in that series
+1.21.x is the unstable development version that is being developed in
+the git master branch and which will eventually result in 1.22, and
+1.21.90 is the first release candidate for 1.22 (rc1) in that series
-It is expected that feature freeze will be in early October 2021,
-followed by one or two 1.19.9x pre-releases and the new 1.20 stable
-release around October/November 2021.
+A feature freeze is now into effect for the 1.21 branch, but newly-added
+API might still change until the final 1.22.0 stable release, and minor
+features may also still be added until then.
-1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
-1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
+1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
+1.12, 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
-See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
+See https://gstreamer.freedesktop.org/releases/1.22/ for the latest
version of this document.
-Last updated: Monday 1 November 2021, 01:00 UTC (log)
+Last updated: Thursday 12 January 2023, 15:00 UTC (log)
Introduction
- this section will be filled in in due course
-- The ofa audio fingerprinting plugin has been removed. The MusicIP
- database has been defunct for years so this plugin is likely neither
- useful nor used by anyone.
-
-- The mms plugin containing mmssrc has been removed. It seems unlikely
- anyone still needs this or that there are even any streams left out
- there. The MMS protocol was deprecated in 2003 (in favour of RTSP)
- and support for it was dropped with Microsoft Media Services 2008,
- and Windows Media Player apparently also does not support it any
- more.
-
Miscellaneous API additions
- this section will be filled in in due course
The GStreamer Rust bindings are released separately with a different
release cadence that’s tied to gtk-rs, but the latest release has
-already been updated for the upcoming new GStreamer 1.20 API.
+already been updated for the upcoming new GStreamer 1.22 API.
gst-plugins-rs, the module containing GStreamer plugins written in Rust,
has also seen lots of activity with many new elements and plugins.
Build and Dependencies
-- Meson 0.59 or newer is required to build GStreamer now.
-
-- FIXME: this section will be filled in in due course
-
-Explicit opt-in required for build of certain plugins with (A)GPL dependencies
+- this section will be filled in in due course
-Some plugins have GPL- or AGPL-licensed dependencies and those plugins
-will no longer be built by default unless you have explicitly opted in
-to allow (A)GPL-licensed dependencies by passing -Dgpl=enabled to Meson,
-even if the required dependencies are available.
+- GLib >= 2.64 is now required (technically it still says >= 2.62 but
+ the plan is to bump that to 2.64 soon once some CI issues are sorted
+ out)
-See Building plugins with (A)GPL-licensed dependencies for more details
-and a non-exhaustive list of plugins affected.
+- libnice >= 0.1.21 is now required and contains important fixes for
+ GStreamer’s WebRTC stack.
-gst-build: replaced by Monorepo
+gst-build
- this section will be filled in in due course
-- FIXME: describe + link to Monorepo FAQ
-
Cerbero
Cerbero is a meta build system used to build GStreamer plus dependencies
- this section will be filled in in due course
+- The Windows universal UWP build is currently non-functional and will
+ need updating after the recent GLib upgrade. It is unclear if anyone
+ is using these binaries, so if you are please make yourself known.
+
Linux
- this section will be filled in in due course
Possibly Breaking Changes
-- FIXME: this section will be filled in in due course
-- MPEG-TS SCTE-35 API changes (FIXME: flesh out)
-- gst_parse_launch() and friends now error out on non-existing
- properties on top-level bins where they would silently fail and
- ignore those before.
-- playbin and uridecodebin now emit the source-setup signal before the
- element is added to the bin and linked so that the source element is
- already configured before any scheduling query comes in, which is
- useful for elements such as appsrc or giostreamsrc. (Merge Request)
+- this section will be filled in in due course
+
+- the Opus audio payloader and depayloader no longer accept the lower
+ case encoding-format=multiopus but instead produce and accept only
+ the upper case variant encoding-format=MULTIOPUS, since those should
+ always be upper case in GStreamer (caps fields are always case
+ sensitive). This should hopefully only affect applications where RTP
+ caps are set manually and multi-channel audio (>= 3 channels) is
+ used.
Known Issues
- this section will be filled in in due course
-- There are a couple of known WebRTC-related regressions/blockers:
+- Known regressions/blockers:
- - webrtc: DTLS setup with Chrome is broken
- - webrtcbin: First keyframe is usually lost
+ - FIXME
+
+- GStreamer may fail to build the hotdoc documentation with the Meson
+ 0.64.0 release owing to a Meson bug. This should only affect systems
+ where hotdoc is installed, and will be fixed in Meson 0.64.1 by
+ Meson PR 10982 in combination with GStreamer MR 3352. In the
+ meantime, users can pass -Ddoc=disabled or downgrade to an older
+ Meson version (< 0.64.0).
Contributors
-- this section will be filled in in due course
+Ádám Balázs, Adam Doupe, Adrian Fiergolski, Adrian Perez de Castro, Alba
+Mendez, Aleix Conchillo Flaqué, Aleksandr Slobodeniuk, Alicia Boya
+García, Alireza Miryazdi, Andoni Morales Alastruey, Andrew Pritchard,
+Arun Raghavan, Bastian Krause, Bastien Nocera, Benjamin Gaignard, Brad
+Hards, Branko Subasic, Bruce Liang, Camilo Celis Guzman, Carlos
+Falgueras García, Carlos Rafael Giani, Célestin Marot, Christopher
+Obbard, Christoph Reiter, Chris Wiggins, Chun-wei Fan, Corentin Damman,
+Corentin Noël, Damian Hobson-Garcia, Daniel Almeida, Daniel Morin,
+Daniel Stone, Daniels Umanovskis, Danny Smith, David Svensson Fors,
+Devin Anderson, Diogo Goncalves, Dmitry Osipenko, Dongil Park, Doug
+Nazar, Edward Hervey, Eli Schwartz, Elliot Chen, Enrique Ocaña González,
+Eric Knapp, Erwann Gouesbet, Fabian Orccon, Fabrice Fontaine, Fan F He,
+fduncanh, Filip Hanes, Florian Zwoch, François Laignel, Fuga Kato,
+George Kiagiadakis, Guillaume Desmottes, Gu Yanjie, Haihao Xiang, Haihua
+Hu, Havard Graff, Heiko Becker, He Junyan, Hoonhee Lee, Hosang Lee, Hou
+Qi, Ignacio Casal Quinteiro, Ignazio Pillai, Igor V. Kovalenko, Jakub
+Adam, James Cowgill, James Hilliard, Jan Alexander Steffens (heftig),
+Jan Schmidt, Jianhui Dai, jinsl00000, Johan Sternerup, Jonas Bonn, Jonas
+Danielsson, Jordan Petridis, Joseph Donofry, Jose Quaresma, Julian
+Bouzas, Junsoo Park, Justin Chadwell, Khem Raj, Krystian Wojtas, László
+Károlyi, Linus Svensson, Loic Le Page, Loïc Le Page, Ludvig Rappe, Marc
+Leeman, Marek Vasut, Marijn Suijten, Mark Nauwelaerts, Martin Dørum,
+Martin Reboredo, Mart Raudsepp, Mathieu Duponchelle, Matt Crane, Matthew
+Waters, Matthias Clasen, Matthias Fuchs, Mengkejiergeli Ba, MG
+Lolenstine, Michael Gruner, Michal Kubiak, Mikhail Fludkov, Ming Qian,
+Myles Inglis, Nicolas Dufresne, Nirbheek Chauhan, Olivier Crête,
+Patricia Muscalu, Patrick Griffis, Paweł Stawicki, Peter Stensson,
+Philippe Normand, Philipp Zabel, Pierre Bourré, Piotr Brzeziński,
+Piotrek Brzeziński, Rabindra Harlalka, Rafael Caricio, Rafael Sobral,
+Raul Tambre, Robert Mader, Robert Rosengren, Rouven Czerwinski, Ruben
+Gonzalez, Sam Van Den Berge, Sanchayan Maity, Sangchul Lee, Sebastian
+Dröge, Sebastian Fricke, Sebastian Groß, Sebastian Mueller, Sebastian
+Wick, Sergei Kovalev, Seungha Yang, Sherrill Lin, Shingo Kitagawa,
+Stéphane Cerveau, Thibault Saunier, Tim Mooney, Tim-Philipp Müller,
+Tomasz Andrzejak, Tom Schuring, Tong Wu, toor, Tristan Matthews, Tulio
+Beloqui, U. Artie Eoff, Víctor Manuel Jáquez Leal, Vincent Cheah Beng
+Keat, Vivia Nikolaidou, Vivienne Watermeier, WANG Xuerui, Wojciech
+Kapsa, Wonchul Lee, Wu Tong, Xabier Rodriguez Calvar, Xavier Claessens,
+Yatin Maan, Yeongjin Jeong, Zebediah Figura, Zhao Zhili, Zhiyuan Liu,
… and many others who have contributed bug reports, translations, sent
suggestions or helped testing.
-Stable 1.20 branch
+Stable 1.22 branch
-After the 1.20.0 release there will be several 1.20.x bug-fix releases
+After the 1.22.0 release there will be several 1.22.x bug-fix releases
which will contain bug fixes which have been deemed suitable for a
stable branch, but no new features or intrusive changes will be added to
-a bug-fix release usually. The 1.20.x bug-fix releases will be made from
-the git 1.20 branch, which will be a stable branch.
+a bug-fix release usually. The 1.22.x bug-fix releases will be made from
+the git 1.22 branch, which will be a stable branch.
-1.20.0
+1.22.0
-1.20.0 is scheduled to be released around October/November 2021.
+1.22.0 is scheduled to be released in January 2023.
-Schedule for 1.22
+Schedule for 1.24
-Our next major feature release will be 1.22, and 1.21 will be the
-unstable development version leading up to the stable 1.22 release. The
-development of 1.21/1.22 will happen in the git main branch.
+Our next major feature release will be 1.24, and 1.23 will be the
+unstable development version leading up to the stable 1.24 release. The
+development of 1.23/1.24 will happen in the git main branch of the
+GStreamer mono repository.
-The plan for the 1.22 development cycle is yet to be confirmed.
+The plan for the 1.24 development cycle is yet to be confirmed.
-1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
-1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+1.24 will be backwards-compatible to the stable 1.22, 1.20, 1.18, 1.16,
+1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
------------------------------------------------------------------------