+GStreamer 1.20 Release Notes
+GStreamer 1.20 has not been released yet. It is scheduled for release
+around October/November 2021.
-GSTREAMER 1.18 RELEASE NOTES
+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.2
+is the current development release 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.
-THESE RELEASE NOTES ARE A PLACEHOLDER, PLEASE BEAR WITH US WHILE WE
-FINISH WRITING UP THE REAL THING.
-
-GStreamer 1.18.0 has not yet been released. It is scheduled for release
-in summer 2020 now.
-
-1.17.x is the unstable development series that is currently being
-developed in the git master branch and which will eventually result in
-1.18, and 1.17.2 is the current development release in that series.
-
-The schedule for the 1.18 development cycle is yet to be confirmed, but
-it is expected that feature freeze will be in June/July 2020, followed
-by several 1.17 pre-releases and then a new 1.18 stable release in
-July/August 2020.
-
-1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
-1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+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.
-See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
+See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
version of this document.
-_Last updated: Wednesday 1 July 2020, 23:50 UTC (log)_
-
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
Introduction
As always, this release is again packed with many new features, bug
fixes and other improvements.
-
Highlights
-- FIXME
-
+- this section will be completed in due course
Major new features and changes
-Noteworthy new API
+Noteworthy new features and API
-- FIXME
+- this section will be filled in in due course
-New Elements
+New elements
-- FIXME
+- this section will be filled in in due course
New element features and additions
-- FIXME
+- this section will be filled in in due course
Plugin and library moves
-- FIXME
+- this section will be filled in in due course
-Plugin removals
+- There were no plugin moves or library moves in this cycle.
-The following plugins have been removed from gst-plugins-bad:
+Plugin removals
-- FIXME
+The following elements or plugins have been removed:
+- this section will be filled in in due course
Miscellaneous API additions
-- FIXME
-
-
-Miscellaneous performance and memory optimisations
-
-As always there have been many performance and memory usage improvements
-across all components and modules. Some of them have already been
-mentioned elsewhere so won’t be repeated here.
-
-The following list is only a small snapshot of some of the more
-interesting optimisations that haven’t been mentioned in other contexts
-yet:
-
-- FIXME
+- this section will be filled in in due course
-GstPlayer
+Miscellaneous performance, latency and memory optimisations
-- FIXME
+- this section will be filled in in due course
+Miscellaneous other changes and enhancements
-Miscellaneous changes
-
-- FIXME
-
-OpenGL integration
-
-- FIXME
-
+- this section will be filled in in due course
Tracing framework and debugging improvements
-- FIXME
-
+- this section will be filled in in due course
Tools
-- FIXME
-
+- this section will be filled in in due course
GStreamer RTSP server
-- FIXME
-
+- this section will be filled in in due course
GStreamer VAAPI
-- FIXME
-
+- this section will be filled in in due course
GStreamer OMX
-- FIXME
-
+- this section will be filled in in due course
GStreamer Editing Services and NLE
-- FIXME
-
+- this section will be filled in in due course
GStreamer validate
-- FIXME
-
+- this section will be filled in in due course
GStreamer Python Bindings
-- FIXME
-
+- this section will be filled in in due course
GStreamer C# Bindings
-- FIXME
+- 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.20 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
-GStreamer Rust Bindings
+- this section will be filled in in due course
-- FIXME
+gst-build
+- this section will be filled in in due course
-GStreamer Rust Plugins
+Cerbero
-- FIXME
+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
-Build and Dependencies
+- this section will be filled in in due course
-- The Autotools build system has finally been removed in favour of the
- Meson build system. Developers who currently use gst-uninstalled
- should move to gst-build.
+macOS / iOS
-- API and plugin documentation are no longer built with gtk_doc. The
- gtk_doc documentation has been removed in favour of a new unified
- documentation module built with hotdoc. The intention is to
- distribute the generated documentation in form of tarballs alongside
- releases.
+- this section will be filled in in due course
-- FIXME
+Windows
-Cerbero
+- this section will be filled in in due course
-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.
+Windows MSI installer
-Cerbero has seen a number of improvements:
+- this section will be filled in in due course
-- FIXME
+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
-- FIXME
+- this section will be filled in in due course
macOS and iOS
-- FIXME
+- this section will be filled in in due course
Windows
-- toolchain upgrade
+- this section will be filled in in due course
-- FIXME
+Linux
+- this section will be filled in in due course
-Contributors
+Documentation improvements
-- FIXME
+- this section will be filled in in due course
-… and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
+Possibly Breaking Changes
+- 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.
-Stable 1.18 branch
+Known Issues
-After the 1.18.0 release there will be several 1.18.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.18.x bug-fix releases will be made from
-the git 1.18 branch, which will be a stable branch.
+- this section will be filled in in due course
-1.18.0
+- There are a couple of known WebRTC-related regressions/blockers:
-1.18.0 has not been released yet.
+ - webrtc: DTLS setup with Chrome is broken
+ - webrtcbin: First keyframe is usually lost
+Contributors
-Known Issues
+- this section will be filled in in due course
+
+… and many others who have contributed bug reports, translations, sent
+suggestions or helped testing.
-- FIXME
+Stable 1.20 branch
+After the 1.20.0 release there will be several 1.20.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.
-Schedule for 1.20
+1.20.0
-Our next major feature release will be 1.20, and 1.19 will be the
-unstable development version leading up to the stable 1.20 release. The
-development of 1.19/1.20 will happen in the git master branch.
+1.20.0 is scheduled to be released around October/November 2021.
-The plan for the 1.20 development cycle is yet to be confirmed.
+Schedule for 1.22
-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.
+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.
+
+The plan for the 1.22 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.
------------------------------------------------------------------------
-_These release notes have been prepared by Tim-Philipp Müller with_
-_contributions from … (FIXME)_
+These release notes have been prepared by Tim-Philipp Müller with
+contributions from …
-_License: CC BY-SA 4.0_
+License: CC BY-SA 4.0