gstreamer/subprojects/gst-plugins-base/NEWS

360 lines
12 KiB
Text
Raw Normal View History

2022-10-04 00:14:01 +00:00
GStreamer 1.22 Release Notes
2018-03-03 22:07:15 +00:00
2022-10-04 00:14:01 +00:00
GStreamer 1.22 has not been released yet. It is scheduled for release
2023-01-13 19:08:48 +00:00
around in January 2023.
2021-05-31 23:09:54 +00:00
2022-10-04 00:14:01 +00:00
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
2023-01-13 19:08:48 +00:00
1.21.90 is the first release candidate for 1.22 (rc1) in that series
2022-10-04 00:14:01 +00:00
2022-12-05 01:28:21 +00:00
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.
2022-10-04 00:14:01 +00:00
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.22/ for the latest
2017-05-04 12:37:27 +00:00
version of this document.
2023-01-13 19:08:48 +00:00
Last updated: Thursday 12 January 2023, 15:00 UTC (log)
2018-03-03 22:07:15 +00:00
Introduction
The GStreamer team is proud to announce a new major feature release in
the stable 1.x API series of your favourite cross-platform multimedia
framework!
2019-02-26 11:43:43 +00:00
As always, this release is again packed with many new features, bug
fixes and other improvements.
2018-03-03 22:07:15 +00:00
Highlights
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be completed in due course
2018-03-19 20:15:02 +00:00
2018-03-03 22:07:15 +00:00
Major new features and changes
2017-05-04 12:37:27 +00:00
2020-09-07 23:03:33 +00:00
Noteworthy new features and API
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
New elements
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2018-03-19 20:15:02 +00:00
2018-03-20 09:15:37 +00:00
New element features and additions
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-01-28 14:28:35 +00:00
Plugin and library moves
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2021-05-31 23:09:54 +00:00
- There were no plugin moves or library moves in this cycle.
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
Plugin removals
2017-05-04 12:37:27 +00:00
2020-09-07 23:03:33 +00:00
The following elements or plugins have been removed:
2019-01-17 01:50:25 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2021-11-03 15:43:36 +00:00
2020-09-07 23:03:33 +00:00
Miscellaneous API additions
2019-04-18 23:19:55 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
Miscellaneous performance, latency and memory optimisations
2019-01-17 01:50:25 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2017-05-04 12:37:27 +00:00
2022-01-28 14:28:35 +00:00
Miscellaneous other changes and enhancements
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
Tracing framework and debugging improvements
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
Tools
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
GStreamer RTSP server
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
GStreamer VAAPI
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2017-05-04 12:37:27 +00:00
2019-02-26 11:43:43 +00:00
GStreamer OMX
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2019-02-26 11:43:43 +00:00
2018-03-03 22:07:15 +00:00
GStreamer Editing Services and NLE
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
GStreamer validate
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2018-03-19 20:15:02 +00:00
2018-03-20 09:15:37 +00:00
GStreamer Python Bindings
2018-03-19 20:15:02 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2019-01-17 01:50:25 +00:00
2020-09-07 23:03:33 +00:00
GStreamer C# Bindings
2019-01-17 01:50:25 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
GStreamer Rust Bindings and Rust Plugins
2022-10-04 00:14:01 +00:00
The GStreamer Rust bindings are released separately with a different
release cadence thats tied to gtk-rs, but the latest release has
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.
What follows is a list of elements and plugins available in
gst-plugins-rs, so people dont miss out on all those potentially useful
elements that have no C equivalent.
- FIXME: add new elements
Rust audio plugins
- audiornnoise: New element for audio denoising which implements the
noise removal algorithm of the Xiph RNNoise library, in Rust
- rsaudioecho: Port of the audioecho element from gst-plugins-good
rsaudioloudnorm: Live audio loudness normalization element based on
the FFmpeg af_loudnorm filter
- claxondec: FLAC lossless audio codec decoder element based on the
pure-Rust claxon implementation
- csoundfilter: Audio filter that can use any filter defined via the
Csound audio programming language
- lewtondec: Vorbis audio decoder element based on the pure-Rust
lewton implementation
Rust video plugins
- cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
on a pure-Rust CD+G implementation, used for example by karaoke CDs
- cea608overlay: CEA-608 Closed Captions overlay element
- cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
subtitles) converter
- tttocea608: CEA-608 Closed Captions from timed-text converter
- mccenc/mccparse: MacCaption Closed Caption format encoder and parser
- sccenc/sccparse: Scenarist Closed Caption format encoder and parser
- dav1dec: AV1 video decoder based on the dav1d decoder implementation
by the VLC project
- rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
encoder implementation
- rsflvdemux: Alternative to the flvdemux FLV demuxer element from
gst-plugins-good, not feature-equivalent yet
- rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
implementations by the image-rs project
Rust text plugins
- textwrap: Element for line-wrapping timed text (e.g. subtitles) for
better screen-fitting, including hyphenation support for some
languages
Rust network plugins
- reqwesthttpsrc: HTTP(S) source element based on the Rust
reqwest/hyper HTTP implementations and almost feature-equivalent
with the main GStreamer HTTP source souphttpsrc
- s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
- awstranscriber: Live audio to timed text transcription element using
the Amazon AWS Transcribe API
Generic Rust plugins
- sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
on libsodium/NaCl
- togglerecord: Recording element that allows to pause/resume
recordings easily and considers keyframe boundaries
- fallbackswitch/fallbacksrc: Elements for handling potentially
failing (network) sources, restarting them on errors/timeout and
showing a fallback stream instead
- threadshare: Set of elements that provide alternatives for various
existing GStreamer elements but allow to share the streaming threads
between each other to reduce the number of threads
- rsfilesrc/rsfilesink: File source/sink elements as replacements for
the existing filesrc/filesink elements
2019-01-17 01:50:25 +00:00
2020-06-19 18:16:01 +00:00
Build and Dependencies
2019-01-17 01:50:25 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2021-11-03 15:43:36 +00:00
2023-01-13 19:08:48 +00:00
- 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)
- libnice >= 0.1.21 is now required and contains important fixes for
GStreamers WebRTC stack.
2022-10-04 00:14:01 +00:00
gst-build
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2021-11-03 15:43:36 +00:00
2019-02-26 11:43:43 +00:00
Cerbero
Cerbero is a meta build system used to build GStreamer plus dependencies
on platforms where dependencies are not readily available, such as
Windows, Android, iOS and macOS.
2022-10-04 00:14:01 +00:00
General improvements
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
macOS / iOS
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
Windows
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
Windows MSI installer
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
Linux
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
Android
2019-02-26 11:43:43 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2019-02-26 11:43:43 +00:00
2019-01-17 01:50:25 +00:00
Platform-specific changes and improvements
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
Android
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2019-02-26 11:43:43 +00:00
2018-03-03 22:07:15 +00:00
macOS and iOS
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-02-03 19:53:25 +00:00
2018-03-03 22:07:15 +00:00
Windows
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-01-28 14:28:35 +00:00
2023-01-13 19:08:48 +00:00
- 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.
2022-10-04 00:14:01 +00:00
Linux
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
Documentation improvements
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
Possibly Breaking Changes
2022-01-28 14:28:35 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2023-01-13 19:08:48 +00:00
- 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.
2022-10-04 00:14:01 +00:00
Known Issues
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- this section will be filled in in due course
2020-09-07 23:03:33 +00:00
2022-10-04 00:14:01 +00:00
- Known regressions/blockers:
2019-01-17 01:50:25 +00:00
2022-10-04 00:14:01 +00:00
- FIXME
2019-01-17 01:50:25 +00:00
2022-11-07 23:53:59 +00:00
- 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).
2019-01-17 01:50:25 +00:00
Contributors
2022-11-07 23:53:59 +00:00
Á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
2022-10-04 00:14:01 +00:00
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
2022-11-07 23:53:59 +00:00
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,
2019-01-17 01:50:25 +00:00
… and many others who have contributed bug reports, translations, sent
2017-05-04 12:37:27 +00:00
suggestions or helped testing.
2022-10-04 00:14:01 +00:00
Stable 1.22 branch
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
After the 1.22.0 release there will be several 1.22.x bug-fix releases
2018-03-03 22:07:15 +00:00
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
2022-10-04 00:14:01 +00:00
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.
2018-03-19 20:15:02 +00:00
2022-10-04 00:14:01 +00:00
1.22.0
2018-03-19 20:15:02 +00:00
2023-01-13 19:08:48 +00:00
1.22.0 is scheduled to be released in January 2023.
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
Schedule for 1.24
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
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.
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
The plan for the 1.24 development cycle is yet to be confirmed.
2017-05-04 12:37:27 +00:00
2022-10-04 00:14:01 +00:00
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.
2017-05-04 12:37:27 +00:00
2018-03-03 22:07:15 +00:00
------------------------------------------------------------------------
2017-05-04 12:37:27 +00:00
2020-08-20 15:10:18 +00:00
These release notes have been prepared by Tim-Philipp Müller with
2022-10-04 00:14:01 +00:00
contributions from …
2017-05-04 12:37:27 +00:00
2020-08-20 15:10:18 +00:00
License: CC BY-SA 4.0