-# GStreamer 1.14 Release Notes
+GStreamer 1.20 Release Notes
-GStreamer 1.14.0 has not been released yet. It is scheduled for release
-in late February / early March 2018.
+GStreamer 1.20 has not been released yet. It is scheduled for release
+around October/November 2021.
-There are unstable pre-releases available for testing and development purposes.
-The latest pre-release is version 1.13.1 and was released on 15 February 2018.
+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
-See [https://gstreamer.freedesktop.org/releases/1.14/][latest] for the latest
+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.
+
+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.20/ for the latest
version of this document.
-*Last updated: Thursday 15 February 2018, 16:30 UTC [(log)][gitlog]*
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
-[latest]: https://gstreamer.freedesktop.org/releases/1.14/
-[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.14/release-notes-1.14.md
+Introduction
-## 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!
-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.
-As always, this release is again packed with new features, bug fixes and other
-improvements.
+Highlights
-## Highlights
+- this section will be completed in due course
-- this section will be completed shortly
+Major new features and changes
-## Major new features and changes
+Noteworthy new features and API
-### Noteworthy new API
+- this section will be filled in in due course
-- this section will be filled in shortly
+New elements
-### New Elements
+- this section will be filled in in due course
-- this section will be filled in shortly
+New element features and additions
-### New element features and additions
+- this section will be filled in in due course
-- this section will be filled in shortly
+Plugin and library moves
-### Plugin and library moves
+- this section will be filled in in due course
-- this section will be filled in shortly
+- There were no plugin moves or library moves in this cycle.
-### Plugin removals
+Plugin removals
-- this section will be filled in shortly
+The following elements or plugins have been removed:
+- this section will be filled in in due course
-## Miscellaneous API additions
+Miscellaneous API additions
-- this section will be filled in shortly
+- this section will be filled in in due course
-### GstPlayer
+Miscellaneous performance, latency and memory optimisations
-- this section will be filled in shortly
+- this section will be filled in in due course
-## Miscellaneous changes
+Miscellaneous other changes and enhancements
-- this section will be filled in shortly
+- this section will be filled in in due course
-### OpenGL integration
+Tracing framework and debugging improvements
-- this section will be filled in shortly
+- this section will be filled in in due course
-## Tracing framework and debugging improvements
+Tools
-- this section will be filled in shortly
+- this section will be filled in in due course
-## Tools
+GStreamer RTSP server
-- this section will be filled in shortly
+- this section will be filled in in due course
-## GStreamer RTSP server
+GStreamer VAAPI
-- this section will be filled in shortly
+- this section will be filled in in due course
-## GStreamer VAAPI
+GStreamer OMX
-- this section will be filled in shortly
+- this section will be filled in in due course
-## GStreamer Editing Services and NLE
+GStreamer Editing Services and NLE
-- this section will be filled in shortly
+- this section will be filled in in due course
-## GStreamer validate
+GStreamer validate
-- this section will be filled in shortly
+- this section will be filled in in due course
-## GStreamer Python Bindings
+GStreamer Python Bindings
-- this section will be filled in shortly
+- this section will be filled in in due course
-## Build and Dependencies
+GStreamer C# Bindings
-- this section will be filled in shortly
+- this section will be filled in in due course
-## Platform-specific improvements
+GStreamer Rust Bindings and Rust Plugins
-### Android
+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.
-- this section will be filled in shortly
+gst-plugins-rs, the module containing GStreamer plugins written in Rust,
+has also seen lots of activity with many new elements and plugins.
-### macOS and iOS
+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.
-- this section will be filled in shortly
+- FIXME: add new elements
-### Windows
+Rust audio plugins
-- this section will be filled in shortly
+- 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
-## Contributors
+Rust video plugins
-- this section will be filled in shortly
+- 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
-... and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
+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
-## Bugs fixed in 1.14
+- this section will be filled in in due course
-- this section will be filled in shortly
+Windows MSI installer
-More than [704 bugs][bugs-fixed-in-1.14] have been fixed during
-the development of 1.14.
+- this section will be filled in in due course
-This list does not include issues that have been cherry-picked into the
-stable 1.12 branch and fixed there as well, all fixes that ended up in the
-1.12 branch are also included in 1.14.
+Linux
-This list also does not include issues that have been fixed without a bug
-report in bugzilla, so the actual number of fixes is much higher.
+- this section will be filled in in due course
-[bugs-fixed-in-1.14]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=213265&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.12.1&target_milestone=1.12.2&target_milestone=1.12.3&target_milestone=1.12.4&target_milestone=1.13.1&target_milestone=1.13.2&target_milestone=1.13.3&target_milestone=1.13.4&target_milestone=1.13.90&target_milestone=1.13.91&target_milestone=1.14.0
+Android
-## Stable 1.14 branch
+- this section will be filled in in due course
-After the 1.14.0 release there will be several 1.14.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.14.x bug-fix releases will be made from the git 1.14 branch,
-which is a stable branch.
+Platform-specific changes and improvements
-### 1.14.0
+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
+- 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.
+
+Known Issues
+
+- this section will be filled in in due course
+
+- There are a couple of known WebRTC-related regressions/blockers:
+
+ - webrtc: DTLS setup with Chrome is broken
+ - webrtcbin: First keyframe is usually lost
+
+Contributors
+
+- this section will be filled in in due course
+
+… and many others who have contributed bug reports, translations, sent
+suggestions or helped testing.
-1.14.0 is scheduled to be released in late February / early March 2018.
+Stable 1.20 branch
-## Known Issues
+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.
-- The `webrtcdsp` element is currently not shipped as part of the Windows
- binary packages due to a [build system issue][bug-770264].
+1.20.0
-[bug-770264]: https://bugzilla.gnome.org/show_bug.cgi?id=770264
+1.20.0 is scheduled to be released around October/November 2021.
-## Schedule for 1.16
+Schedule for 1.22
-Our next major feature release will be 1.16, and 1.15 will be the unstable
-development version leading up to the stable 1.16 release. The development
-of 1.15/1.16 will happen in the git master branch.
+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.16 development cycle is yet to be confirmed, but it is
-expected that feature freeze will be around August 2017
-followed by several 1.15 pre-releases and the new 1.16 stable release
-in September.
+The plan for the 1.22 development cycle is yet to be confirmed.
-1.16 will be backwards-compatible to the stable 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.
-- - -
+------------------------------------------------------------------------
-*These release notes have been prepared by Tim-Philipp Müller.*
+These release notes have been prepared by Tim-Philipp Müller with
+contributions from …
-*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+License: CC BY-SA 4.0