mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
Release 1.20.4
This commit is contained in:
parent
7275d3d136
commit
642730bd67
70 changed files with 3804 additions and 154 deletions
|
@ -1,5 +1,5 @@
|
||||||
project('gstreamer-full', 'c',
|
project('gstreamer-full', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : ['buildtype=debugoptimized',
|
default_options : ['buildtype=debugoptimized',
|
||||||
# Needed due to https://github.com/mesonbuild/meson/issues/1889,
|
# Needed due to https://github.com/mesonbuild/meson/issues/1889,
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-devtools.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
* meson.build:
|
* meson.build:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-devtools 1.20.3.
|
This is GStreamer gst-devtools 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -53,6 +53,16 @@
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-devtools', 'c',
|
project('gst-devtools', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'c_std=gnu99',
|
'c_std=gnu99',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('GStreamer manuals and tutorials', 'c',
|
project('GStreamer manuals and tutorials', 'c',
|
||||||
version: '1.20.3.1',
|
version: '1.20.4',
|
||||||
meson_version : '>= 0.59')
|
meson_version : '>= 0.59')
|
||||||
|
|
||||||
hotdoc_p = find_program('hotdoc')
|
hotdoc_p = find_program('hotdoc')
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-editing-services.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-03-28 13:47:52 +0200 Stéphane Cerveau <scerveau@collabora.com>
|
2022-03-28 13:47:52 +0200 Stéphane Cerveau <scerveau@collabora.com>
|
||||||
|
|
||||||
* tools/utils.c:
|
* tools/utils.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-editing-services 1.20.3.
|
This is GStreamer gst-editing-services 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -30,6 +30,16 @@ GStreamer library for creating audio and video editors
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-editing-services', 'c',
|
project('gst-editing-services', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('gst-examples', 'c', version : '1.20.3.1', license : 'LGPL')
|
project('gst-examples', 'c', version : '1.20.4', license : 'LGPL')
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
m_dep = cc.find_library('m', required : false)
|
m_dep = cc.find_library('m', required : false)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
project('gst-integration-testsuites', [], version: '1.20.3.1', meson_version : '>= 0.59', license: 'LGPL')
|
project('gst-integration-testsuites', [], version: '1.20.4', meson_version : '>= 0.59', license: 'LGPL')
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-libav.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-10-04 21:27:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
2022-10-04 21:27:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
* ext/libav/gstavauddec.c:
|
* ext/libav/gstavauddec.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-libav 1.20.3.
|
This is GStreamer gst-libav 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -32,6 +32,16 @@ colorspace conversion elements.
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-libav', 'c',
|
project('gst-libav', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-omx.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
* meson.build:
|
* meson.build:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-omx 1.20.3.
|
This is GStreamer gst-omx 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -31,6 +31,16 @@ a basic collection of elements
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-omx', 'c',
|
project('gst-omx', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-plugins-bad.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
|
2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
|
||||||
|
|
||||||
* gst/mxf/mxfaes-bwf.c:
|
* gst/mxf/mxfaes-bwf.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-plugins-bad 1.20.3.
|
This is GStreamer gst-plugins-bad 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -33,6 +33,16 @@ real live maintainer, or some actual wide use.
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-plugins-bad', 'c', 'cpp',
|
project('gst-plugins-bad', 'c', 'cpp',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-plugins-base.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
|
2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
|
||||||
|
|
||||||
* sys/xvimage/xvimageallocator.c:
|
* sys/xvimage/xvimageallocator.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-plugins-base 1.20.3.
|
This is GStreamer gst-plugins-base 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -34,6 +34,16 @@ A wide range of video and audio decoders, encoders, and filters are included.
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-plugins-base', 'c',
|
project('gst-plugins-base', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,19 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* docs/gst_plugins_cache.json:
|
||||||
|
* gst-plugins-good.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-09-30 18:57:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
2022-09-30 18:57:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
* gst/multifile/gstsplitmuxpartreader.c:
|
* gst/multifile/gstsplitmuxpartreader.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-plugins-good 1.20.3.
|
This is GStreamer gst-plugins-good 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -6607,7 +6607,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "GStreamer 1.20.3.1 FLV muxer",
|
"default": "GStreamer 1.20.4 FLV muxer",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "gchararray",
|
"type": "gchararray",
|
||||||
|
@ -6619,7 +6619,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "GStreamer 1.20.3.1 FLV muxer",
|
"default": "GStreamer 1.20.4 FLV muxer",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "gchararray",
|
"type": "gchararray",
|
||||||
|
@ -20478,7 +20478,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "GStreamer/1.20.3.1",
|
"default": "GStreamer/1.20.4",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "gchararray",
|
"type": "gchararray",
|
||||||
|
@ -22435,7 +22435,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "GStreamer souphttpsrc 1.20.3.1 ",
|
"default": "GStreamer souphttpsrc 1.20.4 ",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "gchararray",
|
"type": "gchararray",
|
||||||
|
|
|
@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-plugins-good', 'c',
|
project('gst-plugins-good', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-plugins-ugly.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
* meson.build:
|
* meson.build:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-plugins-ugly 1.20.3.
|
This is GStreamer gst-plugins-ugly 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -33,6 +33,16 @@ might be widely known to present patent problems.
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-plugins-ugly', 'c',
|
project('gst-plugins-ugly', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gst-python.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-06-28 16:38:09 -0400 Thibault Saunier <tsaunier@igalia.com>
|
2022-06-28 16:38:09 -0400 Thibault Saunier <tsaunier@igalia.com>
|
||||||
|
|
||||||
* examples/plugins/python/py_audiotestsrc.py:
|
* examples/plugins/python/py_audiotestsrc.py:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-python 1.20.3.
|
This is GStreamer gst-python 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -30,6 +30,16 @@ GStreamer Python Bindings is a set of overrides and Gst fundamental types handli
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-python', 'c',
|
project('gst-python', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'c_std=gnu99',
|
'c_std=gnu99',
|
||||||
|
|
|
@ -1,3 +1,19 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* docs/gst_plugins_cache.json:
|
||||||
|
* gst-rtsp-server.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-08-24 19:50:19 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
|
2022-08-24 19:50:19 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
|
||||||
|
|
||||||
* gst/rtsp-server/rtsp-server-internal.h:
|
* gst/rtsp-server/rtsp-server-internal.h:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-rtsp-server 1.20.3.
|
This is GStreamer gst-rtsp-server 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -321,7 +321,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "GStreamer/1.20.3.1",
|
"default": "GStreamer/1.20.4",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "gchararray",
|
"type": "gchararray",
|
||||||
|
|
|
@ -30,6 +30,16 @@ RTSP server library based on GStreamer
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-rtsp-server', 'c',
|
project('gst-rtsp-server', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : ['warning_level=1', 'buildtype=debugoptimized'])
|
default_options : ['warning_level=1', 'buildtype=debugoptimized'])
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('gstreamer-sharp', ['cs', 'c'], version: '1.20.3.1',
|
project('gstreamer-sharp', ['cs', 'c'], version: '1.20.4',
|
||||||
meson_version : '>= 0.59', license: 'LGPL')
|
meson_version : '>= 0.59', license: 'LGPL')
|
||||||
|
|
||||||
if host_machine.system() == 'osx'
|
if host_machine.system() == 'osx'
|
||||||
|
|
|
@ -17,9 +17,9 @@ namespace Gst.PbUtils {
|
||||||
public const string ENCODING_CATEGORY_ONLINE_SERVICE = @"online-service";
|
public const string ENCODING_CATEGORY_ONLINE_SERVICE = @"online-service";
|
||||||
public const string ENCODING_CATEGORY_STORAGE_EDITING = @"storage-editing";
|
public const string ENCODING_CATEGORY_STORAGE_EDITING = @"storage-editing";
|
||||||
public const int PLUGINS_BASE_VERSION_MAJOR = 1;
|
public const int PLUGINS_BASE_VERSION_MAJOR = 1;
|
||||||
public const int PLUGINS_BASE_VERSION_MICRO = 3;
|
public const int PLUGINS_BASE_VERSION_MICRO = 4;
|
||||||
public const int PLUGINS_BASE_VERSION_MINOR = 20;
|
public const int PLUGINS_BASE_VERSION_MINOR = 20;
|
||||||
public const int PLUGINS_BASE_VERSION_NANO = 1;
|
public const int PLUGINS_BASE_VERSION_NANO = 0;
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,9 +170,9 @@ namespace Gst {
|
||||||
public const int VALUE_LESS_THAN = -1;
|
public const int VALUE_LESS_THAN = -1;
|
||||||
public const int VALUE_UNORDERED = 2;
|
public const int VALUE_UNORDERED = 2;
|
||||||
public const int VERSION_MAJOR = 1;
|
public const int VERSION_MAJOR = 1;
|
||||||
public const int VERSION_MICRO = 3;
|
public const int VERSION_MICRO = 4;
|
||||||
public const int VERSION_MINOR = 20;
|
public const int VERSION_MINOR = 20;
|
||||||
public const int VERSION_NANO = 1;
|
public const int VERSION_NANO = 0;
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12127,10 +12127,10 @@
|
||||||
<constant value="1" ctype="gint" gtype="gint" name="VALUE_GREATER_THAN" />
|
<constant value="1" ctype="gint" gtype="gint" name="VALUE_GREATER_THAN" />
|
||||||
<constant value="-1" ctype="gint" gtype="gint" name="VALUE_LESS_THAN" />
|
<constant value="-1" ctype="gint" gtype="gint" name="VALUE_LESS_THAN" />
|
||||||
<constant value="2" ctype="gint" gtype="gint" name="VALUE_UNORDERED" />
|
<constant value="2" ctype="gint" gtype="gint" name="VALUE_UNORDERED" />
|
||||||
<constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
|
<constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
|
||||||
<constant value="3" ctype="gint" gtype="gint" name="VERSION_MICRO" />
|
<constant value="4" ctype="gint" gtype="gint" name="VERSION_MICRO" />
|
||||||
<constant value="20" ctype="gint" gtype="gint" name="VERSION_MINOR" />
|
<constant value="20" ctype="gint" gtype="gint" name="VERSION_MINOR" />
|
||||||
<constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO" />
|
<constant value="0" ctype="gint" gtype="gint" name="VERSION_NANO" />
|
||||||
</object>
|
</object>
|
||||||
<class name="Parse" cname="GstParse" disable_void_ctor="1">
|
<class name="Parse" cname="GstParse" disable_void_ctor="1">
|
||||||
<method name="ParseBinFromDescription" cname="gst_parse_bin_from_description" shared="true">
|
<method name="ParseBinFromDescription" cname="gst_parse_bin_from_description" shared="true">
|
||||||
|
@ -21582,10 +21582,10 @@
|
||||||
<constant value="file-extension" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_FILE_EXTENSION" />
|
<constant value="file-extension" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_FILE_EXTENSION" />
|
||||||
<constant value="online-service" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_ONLINE_SERVICE" />
|
<constant value="online-service" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_ONLINE_SERVICE" />
|
||||||
<constant value="storage-editing" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_STORAGE_EDITING" />
|
<constant value="storage-editing" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_STORAGE_EDITING" />
|
||||||
<constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR" />
|
<constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR" />
|
||||||
<constant value="3" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
|
<constant value="4" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
|
||||||
<constant value="20" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
|
<constant value="20" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
|
||||||
<constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
|
<constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
|
||||||
</object>
|
</object>
|
||||||
</namespace>
|
</namespace>
|
||||||
<namespace name="Gst.Rtp" library="gstrtp-1.0-0.dll">
|
<namespace name="Gst.Rtp" library="gstrtp-1.0-0.dll">
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gstreamer-vaapi.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
|
2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
|
||||||
|
|
||||||
* gst-libs/gst/vaapi/gstvaapidisplay.c:
|
* gst-libs/gst/vaapi/gstvaapidisplay.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gstreamer-vaapi 1.20.3.
|
This is GStreamer gstreamer-vaapi 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -25,6 +25,16 @@
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gstreamer-vaapi', 'c',
|
project('gstreamer-vaapi', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
=== release 1.20.4 ===
|
||||||
|
|
||||||
|
2022-10-12 16:39:47 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gstreamer.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.20.4
|
||||||
|
|
||||||
|
2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
Update ChangeLogs for 1.20.4
|
||||||
|
|
||||||
2022-10-07 14:39:47 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
|
2022-10-07 14:39:47 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
|
||||||
|
|
||||||
* libs/gst/base/gstaggregator.c:
|
* libs/gst/base/gstaggregator.c:
|
||||||
|
|
|
@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes
|
||||||
|
|
||||||
GStreamer 1.20.0 was originally released on 3 February 2022.
|
GStreamer 1.20.0 was originally released on 3 February 2022.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.20 series is 1.20.3 and was released
|
The latest bug-fix release in the 1.20 series is 1.20.4 and was released
|
||||||
on 15 June 2022.
|
on 12 October 2022.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 June 2022, 17:00 UTC (log)
|
Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -757,7 +757,8 @@ New element features and additions
|
||||||
|
|
||||||
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
- matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265
|
||||||
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
(i.e. stream-format avc3 and hev1) which allows on-the-fly
|
||||||
profile/level/resolution changes.
|
profile/level changes, and from 1.20.4 onwards also resolution
|
||||||
|
changes.
|
||||||
|
|
||||||
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
- matroskamux: new "cluster-timestamp-offset" property, useful for use
|
||||||
cases where the container timestamps should map to some absolute
|
cases where the container timestamps should map to some absolute
|
||||||
|
@ -909,7 +910,7 @@ New element features and additions
|
||||||
- vp8enc: finish support for temporal scalability: two new properties
|
- vp8enc: finish support for temporal scalability: two new properties
|
||||||
("temporal-scalability-layer-flags",
|
("temporal-scalability-layer-flags",
|
||||||
"temporal-scalability-layer-sync-flags") and a unit change on the
|
"temporal-scalability-layer-sync-flags") and a unit change on the
|
||||||
"temporal-scalability-target-bitrate" property (now expects bps);
|
"temporal-scalability-target-bitrate” property (now expects bps);
|
||||||
also make temporal scalability details available to RTP payloaders
|
also make temporal scalability details available to RTP payloaders
|
||||||
as buffer metadata.
|
as buffer metadata.
|
||||||
|
|
||||||
|
@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes
|
||||||
names of internal elements anyway.
|
names of internal elements anyway.
|
||||||
|
|
||||||
- The vp8enc element now expects bps (bits per second) for the
|
- The vp8enc element now expects bps (bits per second) for the
|
||||||
"temporal-scalability-target-bitrate" property, which is consistent
|
"temporal-scalability-target-bitrate” property, which is consistent
|
||||||
with the "target-bitrate" property. Since additional configuration
|
with the "target-bitrate" property. Since additional configuration
|
||||||
is required with modern libvpx to make temporal scaling work anyway,
|
is required with modern libvpx to make temporal scaling work anyway,
|
||||||
chances are that very few people will have been using this property
|
chances are that very few people will have been using this property
|
||||||
|
@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3
|
||||||
- List of Merge Requests applied in 1.20.3
|
- List of Merge Requests applied in 1.20.3
|
||||||
- List of Issues fixed in 1.20.3
|
- List of Issues fixed in 1.20.3
|
||||||
|
|
||||||
|
1.20.4
|
||||||
|
|
||||||
|
The fourth 1.20 bug-fix release (1.20.4) was released on 12 October
|
||||||
|
2022.
|
||||||
|
|
||||||
|
This release only contains bugfixes and it should be safe to upgrade
|
||||||
|
from 1.20.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.20.4
|
||||||
|
|
||||||
|
- avaudiodec: fix playback issue with WMA files, would throw an error
|
||||||
|
at EOS with FFmpeg 5.x
|
||||||
|
- Fix deadlock when loading gst-editing-services plugin
|
||||||
|
- Fix input buffering capacity in live mode for aggregator,
|
||||||
|
video/audio aggregator subclasses, muxers
|
||||||
|
- glimagesink: fix crash on Android
|
||||||
|
- subtitle handling and subtitle overlay fixes
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- rtspsrc: fix control url handling for spec compliant servers and add
|
||||||
|
fallback for incompliant servers
|
||||||
|
- WebRTC fixes
|
||||||
|
- RTP retransmission fixes
|
||||||
|
- video: fixes for formats with 4x subsampling and horizontal co-sited
|
||||||
|
chroma (Y41B, YUV9, YVU9 and IYU9)
|
||||||
|
- macOS build and packaging fixes, in particular fix finding of gio
|
||||||
|
modules on macOS for https/TLS support
|
||||||
|
- Performance improvements
|
||||||
|
- Miscellaneous bug fixes, memory leak fixes, and other stability and
|
||||||
|
reliability improvements
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- buffer: drop parent meta in deep copy/foreach_metadata
|
||||||
|
- devicemonitor: Use a sync bus handler for the provider to avoid
|
||||||
|
accumulating all messages until the provider is stopped
|
||||||
|
- element: Fix requesting of pads with string templates
|
||||||
|
- gst: Protect initialization state with a recursive mutex
|
||||||
|
- gst: add missing define guard for build without gstreamer debug
|
||||||
|
logging support
|
||||||
|
- gst_init: Initialize static plugins just before dynamic plugins
|
||||||
|
- info: Parse “NONE” as a valid level name
|
||||||
|
- meta: Set the parent refcount of the GstStructure correctly
|
||||||
|
- pluginloader: Don’t hang on short reads/writes
|
||||||
|
- tracers: leaks: fix potentially invalid memory access when trying to
|
||||||
|
detect object type
|
||||||
|
- tracers: leaks: fix object-refings.class flags
|
||||||
|
- uri: When setting the same string again do nothing
|
||||||
|
- value: Don’t loop forever when serializing invalid flag
|
||||||
|
|
||||||
|
Base Libraries
|
||||||
|
|
||||||
|
- aggregator: fix input buffering in live mode (was too low before in
|
||||||
|
many cases)
|
||||||
|
- aggregator: fix reversed active/flushing arguments in debug log
|
||||||
|
output
|
||||||
|
- aggregator: Reset EOS flag after receiving a stream-start event
|
||||||
|
|
||||||
|
Core Elements
|
||||||
|
|
||||||
|
- queue2: Hold the lock when modifying sinkresult
|
||||||
|
- queue2: Fix deadlock when deactivate is called in pull mode
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- decodebin3: fix mutex leaks
|
||||||
|
- decodebin3: Fix memory issues with active selection list
|
||||||
|
- decodebin3, uridecodebin3, urisourcebin: Event handling fixes
|
||||||
|
- decodebin3: fix EOS event sequence
|
||||||
|
- parsebin: Avoid crash with unknown streams
|
||||||
|
- parsebin: SIGSEGV during HLS stream using souphttpsrc
|
||||||
|
- glimagesink: only allow setting the GL display/context if it is a
|
||||||
|
valid value
|
||||||
|
- glimagesink: segfault on android devices
|
||||||
|
- gstgl: Fix several memory leaks in macOS
|
||||||
|
- opusenc: improve inband-fec property documentation
|
||||||
|
- playsink: Hold a reference to the soft volume element
|
||||||
|
- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
|
||||||
|
- rtspurl: Use gst_uri_join_strings() in
|
||||||
|
gst_rtsp_url_get_request_uri_with_control() instead of a
|
||||||
|
hand-crafted, wrong version
|
||||||
|
- rtspconnection: protect cancellable by a mutex
|
||||||
|
- sdpmessage: Don’t set SDP medias from caps without
|
||||||
|
media/payload/clock-rate fields
|
||||||
|
- samiparse: fix handling of self-closing tags
|
||||||
|
- ssaparse: include required system headers for isspace() and sscanf()
|
||||||
|
functions
|
||||||
|
- subparse: fix crash when parsing invalid timestamps in mpl2
|
||||||
|
- subparse fixes
|
||||||
|
- textoverlay: Don’t miscalculate text running times
|
||||||
|
- videoaggregator: always convert when user provides converter-config
|
||||||
|
- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9,
|
||||||
|
YVU9 and IYU9)
|
||||||
|
- xmptag: register musicbrainz tags during init to fix critical in
|
||||||
|
jpegparse
|
||||||
|
- xvimagesink: fix image leaks in error code path
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
Tools
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- alpha: fix stride issue when out buffer has padding on right
|
||||||
|
- isoff: Fix earliest pts field parse issue
|
||||||
|
- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9
|
||||||
|
- qt: Fix another instance of Qt/GStreamer both defining GLsync
|
||||||
|
differently
|
||||||
|
- qtdemux: Avoid crash on reconfiguring.
|
||||||
|
- qtdemux: guard against timestamp calculation overflow in gap event
|
||||||
|
loop
|
||||||
|
- qtdemux: Don’t use invalid values from failed trex parsing
|
||||||
|
- qtdemux: possible endless loop
|
||||||
|
- rtpjitterbuffer: Only unschedule timers for late packets if they’re
|
||||||
|
not RTX packets and only once
|
||||||
|
- rtpjitterbuffer: remove lost timer for out of order packets
|
||||||
|
- rtspsrc: SETUP generates 400 Bad Request
|
||||||
|
- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad
|
||||||
|
Request” and “Not found”
|
||||||
|
- rtpst2022-1-fecenc: Drain column packets on EOS
|
||||||
|
- rtpvp8depay: If configured to wait for keyframes after packet loss,
|
||||||
|
also do that if incomplete frames are detected
|
||||||
|
- splitmuxsink: Don’t crash on EOS without buffer
|
||||||
|
- splitmuxsrc: Stop pad task before cleanup
|
||||||
|
- splitmuxsrc: don’t consider unlinked pads when deactivating part
|
||||||
|
- soup: libsoup3 makes audio streaming stop
|
||||||
|
- v4l2: fix critical when unreferencign buffer with no data
|
||||||
|
- v4l2bufferpool: Fix debug trace
|
||||||
|
- v4l2object: Add support for Apple’s full-range bt709 colorspace
|
||||||
|
variant 1:3:5:1
|
||||||
|
- v4l2videocodec: workaround for failure to fully drain frames
|
||||||
|
preceding MIDSTREAM renegotiation
|
||||||
|
- v4l2allocator: Fix invalid imported dmabuf fd
|
||||||
|
- videoflip: Fix caps negotiation when method is selected
|
||||||
|
- build failure trying to build jack examples
|
||||||
|
- examples: don’t try and build jack examples if jack was disabled
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- amcvideodec: fix GstAmcSurfaceTexture segfault
|
||||||
|
- audiobuffersplit: Fix drift that was introduced by wrong
|
||||||
|
calculations in gapless mode
|
||||||
|
- avfvideosrc: Fix wrong default framerate value
|
||||||
|
- audiovisualizer: fix buffer mapping to not increase refcount
|
||||||
|
- d3d11decoder: Check 16K resolution support
|
||||||
|
- d3d11videosink: Fix for force-aspect-ratio setting when rendering on
|
||||||
|
shared texture
|
||||||
|
- mxfdemux: Always calculate BlockAlign of raw audio to work around
|
||||||
|
files with broken BlockAlign field in the headers
|
||||||
|
- nvdec: Fix for HEVC decoding when coded resolution is larger than
|
||||||
|
display resolution
|
||||||
|
- openh264: Register debug categories earlier
|
||||||
|
- openh264enc: Fix constrained-high encoding
|
||||||
|
- openmpt: update from now deprecated api
|
||||||
|
- GstPlay: missing cleanup for g_autoptr
|
||||||
|
- player/play: Fix object construction and various leaks
|
||||||
|
- player: Plug a memory leak
|
||||||
|
- proxysink: Make sure stream-start and caps events are forwarded, and
|
||||||
|
fix memory leak
|
||||||
|
- tsdemux: Don’t trigger a program change when falling back to
|
||||||
|
ignore-pcr behaviour
|
||||||
|
- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
|
||||||
|
- va: h265dec: Fix a crash because of missing reference frame.
|
||||||
|
- vah265dec: Decoder segfaults on seek
|
||||||
|
- wasapi: Implement default audio channel mask
|
||||||
|
- wasapi2: Fix initial mute/volume setting
|
||||||
|
- webrtcbin: Limit sink query to sink pads
|
||||||
|
- webrtcbin: Fix pointer dereference before null check
|
||||||
|
- webrtc: Make sure to return NULL when validating TURN server fails
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- tests: skip unit tests for dependency-less elements that have been
|
||||||
|
disabled
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avauddec: fix regression with WMA files, would throw an error at EOS
|
||||||
|
- avauddec: fix unnecessary reconfiguration if the audio layout isn’t
|
||||||
|
specified
|
||||||
|
- libav: Fix for APNG encoder property registration
|
||||||
|
- Failure to decode end of WMA file
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- gst-rtsp-server: Fix pushing backlog to client
|
||||||
|
- rtsp-server: stream: Don’t loop forever if binding to the multicast
|
||||||
|
address fails
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- vaapi: Handle when no encoders/decoders available.
|
||||||
|
- vaapi: Crash in gst_vaapidecode_class_init() when no
|
||||||
|
decoders/encoders available
|
||||||
|
|
||||||
|
gstreamer-sharp
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-omx
|
||||||
|
|
||||||
|
- No changes
|
||||||
|
|
||||||
|
gst-python
|
||||||
|
|
||||||
|
- python: Do not call gst_init when it is already is_initialized
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- Deadlock in ges because of recursive gst_init() call
|
||||||
|
- ges/gstframepositioner: don’t create one compositor per frame meta
|
||||||
|
- nle: clear seek event properly
|
||||||
|
|
||||||
|
gst-examples:
|
||||||
|
|
||||||
|
- examples/webrtc/signalling: Fix compatibility with Python 3.10
|
||||||
|
|
||||||
|
Development build environment + gst-full build
|
||||||
|
|
||||||
|
- build: Fix some compiler warnings by upgrading wraps
|
||||||
|
- dv, opusparse: fix duplicate symbols in static build
|
||||||
|
- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72
|
||||||
|
tls-validation deprecations
|
||||||
|
- Various macOS build fixes
|
||||||
|
- meson: Improve certifi documentation on macOS
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.20.4
|
||||||
|
|
||||||
|
- Add Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
- Add gst-rtsp-server library to the macOS framework
|
||||||
|
- cerbero: Quick fix for gen-cache breakage
|
||||||
|
- macos: Fix the install_name for the GStreamer framework
|
||||||
|
- Download using powershell on Windows and rework download func
|
||||||
|
- macos: Add arm64 to the metadata for the installer
|
||||||
|
- cerbero: Allow building on Linux ARM64
|
||||||
|
- pkg-config.recipe: Add to core platform files list
|
||||||
|
- git: Fix issue with last security patch
|
||||||
|
- distros: Fix CentOS allowance
|
||||||
|
- cerbero: Print working directory for commands that are run
|
||||||
|
- cerbero: Fix license property usage example
|
||||||
|
- Fix issue getting distro_version in Debian Bookworm
|
||||||
|
- glib: Fix gio modules loading on macOS
|
||||||
|
- cmake: Fix macOS ARM64 -> x86_64 cross-compilation
|
||||||
|
- Fix logo display in macOS installer
|
||||||
|
- openssl.recipe: Fix segfault on latest macOS
|
||||||
|
- msvc: Fix for broken CRT linking at application project because of
|
||||||
|
MSVCRT linking
|
||||||
|
- cerbero: Do not add rpaths that already exist on macOS
|
||||||
|
- android: fix build with android gradle plugin 7.2
|
||||||
|
- macOS framework is unusable starting from 1.18.0
|
||||||
|
|
||||||
|
Contributors to 1.20.4
|
||||||
|
|
||||||
|
Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey,
|
||||||
|
Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward
|
||||||
|
Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes,
|
||||||
|
Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan
|
||||||
|
Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson,
|
||||||
|
Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp,
|
||||||
|
Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne,
|
||||||
|
Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand,
|
||||||
|
Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul
|
||||||
|
Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang,
|
||||||
|
Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan
|
||||||
|
Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu,
|
||||||
|
|
||||||
|
… and many others who have contributed bug reports, translations, sent
|
||||||
|
suggestions or helped testing. Thank you all!
|
||||||
|
|
||||||
|
List of merge requests and issues fixed in 1.20.4
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.20.4
|
||||||
|
- List of Issues fixed in 1.20.4
|
||||||
|
|
||||||
Schedule for 1.22
|
Schedule for 1.22
|
||||||
|
|
||||||
Our next major feature release will be 1.22, and 1.21 will be the
|
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
|
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.
|
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. Assuming
|
The plan for the 1.22 development cycle is now confirmed, and we aim for
|
||||||
no major project-wide reorganisations in the 1.22 cycle we might try and
|
a 1.22.0 release in December 2022.
|
||||||
aim for a release around August 2022.
|
|
||||||
|
|
||||||
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
|
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.
|
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer core 1.20.3.
|
This is GStreamer core 1.20.4.
|
||||||
|
|
||||||
The GStreamer team is thrilled to announce a new major feature release
|
The GStreamer team is thrilled to announce a new major feature release
|
||||||
of your favourite cross-platform multimedia framework!
|
of your favourite cross-platform multimedia framework!
|
||||||
|
|
|
@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.20.4</revision>
|
||||||
|
<branch>1.20</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2022-10-12</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.4.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.20.3</revision>
|
<revision>1.20.3</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gstreamer', 'c',
|
project('gstreamer', 'c',
|
||||||
version : '1.20.3.1',
|
version : '1.20.4',
|
||||||
meson_version : '>= 0.59',
|
meson_version : '>= 0.59',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
Loading…
Reference in a new issue