Release 1.19.3
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / NEWS
1 GStreamer 1.20 Release Notes
2
3 GStreamer 1.20 has not been released yet. It is scheduled for release in
4 November 2021.
5
6 1.19.x is the unstable development version that is being developed in
7 the git main branch and which will eventually result in 1.20, and 1.19.3
8 is the current development release in that series
9
10 It is expected that feature freeze will be in early October 2021,
11 followed by one or two 1.19.9x pre-releases and the new 1.20 stable
12 release around October/November 2021.
13
14 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
15 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
16
17 See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
18 version of this document.
19
20 Last updated: Monday 1 November 2021, 01:00 UTC (log)
21
22 Introduction
23
24 The GStreamer team is proud to announce a new major feature release in
25 the stable 1.x API series of your favourite cross-platform multimedia
26 framework!
27
28 As always, this release is again packed with many new features, bug
29 fixes and other improvements.
30
31 Highlights
32
33 -   this section will be completed in due course
34
35 Major new features and changes
36
37 Noteworthy new features and API
38
39 -   this section will be filled in in due course
40
41 New elements
42
43 -   this section will be filled in in due course
44
45 New element features and additions
46
47 -   this section will be filled in in due course
48
49 Plugin and library moves
50
51 -   this section will be filled in in due course
52
53 -   There were no plugin moves or library moves in this cycle.
54
55 Plugin removals
56
57 The following elements or plugins have been removed:
58
59 -   this section will be filled in in due course
60
61 -   The ofa audio fingerprinting plugin has been removed. The MusicIP
62     database has been defunct for years so this plugin is likely neither
63     useful nor used by anyone.
64
65 -   The mms plugin containing mmssrc has been removed. It seems unlikely
66     anyone still needs this or that there are even any streams left out
67     there. The MMS protocol was deprecated in 2003 (in favour of RTSP)
68     and support for it was dropped with Microsoft Media Services 2008,
69     and Windows Media Player apparently also does not support it any
70     more.
71
72 Miscellaneous API additions
73
74 -   this section will be filled in in due course
75
76 Miscellaneous performance, latency and memory optimisations
77
78 -   this section will be filled in in due course
79
80 Miscellaneous other changes and enhancements
81
82 -   this section will be filled in in due course
83
84 Tracing framework and debugging improvements
85
86 -   this section will be filled in in due course
87
88 Tools
89
90 -   this section will be filled in in due course
91
92 GStreamer RTSP server
93
94 -   this section will be filled in in due course
95
96 GStreamer VAAPI
97
98 -   this section will be filled in in due course
99
100 GStreamer OMX
101
102 -   this section will be filled in in due course
103
104 GStreamer Editing Services and NLE
105
106 -   this section will be filled in in due course
107
108 GStreamer validate
109
110 -   this section will be filled in in due course
111
112 GStreamer Python Bindings
113
114 -   this section will be filled in in due course
115
116 GStreamer C# Bindings
117
118 -   this section will be filled in in due course
119
120 GStreamer Rust Bindings and Rust Plugins
121
122 The GStreamer Rust bindings are released separately with a different
123 release cadence that’s tied to gtk-rs, but the latest release has
124 already been updated for the upcoming new GStreamer 1.20 API.
125
126 gst-plugins-rs, the module containing GStreamer plugins written in Rust,
127 has also seen lots of activity with many new elements and plugins.
128
129 What follows is a list of elements and plugins available in
130 gst-plugins-rs, so people don’t miss out on all those potentially useful
131 elements that have no C equivalent.
132
133 -   FIXME: add new elements
134
135 Rust audio plugins
136
137 -   audiornnoise: New element for audio denoising which implements the
138     noise removal algorithm of the Xiph RNNoise library, in Rust
139 -   rsaudioecho: Port of the audioecho element from gst-plugins-good
140     rsaudioloudnorm: Live audio loudness normalization element based on
141     the FFmpeg af_loudnorm filter
142 -   claxondec: FLAC lossless audio codec decoder element based on the
143     pure-Rust claxon implementation
144 -   csoundfilter: Audio filter that can use any filter defined via the
145     Csound audio programming language
146 -   lewtondec: Vorbis audio decoder element based on the pure-Rust
147     lewton implementation
148
149 Rust video plugins
150
151 -   cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
152     on a pure-Rust CD+G implementation, used for example by karaoke CDs
153 -   cea608overlay: CEA-608 Closed Captions overlay element
154 -   cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
155     subtitles) converter
156 -   tttocea608: CEA-608 Closed Captions from timed-text converter
157 -   mccenc/mccparse: MacCaption Closed Caption format encoder and parser
158 -   sccenc/sccparse: Scenarist Closed Caption format encoder and parser
159 -   dav1dec: AV1 video decoder based on the dav1d decoder implementation
160     by the VLC project
161 -   rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
162     encoder implementation
163 -   rsflvdemux: Alternative to the flvdemux FLV demuxer element from
164     gst-plugins-good, not feature-equivalent yet
165 -   rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
166     implementations by the image-rs project
167
168 Rust text plugins
169
170 -   textwrap: Element for line-wrapping timed text (e.g. subtitles) for
171     better screen-fitting, including hyphenation support for some
172     languages
173
174 Rust network plugins
175
176 -   reqwesthttpsrc: HTTP(S) source element based on the Rust
177     reqwest/hyper HTTP implementations and almost feature-equivalent
178     with the main GStreamer HTTP source souphttpsrc
179 -   s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
180 -   awstranscriber: Live audio to timed text transcription element using
181     the Amazon AWS Transcribe API
182
183 Generic Rust plugins
184
185 -   sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
186     on libsodium/NaCl
187 -   togglerecord: Recording element that allows to pause/resume
188     recordings easily and considers keyframe boundaries
189 -   fallbackswitch/fallbacksrc: Elements for handling potentially
190     failing (network) sources, restarting them on errors/timeout and
191     showing a fallback stream instead
192 -   threadshare: Set of elements that provide alternatives for various
193     existing GStreamer elements but allow to share the streaming threads
194     between each other to reduce the number of threads
195 -   rsfilesrc/rsfilesink: File source/sink elements as replacements for
196     the existing filesrc/filesink elements
197
198 Build and Dependencies
199
200 -   Meson 0.59 or newer is required to build GStreamer now.
201
202 -   FIXME: this section will be filled in in due course
203
204 Explicit opt-in required for build of certain plugins with (A)GPL dependencies
205
206 Some plugins have GPL- or AGPL-licensed dependencies and those plugins
207 will no longer be built by default unless you have explicitly opted in
208 to allow (A)GPL-licensed dependencies by passing -Dgpl=enabled to Meson,
209 even if the required dependencies are available.
210
211 See Building plugins with (A)GPL-licensed dependencies for more details
212 and a non-exhaustive list of plugins affected.
213
214 gst-build: replaced by Monorepo
215
216 -   this section will be filled in in due course
217
218 -   FIXME: describe + link to Monorepo FAQ
219
220 Cerbero
221
222 Cerbero is a meta build system used to build GStreamer plus dependencies
223 on platforms where dependencies are not readily available, such as
224 Windows, Android, iOS and macOS.
225
226 General improvements
227
228 -   this section will be filled in in due course
229
230 macOS / iOS
231
232 -   this section will be filled in in due course
233
234 Windows
235
236 -   this section will be filled in in due course
237
238 Windows MSI installer
239
240 -   this section will be filled in in due course
241
242 Linux
243
244 -   this section will be filled in in due course
245
246 Android
247
248 -   this section will be filled in in due course
249
250 Platform-specific changes and improvements
251
252 Android
253
254 -   this section will be filled in in due course
255
256 macOS and iOS
257
258 -   this section will be filled in in due course
259
260 Windows
261
262 -   this section will be filled in in due course
263
264 Linux
265
266 -   this section will be filled in in due course
267
268 Documentation improvements
269
270 -   this section will be filled in in due course
271
272 Possibly Breaking Changes
273
274 -   FIXME: this section will be filled in in due course
275 -   MPEG-TS SCTE-35 API changes (FIXME: flesh out)
276 -   gst_parse_launch() and friends now error out on non-existing
277     properties on top-level bins where they would silently fail and
278     ignore those before.
279 -   playbin and uridecodebin now emit the source-setup signal before the
280     element is added to the bin and linked so that the source element is
281     already configured before any scheduling query comes in, which is
282     useful for elements such as appsrc or giostreamsrc. (Merge Request)
283
284 Known Issues
285
286 -   this section will be filled in in due course
287
288 -   There are a couple of known WebRTC-related regressions/blockers:
289
290     -   webrtc: DTLS setup with Chrome is broken
291     -   webrtcbin: First keyframe is usually lost
292
293 Contributors
294
295 -   this section will be filled in in due course
296
297 … and many others who have contributed bug reports, translations, sent
298 suggestions or helped testing.
299
300 Stable 1.20 branch
301
302 After the 1.20.0 release there will be several 1.20.x bug-fix releases
303 which will contain bug fixes which have been deemed suitable for a
304 stable branch, but no new features or intrusive changes will be added to
305 a bug-fix release usually. The 1.20.x bug-fix releases will be made from
306 the git 1.20 branch, which will be a stable branch.
307
308 1.20.0
309
310 1.20.0 is scheduled to be released around October/November 2021.
311
312 Schedule for 1.22
313
314 Our next major feature release will be 1.22, and 1.21 will be the
315 unstable development version leading up to the stable 1.22 release. The
316 development of 1.21/1.22 will happen in the git main branch.
317
318 The plan for the 1.22 development cycle is yet to be confirmed.
319
320 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
321 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
322
323 ------------------------------------------------------------------------
324
325 These release notes have been prepared by Tim-Philipp Müller with
326 contributions from …
327
328 License: CC BY-SA 4.0