gstreamer/NEWS

300 lines
8.6 KiB
Text
Raw Normal View History

2021-05-31 23:12:09 +00:00
GStreamer 1.20 Release Notes
2018-03-03 22:24:28 +00:00
2021-05-31 23:12:09 +00:00
GStreamer 1.20 has not been released yet. It is scheduled for release
2021-09-23 00:34:00 +00:00
around October/November 2021.
2020-06-19 18:20:41 +00:00
2021-05-31 23:12:09 +00:00
1.19.x is the unstable development version that is being developed in
2021-09-23 00:34:00 +00:00
the git main branch and which will eventually result in 1.20, and 1.19.2
is the current development release in that series
2021-05-31 23:12:09 +00:00
2021-09-23 00:34:00 +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:12:09 +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:39:25 +00:00
version of this document.
2021-09-23 00:34:00 +00:00
Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
2018-03-03 22:24:28 +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:48:50 +00:00
As always, this release is again packed with many new features, bug
fixes and other improvements.
2018-03-03 22:24:28 +00:00
Highlights
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be completed in due course
2018-03-19 20:19:43 +00:00
2018-03-03 22:24:28 +00:00
Major new features and changes
2017-05-04 12:39:25 +00:00
2020-09-07 23:05:39 +00:00
Noteworthy new features and API
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
New elements
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2018-03-19 20:19:43 +00:00
2018-03-20 09:26:15 +00:00
New element features and additions
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
Plugin and library moves
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
2021-05-31 23:12:09 +00:00
- There were no plugin moves or library moves in this cycle.
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
Plugin removals
2017-05-04 12:39:25 +00:00
2020-09-07 23:05:39 +00:00
The following elements or plugins have been removed:
2019-01-17 02:02:30 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2018-02-15 17:10:13 +00:00
2020-09-07 23:05:39 +00:00
Miscellaneous API additions
2019-04-18 23:24:40 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Miscellaneous performance, latency and memory optimisations
2019-01-17 02:02:30 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Miscellaneous other changes and enhancements
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-04-10 23:28:18 +00:00
2018-03-03 22:24:28 +00:00
Tracing framework and debugging improvements
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
Tools
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
GStreamer RTSP server
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
GStreamer VAAPI
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2019-02-26 11:48:50 +00:00
GStreamer OMX
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-02-26 11:48:50 +00:00
2018-03-03 22:24:28 +00:00
GStreamer Editing Services and NLE
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
GStreamer validate
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2018-03-19 20:19:43 +00:00
2018-03-20 09:26:15 +00:00
GStreamer Python Bindings
2018-03-19 20:19:43 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-01-17 02:02:30 +00:00
2020-09-07 23:05:39 +00:00
GStreamer C# Bindings
2019-01-17 02:02:30 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
GStreamer Rust Bindings and Rust Plugins
The GStreamer Rust bindings are released separately with a different
release cadence thats tied to gtk-rs, but the latest release has
2021-05-31 23:12:09 +00:00
already been updated for the upcoming new GStreamer 1.20 API.
2020-09-07 23:05:39 +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 dont miss out on all those potentially useful
elements that have no C equivalent.
2021-05-31 23:12:09 +00:00
- FIXME: add new elements
2020-09-07 23:05:39 +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:02:30 +00:00
2020-06-19 18:20:41 +00:00
Build and Dependencies
2019-01-17 02:02:30 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
gst-build
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-01-17 02:02:30 +00:00
2019-02-26 11:48:50 +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:05:39 +00:00
General improvements
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
macOS / iOS
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Windows
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Windows MSI installer
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Linux
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Android
2019-02-26 11:48:50 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-02-26 11:48:50 +00:00
2019-01-17 02:02:30 +00:00
Platform-specific changes and improvements
2017-05-04 12:39:25 +00:00
2018-03-03 22:24:28 +00:00
Android
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-02-26 11:48:50 +00:00
2018-03-03 22:24:28 +00:00
macOS and iOS
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2018-03-03 22:24:28 +00:00
Windows
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Linux
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Documentation improvements
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2020-09-07 23:05:39 +00:00
Possibly Breaking Changes
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2021-09-23 00:34:00 +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.
2020-09-07 23:05:39 +00:00
Known Issues
2019-01-17 02:02:30 +00:00
2021-05-31 23:12:09 +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:02:30 +00:00
Contributors
2021-05-31 23:12:09 +00:00
- this section will be filled in in due course
2019-01-17 02:02:30 +00:00
… and many others who have contributed bug reports, translations, sent
2017-05-04 12:39:25 +00:00
suggestions or helped testing.
2021-05-31 23:12:09 +00:00
Stable 1.20 branch
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
After the 1.20.0 release there will be several 1.20.x bug-fix releases
2018-03-03 22:24:28 +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:12:09 +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:19:43 +00:00
2021-05-31 23:12:09 +00:00
1.20.0
2018-03-19 20:19:43 +00:00
2021-09-23 00:34:00 +00:00
1.20.0 is scheduled to be released around October/November 2021.
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +00:00
Schedule for 1.22
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +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:34:00 +00:00
development of 1.21/1.22 will happen in the git main branch.
2017-05-04 12:39:25 +00:00
2021-09-23 00:34:00 +00:00
The plan for the 1.22 development cycle is yet to be confirmed.
2017-05-04 12:39:25 +00:00
2021-05-31 23:12:09 +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:39:25 +00:00
2018-03-03 22:24:28 +00:00
------------------------------------------------------------------------
2017-05-04 12:39:25 +00:00
2020-08-20 15:12:23 +00:00
These release notes have been prepared by Tim-Philipp Müller with
2021-05-31 23:12:09 +00:00
contributions from …
2017-05-04 12:39:25 +00:00
2020-08-20 15:12:23 +00:00
License: CC BY-SA 4.0