346 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			346 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| GStreamer 1.22 Release Notes
 | ||
| 
 | ||
| GStreamer 1.22 has not been released yet. It is scheduled for release
 | ||
| around the end of December 2022 / beginning of January 2023.
 | ||
| 
 | ||
| 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.3 is the current development release in that series
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| A first 1.22 release candidate (1.21.90) is expected towards
 | ||
| mid-December, followed by more release candiates until the new 1.22
 | ||
| stable release around the end of December 2022 / beginning of January
 | ||
| 2023.
 | ||
| 
 | ||
| 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
 | ||
| version of this document.
 | ||
| 
 | ||
| Last updated: Monday 5 December 2022, 01:00 UTC (log)
 | ||
| 
 | ||
| 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!
 | ||
| 
 | ||
| As always, this release is again packed with many new features, bug
 | ||
| fixes and other improvements.
 | ||
| 
 | ||
| Highlights
 | ||
| 
 | ||
| -   this section will be completed in due course
 | ||
| 
 | ||
| Major new features and changes
 | ||
| 
 | ||
| Noteworthy new features and API
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| New elements
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| New element features and additions
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Plugin and library moves
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| -   There were no plugin moves or library moves in this cycle.
 | ||
| 
 | ||
| Plugin removals
 | ||
| 
 | ||
| The following elements or plugins have been removed:
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Miscellaneous API additions
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Miscellaneous performance, latency and memory optimisations
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Miscellaneous other changes and enhancements
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Tracing framework and debugging improvements
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Tools
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer RTSP server
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer VAAPI
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer OMX
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer Editing Services and NLE
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer validate
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer Python Bindings
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer C# Bindings
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| GStreamer Rust Bindings and Rust Plugins
 | ||
| 
 | ||
| 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.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 don’t 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
 | ||
| 
 | ||
| Build and Dependencies
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| gst-build
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| General improvements
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| macOS / iOS
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Windows
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Windows MSI installer
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Linux
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Android
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Platform-specific changes and improvements
 | ||
| 
 | ||
| Android
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| macOS and iOS
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Windows
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Linux
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Documentation improvements
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Possibly Breaking Changes
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| Known Issues
 | ||
| 
 | ||
| -   this section will be filled in in due course
 | ||
| 
 | ||
| -   Known regressions/blockers:
 | ||
| 
 | ||
|     -   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
 | ||
| 
 | ||
| Á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.22 branch
 | ||
| 
 | ||
| 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.22.x bug-fix releases will be made from
 | ||
| the git 1.22 branch, which will be a stable branch.
 | ||
| 
 | ||
| 1.22.0
 | ||
| 
 | ||
| 1.22.0 is scheduled to be released around December 2022.
 | ||
| 
 | ||
| Schedule for 1.24
 | ||
| 
 | ||
| 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.24 development cycle is yet to be confirmed.
 | ||
| 
 | ||
| 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.
 | ||
| 
 | ||
| ------------------------------------------------------------------------
 | ||
| 
 | ||
| These release notes have been prepared by Tim-Philipp Müller with
 | ||
| contributions from …
 | ||
| 
 | ||
| License: CC BY-SA 4.0
 |