2021-05-31 23:16:05 +00:00
|
|
|
|
GStreamer 1.20 Release Notes
|
2018-03-03 23:09:36 +00:00
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
GStreamer 1.20 has not been released yet. It is scheduled for release in
|
|
|
|
|
November 2021.
|
2020-06-19 18:25:56 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
1.19.x is the unstable development version that is being developed in
|
2021-11-03 15:43:36 +00:00
|
|
|
|
the git main branch and which will eventually result in 1.20, and 1.19.3
|
2021-09-23 00:35:39 +00:00
|
|
|
|
is the current development release in that series
|
2021-05-31 23:16:05 +00:00
|
|
|
|
|
2021-09-23 00:35:39 +00:00
|
|
|
|
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.
|
2021-05-31 23:16:05 +00:00
|
|
|
|
|
|
|
|
|
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
|
2017-05-04 12:43:12 +00:00
|
|
|
|
version of this document.
|
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
Last updated: Monday 1 November 2021, 01:00 UTC (log)
|
2018-03-03 23:09:36 +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:59:49 +00:00
|
|
|
|
As always, this release is again packed with many new features, bug
|
|
|
|
|
fixes and other improvements.
|
2018-03-03 23:09:36 +00:00
|
|
|
|
|
|
|
|
|
Highlights
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be completed in due course
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Major new features and changes
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
Noteworthy new features and API
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
New elements
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2018-03-20 10:24:35 +00:00
|
|
|
|
New element features and additions
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Plugin and library moves
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- There were no plugin moves or library moves in this cycle.
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Plugin removals
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
The following elements or plugins have been removed:
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2018-02-15 17:20:22 +00:00
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
- 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.
|
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
Miscellaneous API additions
|
2019-04-18 23:35:57 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Miscellaneous performance, latency and memory optimisations
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Miscellaneous other changes and enhancements
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-04-10 23:37:00 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Tracing framework and debugging improvements
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Tools
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
GStreamer RTSP server
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
GStreamer VAAPI
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2019-02-26 11:59:49 +00:00
|
|
|
|
GStreamer OMX
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-02-26 11:59:49 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
GStreamer Editing Services and NLE
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
GStreamer validate
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2018-03-20 10:24:35 +00:00
|
|
|
|
GStreamer Python Bindings
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
GStreamer C# Bindings
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
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
|
2021-05-31 23:16:05 +00:00
|
|
|
|
already been updated for the upcoming new GStreamer 1.20 API.
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- FIXME: add new elements
|
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
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 02:30:06 +00:00
|
|
|
|
|
2020-06-19 18:25:56 +00:00
|
|
|
|
Build and Dependencies
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
- 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
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
See Building plugins with (A)GPL-licensed dependencies for more details
|
|
|
|
|
and a non-exhaustive list of plugins affected.
|
|
|
|
|
|
|
|
|
|
gst-build: replaced by Monorepo
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
- FIXME: describe + link to Monorepo FAQ
|
|
|
|
|
|
2019-02-26 11:59:49 +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.
|
|
|
|
|
|
2020-09-07 23:09:25 +00:00
|
|
|
|
General improvements
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
macOS / iOS
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Windows
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Windows MSI installer
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Linux
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Android
|
2019-02-26 11:59:49 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-02-26 11:59:49 +00:00
|
|
|
|
|
2019-01-17 02:30:06 +00:00
|
|
|
|
Platform-specific changes and improvements
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
Android
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-02-26 11:59:49 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
macOS and iOS
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2018-03-03 23:09:36 +00:00
|
|
|
|
|
|
|
|
|
Windows
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Linux
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Documentation improvements
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Possibly Breaking Changes
|
|
|
|
|
|
2021-11-03 15:43:36 +00:00
|
|
|
|
- FIXME: this section will be filled in in due course
|
2021-09-23 00:35:39 +00:00
|
|
|
|
- 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.
|
2021-11-03 15:43:36 +00:00
|
|
|
|
- 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)
|
2020-09-07 23:09:25 +00:00
|
|
|
|
|
|
|
|
|
Known Issues
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- 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
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
|
|
|
|
Contributors
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
- this section will be filled in in due course
|
2019-01-17 02:30:06 +00:00
|
|
|
|
|
|
|
|
|
… and many others who have contributed bug reports, translations, sent
|
2017-05-04 12:43:12 +00:00
|
|
|
|
suggestions or helped testing.
|
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
Stable 1.20 branch
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
After the 1.20.0 release there will be several 1.20.x bug-fix releases
|
2018-03-03 23:09:36 +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
|
2021-05-31 23:16:05 +00:00
|
|
|
|
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.
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
1.20.0
|
2018-03-19 20:28:10 +00:00
|
|
|
|
|
2021-09-23 00:35:39 +00:00
|
|
|
|
1.20.0 is scheduled to be released around October/November 2021.
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
Schedule for 1.22
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +00:00
|
|
|
|
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
|
2021-09-23 00:35:39 +00:00
|
|
|
|
development of 1.21/1.22 will happen in the git main branch.
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-09-23 00:35:39 +00:00
|
|
|
|
The plan for the 1.22 development cycle is yet to be confirmed.
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2021-05-31 23:16:05 +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.
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2018-03-03 23:09:36 +00:00
|
|
|
|
------------------------------------------------------------------------
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2020-08-20 15:16:01 +00:00
|
|
|
|
These release notes have been prepared by Tim-Philipp Müller with
|
2021-05-31 23:16:05 +00:00
|
|
|
|
contributions from …
|
2017-05-04 12:43:12 +00:00
|
|
|
|
|
2020-08-20 15:16:01 +00:00
|
|
|
|
License: CC BY-SA 4.0
|