mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-05 15:08:48 +00:00
Release 1.18.5
This commit is contained in:
parent
0b7c8ea661
commit
71c213f99a
5 changed files with 656 additions and 9 deletions
333
ChangeLog
333
ChangeLog
|
@ -1,3 +1,336 @@
|
||||||
|
=== release 1.18.5 ===
|
||||||
|
|
||||||
|
2021-09-08 20:01:46 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* gstreamer.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.18.5
|
||||||
|
|
||||||
|
2020-12-24 00:40:33 +0700 Dmitry Samoylov <dmitry.samoylov@quantumsoft.ru>
|
||||||
|
|
||||||
|
* gst/gstvalue.c:
|
||||||
|
gst: Fix doc comments
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/883>
|
||||||
|
|
||||||
|
2021-04-02 19:48:26 -0400 Chris White <cxwembedded@gmail.com>
|
||||||
|
|
||||||
|
* gst/gstchildproxy.c:
|
||||||
|
gst_child_proxy_get_property: accept G_VALUE_INIT
|
||||||
|
gst_child_proxy_get_property() can now take a value initialized to
|
||||||
|
G_VALUE_INIT. This parallels the corresponding change in
|
||||||
|
g_object_get_property(), GLib 2.60+.
|
||||||
|
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/724#note_738531
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/882>
|
||||||
|
|
||||||
|
2021-09-06 01:43:57 +1000 Jan Schmidt <jan@centricular.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstmultiqueue.c:
|
||||||
|
multiqueue: Use running time of gap events for wakeups.
|
||||||
|
Use gap events to update the next_time of a queue the same
|
||||||
|
as buffers or segment events. Fixes problems where a group
|
||||||
|
consisting only of sparse streams primarily driven by
|
||||||
|
gap events would stall with a full multiqueue because
|
||||||
|
unlinked streams in the group were not being woken to
|
||||||
|
push data.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/881>
|
||||||
|
|
||||||
|
2021-08-27 13:51:07 +1000 Matthew Waters <matthew@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstelement.c:
|
||||||
|
element: NULL the lists of contexts in dispose()
|
||||||
|
If dispose() is called more than once, we may double unref the list of
|
||||||
|
GstContext's.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/876>
|
||||||
|
|
||||||
|
2021-08-24 14:53:30 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
|
||||||
|
|
||||||
|
* gst/gstpad.c:
|
||||||
|
pad: Keep IDLE probe hook alive during immediate callback
|
||||||
|
When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently
|
||||||
|
from the streaming thread while we're in the callback here, the hook has
|
||||||
|
already been destroyed by the time we've reacquired the object lock.
|
||||||
|
Consequently, cleanup_hook gets passed an invalid pointer.
|
||||||
|
Keep another reference to the hook alive to avoid this situation.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/874>
|
||||||
|
|
||||||
|
2021-07-15 15:08:25 +1000 Jan Schmidt <jan@centricular.com>
|
||||||
|
|
||||||
|
* gst/parse/grammar.y.in:
|
||||||
|
parse: Backport "Don't do delayed property setting..."
|
||||||
|
Backport "parse: Don't do delayed property setting for top-level
|
||||||
|
properties."
|
||||||
|
Modified version of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/832
|
||||||
|
that only warns when trying to set a non-existent property instead of
|
||||||
|
generating a hard parse error, to preserve compatibility.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/839>
|
||||||
|
|
||||||
|
2021-08-20 16:34:16 +0200 Edward Hervey <edward@centricular.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstconcat.c:
|
||||||
|
concat: Properly propagate seqnum of segment events
|
||||||
|
Was broken by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/872>
|
||||||
|
|
||||||
|
2021-08-18 10:23:38 +0200 Edward Hervey <edward@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstpad.c:
|
||||||
|
* tests/check/gst/gstpad.c:
|
||||||
|
pad: Ensure last flow return is set on sink pads in push mode
|
||||||
|
The last flow return field was never updated on sink pads in push mode. This
|
||||||
|
fixes it and makes it consistent.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/870>
|
||||||
|
|
||||||
|
2021-08-10 13:35:14 +0100 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstplugin.c:
|
||||||
|
plugin: load plugins with unknown license strings
|
||||||
|
We shouldn't fail to load plugins just because we don't
|
||||||
|
recognise the license string. It's not our job to validate
|
||||||
|
licenses, and the license list is outdated and ambiguous
|
||||||
|
anyway.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/865>
|
||||||
|
|
||||||
|
2021-07-07 20:11:13 +0900 Seungha Yang <seungha@centricular.com>
|
||||||
|
|
||||||
|
* libs/gst/base/gstbasesink.c:
|
||||||
|
basesink: Don't swap rstart/rstop when stepping
|
||||||
|
Step handling is implemented based on unmodified start/stop
|
||||||
|
segment running time, and basesink takes rate into account for
|
||||||
|
stepping. This commit is partially undoing new behavior introduced by
|
||||||
|
the commit of 39b9cc554c960fec8d41f8394c41390883cadeed when stepping.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/858>
|
||||||
|
|
||||||
|
2021-07-19 20:04:16 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* libs/gst/net/gstptpclock.c:
|
||||||
|
gstptpclock: Don't leak the GList
|
||||||
|
120 bytes in 5 blocks are definitely lost in loss record 7,615 of 9,510
|
||||||
|
at 0x484486F: malloc (vg_replace_malloc.c:380)
|
||||||
|
by 0x58A2938: g_malloc (gmem.c:106)
|
||||||
|
by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
|
||||||
|
by 0x588F059: g_list_prepend (glist.c:335)
|
||||||
|
by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
|
||||||
|
by 0x5B9CA8E: cleanup_cb (gstptpclock.c:1930)
|
||||||
|
by 0x589AD20: g_timeout_dispatch (gmain.c:4889)
|
||||||
|
by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
|
||||||
|
by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
|
||||||
|
by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
|
||||||
|
by 0x5899A92: g_main_loop_run (gmain.c:4329)
|
||||||
|
by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
|
||||||
|
by 0x58C8C31: g_thread_proxy (gthread.c:826)
|
||||||
|
576 bytes in 24 blocks are definitely lost in loss record 8,782 of 9,510
|
||||||
|
at 0x484486F: malloc (vg_replace_malloc.c:380)
|
||||||
|
by 0x58A2938: g_malloc (gmem.c:106)
|
||||||
|
by 0x58BA1F4: g_slice_alloc (gslice.c:1069)
|
||||||
|
by 0x588F059: g_list_prepend (glist.c:335)
|
||||||
|
by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756)
|
||||||
|
by 0x5B9EFA0: handle_announce_message (gstptpclock.c:934)
|
||||||
|
by 0x5B9EFA0: handle_ptp_message (gstptpclock.c:1765)
|
||||||
|
by 0x5B9EFA0: have_stdin_data_cb (gstptpclock.c:1851)
|
||||||
|
by 0x589A4CE: UnknownInlinedFun (gmain.c:3337)
|
||||||
|
by 0x589A4CE: g_main_context_dispatch (gmain.c:4055)
|
||||||
|
by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131)
|
||||||
|
by 0x5899A92: g_main_loop_run (gmain.c:4329)
|
||||||
|
by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980)
|
||||||
|
by 0x58C8C31: g_thread_proxy (gthread.c:826)
|
||||||
|
by 0x5DA4298: start_thread (pthread_create.c:481)
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/857>
|
||||||
|
|
||||||
|
2021-07-06 13:04:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstpad.c:
|
||||||
|
gstpad: Don't spam INFO when default-chaining a buffer list
|
||||||
|
This is being logged for each buffer, so it should not use INFO.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/856>
|
||||||
|
|
||||||
|
2021-07-02 01:59:18 +1000 Jan Schmidt <jan@centricular.com>
|
||||||
|
|
||||||
|
* gst/parse/grammar.y.in:
|
||||||
|
parse: Fix a critical when using the : operator.
|
||||||
|
Fix "has no handler with id" output criticals when the :
|
||||||
|
multilink operator is used. These were caused by disconnecting
|
||||||
|
a signal handler multiple times.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/850>
|
||||||
|
|
||||||
|
2021-06-24 10:00:28 +0300 Sebastian Dröge <sebastian@centricular.com>
|
||||||
|
|
||||||
|
* libs/gst/base/gstbasesrc.c:
|
||||||
|
basesrc: Print segments with GST_SEGMENT_FORMAT and not GST_PTR_FORMAT
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/844>
|
||||||
|
|
||||||
|
2021-03-16 19:02:06 -0400 Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
|
||||||
|
* libs/gst/base/gstaggregator.c:
|
||||||
|
aggregator: Release the SRC lock while querying latency
|
||||||
|
This is required because the query could be intercepted and the
|
||||||
|
application could send any other requests to the element from this
|
||||||
|
thread.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/834>
|
||||||
|
|
||||||
|
2021-05-11 21:16:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstconcat.c:
|
||||||
|
concat: adjust running time offsets on events
|
||||||
|
When concat adjusts the base of the segments it forwards
|
||||||
|
downstream, it needs to also adjust the running time offsets,
|
||||||
|
as GstPad does when an offset is set by the application on a pad.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/823>
|
||||||
|
|
||||||
|
2021-05-11 19:02:28 +0200 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstconcat.c:
|
||||||
|
concat: fix locking in SEGMENT event handler
|
||||||
|
concat->current_start_offset needs the lock taken for safe access,
|
||||||
|
as it can be accessed from outside of the streaming thread, eg
|
||||||
|
in release_pad.
|
||||||
|
An early break is also added for an error case.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/822>
|
||||||
|
|
||||||
|
2021-05-06 23:02:35 -0400 Doug Nazar <nazard@nazar.ca>
|
||||||
|
|
||||||
|
* plugins/elements/gstsparsefile.c:
|
||||||
|
sparsefile: Fix sparsefile on Win32
|
||||||
|
When switching between read/write a fseek() or fflush() is required.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/821>
|
||||||
|
|
||||||
|
2021-05-06 23:00:57 -0400 Doug Nazar <nazard@nazar.ca>
|
||||||
|
|
||||||
|
* plugins/elements/gstdownloadbuffer.c:
|
||||||
|
downloadbuffer: close file before trying to remove
|
||||||
|
On Windows, the file handles must be closed before you can delete a file.
|
||||||
|
Also, it would cause an error if you try to close an already closed handle.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/821>
|
||||||
|
|
||||||
|
2021-05-06 23:00:07 -0400 Doug Nazar <nazard@nazar.ca>
|
||||||
|
|
||||||
|
* plugins/elements/gstdownloadbuffer.c:
|
||||||
|
downloadbuffer: return flow error on read error
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/821>
|
||||||
|
|
||||||
|
2021-05-06 12:54:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstmultiqueue.c:
|
||||||
|
multiqueue: Ensure peer pad exists when iterating internal links
|
||||||
|
The pads can be NULL when we're racing with pad removal, e.g. when the
|
||||||
|
pads get removed between `gst_pad_iterate_internal_links` acquiring the
|
||||||
|
parent element and `gst_multi_queue_iterate_internal_links` locking the
|
||||||
|
multiqueue.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/811>
|
||||||
|
|
||||||
|
2021-04-16 11:14:31 +0200 Miguel Paris <mparisdiaz@gmail.com>
|
||||||
|
|
||||||
|
* gst/gstpad.c:
|
||||||
|
pad: clear probes holding mutex
|
||||||
|
Protect clearing probes against concurrent modification which might happen
|
||||||
|
due to dispose does NOT guarantee that the object is not used anymore, as
|
||||||
|
it could be referenced again and so being continued used.
|
||||||
|
So, as in the rest of places where probes hook list is used, on dispose
|
||||||
|
it should be accessed holding the mutex "GST_OBJECT_LOCK (pad);" as
|
||||||
|
GHookList is not thread-safe.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/800>
|
||||||
|
|
||||||
|
2021-04-16 11:36:33 +0200 Edward Hervey <edward@centricular.com>
|
||||||
|
|
||||||
|
* plugins/elements/gstqueue2.c:
|
||||||
|
queue2: Refuse all serialized queries when posting buffering messages
|
||||||
|
When posting buffering messages there are no safe places or timing to avoid
|
||||||
|
deadlocks.
|
||||||
|
Previously the code was trying to be "smart" by only forwarding serialized
|
||||||
|
queries if the queue was empty ... but that could happen when queue2 hadn't yet
|
||||||
|
posted a 100% buffering message. Meaning the pipeline might be paused and
|
||||||
|
pushing a serialized query downstream might never complete.
|
||||||
|
Therefore let's completely disable forwarding of serialized queries when
|
||||||
|
`queue2` is used as a buffering element (meaning `ALLOCATION` and `DRAIN`
|
||||||
|
queries).
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/797>
|
||||||
|
|
||||||
|
2021-04-13 11:52:06 +0200 Edward Hervey <edward@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstsystemclock.c:
|
||||||
|
systemclock: Update monotonic reference time when re-scheduling
|
||||||
|
There is no guarantee that the clock is currently advancing, therefore if we
|
||||||
|
re-schedule (because of timeouts) a clock wait, we need to re-acquire the
|
||||||
|
current monotonic clock value against which we will wait.
|
||||||
|
Avoids spinning the cpu like mad (due to constant timeout) when clocks are
|
||||||
|
PAUSED.
|
||||||
|
Fixes #673
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/794>
|
||||||
|
|
||||||
|
2021-04-07 04:46:23 -0400 Doug Nazar <nazard@nazar.ca>
|
||||||
|
|
||||||
|
* plugins/elements/gstclocksync.c:
|
||||||
|
clocksync: Fix providing system clock by default
|
||||||
|
clocksync defaults to sync=true so should advertise it by default.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/795>
|
||||||
|
|
||||||
|
2021-03-18 14:46:15 +1100 Matthew Waters <matthew@centricular.com>
|
||||||
|
|
||||||
|
* gst/gstatomicqueue.c:
|
||||||
|
* gst/gstbuffer.c:
|
||||||
|
* gst/gstchildproxy.c:
|
||||||
|
* gst/gstdeviceprovider.c:
|
||||||
|
* gst/gstelement.c:
|
||||||
|
* gst/gstinfo.c:
|
||||||
|
* gst/gstparamspecs.c:
|
||||||
|
* gst/gstpluginloader.c:
|
||||||
|
* gst/gstpoll.c:
|
||||||
|
* gst/gstpreset.c:
|
||||||
|
* gst/gstpromise.c:
|
||||||
|
* gst/gstprotection.c:
|
||||||
|
* gst/gsttask.c:
|
||||||
|
* gst/gsturi.c:
|
||||||
|
* gst/gstvalue.c:
|
||||||
|
* libs/gst/base/gstaggregator.c:
|
||||||
|
* libs/gst/base/gstbaseparse.c:
|
||||||
|
* libs/gst/base/gstbasesink.c:
|
||||||
|
* libs/gst/base/gstbasesrc.c:
|
||||||
|
* libs/gst/base/gstbasetransform.c:
|
||||||
|
* libs/gst/base/gstflowcombiner.c:
|
||||||
|
* libs/gst/check/gstconsistencychecker.c:
|
||||||
|
* libs/gst/check/gstharness.c:
|
||||||
|
* libs/gst/controller/gsttimedvaluecontrolsource.c:
|
||||||
|
* libs/gst/net/gstnetaddressmeta.c:
|
||||||
|
* libs/gst/net/gstnetcontrolmessagemeta.c:
|
||||||
|
* plugins/elements/gstmultiqueue.c:
|
||||||
|
* plugins/elements/gstqueue2.h:
|
||||||
|
* plugins/elements/gstvalve.h:
|
||||||
|
* tests/check/gst/gstcontroller.c:
|
||||||
|
* tests/check/gst/gstmeta.c:
|
||||||
|
* tests/check/gst/gstminiobject.c:
|
||||||
|
* tests/check/gst/gstobject.c:
|
||||||
|
* tests/check/gst/gstpreset.c:
|
||||||
|
* tests/check/gst/gstprotection.c:
|
||||||
|
* tests/check/libs/controller.c:
|
||||||
|
* tests/examples/controller/control-sources.c:
|
||||||
|
gst: don't use volatile to mean atomic
|
||||||
|
volatile is not sufficient to provide atomic guarantees and real atomics
|
||||||
|
should be used instead. GCC 11 has started warning about using volatile
|
||||||
|
with atomic operations.
|
||||||
|
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
|
||||||
|
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/793>
|
||||||
|
|
||||||
|
2021-04-06 20:56:55 +0300 Sebastian Dröge <sebastian@centricular.com>
|
||||||
|
|
||||||
|
* libs/gst/base/gstaggregator.c:
|
||||||
|
* tests/check/libs/aggregator.c:
|
||||||
|
aggregator: Release pads' peeked buffer when removing the pad or finalizing it
|
||||||
|
The peeked buffer was always reset after calling ::aggregate() but under
|
||||||
|
no other circumstances. If a pad was removed after peeking and before
|
||||||
|
::aggregate() returned then the peeked buffer would be leaked.
|
||||||
|
This can easily happen if pads are removed from the aggregator from a
|
||||||
|
pad probe downstream of the source pad but still in the source pad's
|
||||||
|
streaming thread.
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/785>
|
||||||
|
|
||||||
|
2021-03-15 19:48:45 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* meson.build:
|
||||||
|
Back to development
|
||||||
|
|
||||||
=== release 1.18.4 ===
|
=== release 1.18.4 ===
|
||||||
|
|
||||||
2021-03-15 17:47:24 +0000 Tim-Philipp Müller <tim@centricular.com>
|
2021-03-15 17:47:24 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
318
NEWS
318
NEWS
|
@ -2,13 +2,13 @@ GStreamer 1.18 Release Notes
|
||||||
|
|
||||||
GStreamer 1.18.0 was originally released on 8 September 2020.
|
GStreamer 1.18.0 was originally released on 8 September 2020.
|
||||||
|
|
||||||
The latest bug-fix release in the 1.18 series is 1.18.4 and was released
|
The latest bug-fix release in the 1.18 series is 1.18.5 and was released
|
||||||
on 15 March 2021.
|
on 8 September 2021.
|
||||||
|
|
||||||
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
Last updated: Monday 15 March 2021, 13:00 UTC (log)
|
Last updated: Wednesday 8 September 2021, 11:00 UTC (log)
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
|
@ -2102,7 +2102,10 @@ Possibly Breaking Changes
|
||||||
|
|
||||||
Known Issues
|
Known Issues
|
||||||
|
|
||||||
- None in particular
|
- GStreamer 1.18 versions <= 1.18.4 would fail to build on Linux with
|
||||||
|
Meson 0.58 due to an issue with the include directories. Either
|
||||||
|
apply the patch or build with an older Meson version (<= 0.57) until
|
||||||
|
there is a GStreamer 1.18.5 release that includes the fix.
|
||||||
|
|
||||||
Contributors
|
Contributors
|
||||||
|
|
||||||
|
@ -2879,6 +2882,307 @@ List of merge requests and issues fixed in 1.18.4
|
||||||
- List of Merge Requests applied in 1.18.4
|
- List of Merge Requests applied in 1.18.4
|
||||||
- List of Issues fixed in 1.18.4
|
- List of Issues fixed in 1.18.4
|
||||||
|
|
||||||
|
1.18.5
|
||||||
|
|
||||||
|
The fifth 1.18 bug-fix release (1.18.5) was released on 8 September
|
||||||
|
2021.
|
||||||
|
|
||||||
|
This release only contains bugfixes and security fixes and it should be
|
||||||
|
safe to update from 1.18.x.
|
||||||
|
|
||||||
|
Highlighted bugfixes in 1.18.5
|
||||||
|
|
||||||
|
- basesink: fix reverse frame stepping
|
||||||
|
- downloadbuffer/sparsefile: several fixes for win32
|
||||||
|
- systemclock: Update monotonic reference time when re-scheduling,
|
||||||
|
fixes high CPU usage with gnome-music when pausing playback
|
||||||
|
- audioaggregator: fix glitches when resyncing on discont
|
||||||
|
- compositor: Fix NV12 blend operation
|
||||||
|
- rtspconnection: Add IPv6 support for tunneled mode
|
||||||
|
- avidemux: fix playback of some H.264-in-AVI streams
|
||||||
|
- jpegdec: Fix crash when interlaced field height is not DCT block
|
||||||
|
size aligned
|
||||||
|
- qmlglsink: Keep old buffers around a bit longer if they were bound
|
||||||
|
by QML
|
||||||
|
- qml: qtitem: don’t potentially leak a large number of buffers
|
||||||
|
- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
|
||||||
|
- rtspsrc: seeking improvements
|
||||||
|
- rtpjitterbuffer: Avoid generation of invalid timestamps
|
||||||
|
- rtspsrc: Fix behaviour of select-streams, new-manager,
|
||||||
|
request-rtcp-key and before-send signals with GLib >= 2.62
|
||||||
|
- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
|
||||||
|
- openh264enc: fix broken sps/pps header generation and some minor
|
||||||
|
leaks
|
||||||
|
- mpeg2enc: fix interlace-mode detection and unbound memory usage if
|
||||||
|
encoder can’t keep up
|
||||||
|
- mfvideosrc: Fix for negative MF stride and for negotiation when
|
||||||
|
interlace-mode is specified
|
||||||
|
- tsdemux: fix seek-with-stop regression and decoding errors after
|
||||||
|
seeking with dvdlpcmdec
|
||||||
|
- rtsp-server: seek handling improvements
|
||||||
|
- gst-libav: fix build (and other issues) with ffmpeg 4.4
|
||||||
|
- cerbero: spandsp: Fix build error with Visual Studio 2019
|
||||||
|
- win32 packages: Fix hang in GLib when G_SLICE environment variable
|
||||||
|
is set
|
||||||
|
|
||||||
|
gstreamer
|
||||||
|
|
||||||
|
- aggregator: Release the SRC lock while querying latency
|
||||||
|
- aggregator: Release pads’ peeked buffer when removing the pad or
|
||||||
|
finalizing it
|
||||||
|
- basesink: Don’t swap rstart/rstop when stepping
|
||||||
|
- basesrc: Print segments with GST_SEGMENT_FORMAT and not
|
||||||
|
GST_PTR_FORMAT
|
||||||
|
- childproxy: init value in gst_child_proxy_get_property() if needed
|
||||||
|
- clocksync: Fix providing system clock by default
|
||||||
|
- concat: Properly propagate seqnum of segment events
|
||||||
|
- concat: adjust running time offsets on downstream events
|
||||||
|
- concat: fix locking in SEGMENT event handler
|
||||||
|
- downloadbuffer/sparsefile: several fixes for win32
|
||||||
|
- element: NULL the lists of contexts in dispose()
|
||||||
|
- multiqueue: Use running time of gap events for wakeups.
|
||||||
|
- multiqueue: Ensure peer pad exists when iterating internal links
|
||||||
|
- pad: Keep IDLE probe hook alive during immediate callback
|
||||||
|
- pad: Ensure last flow return is set on sink pads in push mode
|
||||||
|
- pad: Don’t spam the debug log at INFO level when default-chaining a
|
||||||
|
buffer list
|
||||||
|
- pad: clear probes holding mutex
|
||||||
|
- parse-launch: Fix a critical when using the : operator.
|
||||||
|
- parse-launch: Don’t do delayed property setting for top-level
|
||||||
|
properties.
|
||||||
|
- plugin: load plugins with unknown license strings
|
||||||
|
- ptpclock: Don’t leak the GList
|
||||||
|
- queue2: Refuse all serialized queries when posting buffering
|
||||||
|
messages
|
||||||
|
- systemclock: Update monotonic reference time when re-scheduling
|
||||||
|
- High CPU usage in 1.18 (but not master) when pausing playback in
|
||||||
|
gnome-music
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-plugins-base
|
||||||
|
|
||||||
|
- appsrc: Don’t leak buffer list while wrongly unreffing buffer on
|
||||||
|
EOS/flushing
|
||||||
|
- audioaggregator: Don’t overwrite already written samples
|
||||||
|
- audioaggregator: Resync on the next buffer when dropping a buffer on
|
||||||
|
discont resyncing
|
||||||
|
- audiobasesink: Fix of double lock release
|
||||||
|
- audioaggregator: Don’t overwrite already written samples
|
||||||
|
- audiobasesrc: Fix divide by zero assertion
|
||||||
|
- clockoverlay: Fix broken string formatting by strftime() on Windows
|
||||||
|
- compositor: Fix NV12 blend operation
|
||||||
|
- giosrc: Don’t leak scheme string in gst_gio_src_query()
|
||||||
|
- giobasesink: Handle incomplete writes in gst_gio_base_sink_render()
|
||||||
|
- gl/wayland: Use consistent wl_display when creating work queue for
|
||||||
|
proxy wrapper
|
||||||
|
- gl: Fix build when Meson >= 0.58.0rc1
|
||||||
|
- gl/wayland: provide a dummy global_remove function
|
||||||
|
- playbin2: fix base_time selection when flush seeking live (such as
|
||||||
|
with RTSP)
|
||||||
|
- rtspconnection: Add IPv6 support for tunneled mode
|
||||||
|
- rtspconnection: Consistently translate GIOError to GstRTSPResult
|
||||||
|
(for rtspsrc)
|
||||||
|
- rawbaseparse: check destination format correctly
|
||||||
|
- uridecodebin: Don’t force floating reference for future reusable
|
||||||
|
decodebin
|
||||||
|
- parsebin: Put stream flags in GstStream
|
||||||
|
- splitmuxsink: always use factory property when set
|
||||||
|
- video-converter: Set up matrix tables only once.
|
||||||
|
- videoscale: Performance degradation from 1.16.2 -> 1.18.4
|
||||||
|
- videotestsrc: Fix a leak when computing alpha caps
|
||||||
|
- audio/video-converter: Plug some minor leaks
|
||||||
|
- audio,video-format: Make generate_raw_formats idempotent for
|
||||||
|
assertions
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
- Fix build issue on MinGW64
|
||||||
|
|
||||||
|
gst-plugins-good
|
||||||
|
|
||||||
|
- avidemux: Also detect 0x000001 as H264 byte-stream start code in
|
||||||
|
codec_data
|
||||||
|
- deinterlace: Plug a method subobject leak
|
||||||
|
- deinterlace: Drop field-order field if outputting progressive
|
||||||
|
- jpegdec: Fix crash when interlaced field height is not DCT block
|
||||||
|
size aligned
|
||||||
|
- qmlglsink: Keep old buffers around a bit longer if they were bound
|
||||||
|
by QML
|
||||||
|
- qml: qtitem: don’t potentially leak a large number of buffers
|
||||||
|
- qtdemux: Force stream-start push when re-using EOS’d streams
|
||||||
|
- qtmux: for Apple ProRes, allow overriding pixel bit depth, e.g. when
|
||||||
|
exporting an opaque image, yet with alpha.
|
||||||
|
- qtmux: Make sure to write 64-bit STCO table when needed.
|
||||||
|
- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
|
||||||
|
- rtpptdemux: Remove pads also in PAUSED->READY
|
||||||
|
- rtph265depay: update codec_data in caps regardless of format
|
||||||
|
- rtspsrc: Do not overwrite the known duration after a seek
|
||||||
|
- rtspsrc: De-dup seek event seqnums to avoid multiple seeks
|
||||||
|
- rtspsrc: Fix race saving seek event seqnum
|
||||||
|
- rtspsrc: Using multicast UDP has no relation to seekability, also
|
||||||
|
add some logging
|
||||||
|
- rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
|
||||||
|
- rtpjitterbuffer: Avoid generation of invalid timestamps
|
||||||
|
- rtpjitterbuffer: Check srcresult before waiting on the condition
|
||||||
|
variable too
|
||||||
|
- rtpjitterbuffer: More logging when calculating rfc7273 timestamps
|
||||||
|
- rtspsrc: Fix more signals
|
||||||
|
- rtspsrc: Fix accumulation of before-send signal return values
|
||||||
|
- souphttpsrc: Always use the content decoder but set
|
||||||
|
`Accept-Encoding:…
|
||||||
|
- udpsrc: Plug leaks of saddr in error cases
|
||||||
|
- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
|
||||||
|
- v4l2object: Add interlace-mode back to caps for camera
|
||||||
|
- v4l2object: Use default colorimetry if that in caps is unknown
|
||||||
|
- V4l2object: Avoid colorimetry mismatch for streams with invalid
|
||||||
|
colorimetry
|
||||||
|
- v4l2object: Add support for hdr10 stream playback
|
||||||
|
- wavparse: adtl/note/labl chunk parsing fixes
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
- 1.18.4: build fails with glib 2.67.6 and gcc-11: argument 2 of
|
||||||
|
‘__atomic_load’ must not be a pointer to a ‘volatile’ type
|
||||||
|
|
||||||
|
gst-plugins-bad
|
||||||
|
|
||||||
|
- audiolatency: Use live mode audiotestsrc
|
||||||
|
- audiolatency: Handle audio buffers with invalid duration
|
||||||
|
- ccconverter: fix framerate caps negotiation from non-cdp to cdp
|
||||||
|
- dashdemux: Properly initalize GError, remove duplicate logging call
|
||||||
|
- dashdemux: Log protection events on corresponding pad
|
||||||
|
- dashdemux: fix dash_mpdparser_check_mpd_client_set_methods unit test
|
||||||
|
- h264parse,h265parse: Push parameter set NAL units again per
|
||||||
|
segment-done
|
||||||
|
- h265parse: Fix a typo in get_compatible_profile_caps()
|
||||||
|
- h265parse: don’t invalidate the last PPS when parsing a new SPS
|
||||||
|
- h264parse: improve PPS handling
|
||||||
|
- h2645parser: Catch overflows in AVC/HEVC NAL unit length
|
||||||
|
calculations
|
||||||
|
- interlace: Don’t set field-order field for progressive caps, fixes
|
||||||
|
negotiation issues
|
||||||
|
- interlace: Fix too small buffer size error
|
||||||
|
- jpegparse: Don’t generate timestamp for 0/1 framerates
|
||||||
|
- opencv: fix build error on macOS
|
||||||
|
- openexr: Fix build with OpenEXR 3
|
||||||
|
- openh264enc: fix broken sps/pps header generation and some minor
|
||||||
|
leaks
|
||||||
|
- mpeg2enc: fix interlace-mode detection on input video
|
||||||
|
- mpeg2enc: Only allow 1 pending frame for encoding (fixes unbound
|
||||||
|
memory usage in case encoder can’t keep up with input)
|
||||||
|
- mfvideoenc: Don’t pass 0/1 framerate to MFT
|
||||||
|
- mfvideosrc: Fix for negative MF stride
|
||||||
|
- mfvideosrc: Fix negotiation when interlace-mode is specified
|
||||||
|
- mxfvanc: Handle empty ANC essence
|
||||||
|
- rtmp2src: workaround a GLib race when destroying a
|
||||||
|
GMainContext/GSource
|
||||||
|
- rtpsrc: Plug leak of rtcp_send_addr and fix setting URI back to NULL
|
||||||
|
- rtpsink: Return proper pad from _request_new_pad()
|
||||||
|
- rist: Plug leak of rtcp_send_addr
|
||||||
|
- rtmp2: Use correct size of write macro for param2.
|
||||||
|
- rtmp2/connection: Separate inner from outer cancelling
|
||||||
|
- tsmux: When selecting random PIDs, name the pads according to those
|
||||||
|
PIDs
|
||||||
|
- tsmux: Recheck existing pad PIDs when requesting a new pad with a
|
||||||
|
random pid
|
||||||
|
- tsdemux: fix seek with stop regression
|
||||||
|
- tsdemux: Clear all streams when rewinding, fixes the case where the
|
||||||
|
demuxer sends out partial invalid data downstream after a seek which
|
||||||
|
causes some decoders (such as dvdlpmdec) to error out
|
||||||
|
- v4l2slh264dec: Fix slice header bit size calculation
|
||||||
|
- videoparseutils: Fix for wrong CEA708 minimum size check
|
||||||
|
- waylandsink: Fix for missing initial configure
|
||||||
|
- wpe: Make threaded view singleton creation thread safe
|
||||||
|
- x265: Fix a deadlock when failing to create the x265enc
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-plugins-ugly
|
||||||
|
|
||||||
|
- asfdemux/realmedia: Drop duplicate seek events
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-libav
|
||||||
|
|
||||||
|
- avmux: Blacklist ttml subtitles (fixes crash with ffmpeg >= 4.4)
|
||||||
|
- avmux: fix segfault when a plugin’s long_name is NULL
|
||||||
|
- avviddec: Fix size of linesize parameter
|
||||||
|
- avviddec: Take into account coded_height for pool
|
||||||
|
- avdemux: fix build with FFmpeg 4.4
|
||||||
|
|
||||||
|
gst-rtsp-server
|
||||||
|
|
||||||
|
- rtsp-media: Ensure the bus watch is removed during unprepare
|
||||||
|
- rtsp-media: Add one more case to seek avoidance
|
||||||
|
- rtsp-media: Improve skipping trickmode seek
|
||||||
|
- Fix a few memory leaks
|
||||||
|
|
||||||
|
gstreamer-vaapi
|
||||||
|
|
||||||
|
- plugins: Demote rank of vaapipostproc and vaapioverlay to match
|
||||||
|
other filters
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-editing-services
|
||||||
|
|
||||||
|
- xml-formatter: Fix allocation size of buffer
|
||||||
|
- framepositioner: Fix runtime warning
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-devtools
|
||||||
|
|
||||||
|
- scenario: Fix EOS handling in seek_forward.scenario
|
||||||
|
- validate-utils: Only modify structure fields that really need
|
||||||
|
updates
|
||||||
|
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
||||||
|
gcc 11)
|
||||||
|
|
||||||
|
gst-integration-testsuites
|
||||||
|
|
||||||
|
- validate: Update interlace_deinterlace_alternate to remove
|
||||||
|
field-order from expected caps
|
||||||
|
|
||||||
|
gst-build
|
||||||
|
|
||||||
|
- git-update: Make fetching of external repos non-fatal on the CI
|
||||||
|
- gst-env: Windows: Fix looking for cmd_or_ps.ps1 in the wrong
|
||||||
|
directory
|
||||||
|
- Pin gst-plugins-rs subproject to 0.7 branch
|
||||||
|
|
||||||
|
Cerbero build tool and packaging changes in 1.18.5
|
||||||
|
|
||||||
|
- cerbero: Add a dotted progress bar for urllib downloads
|
||||||
|
- libunwind: make sure all pkgconfig files get included in the devel
|
||||||
|
package
|
||||||
|
- openssl.recipe: Bump to 1.1.1k
|
||||||
|
- glib: Fix hang on Windows when G_SLICE env is configured
|
||||||
|
- utils: Support latest Debian release names
|
||||||
|
- enums: generate fedora version strings automatically
|
||||||
|
- Rework cmake build system
|
||||||
|
- spandsp: Fix build error with Visual Studio 2019
|
||||||
|
|
||||||
|
Contributors to 1.18.5
|
||||||
|
|
||||||
|
Alba Mendez, Andoni Morales Alastruey, Antonio Rojas, Bartłomiej
|
||||||
|
Kurzeja, Binh Truong, Daniel Knobe, Doug Nazar, Edward Hervey, He
|
||||||
|
Junyan, Hou Qi, Jan Alexander Steffens (heftig), Jan Schmidt, Marijn
|
||||||
|
Suijten, Mathieu Duponchelle, Matthew Waters, Michael Olbrich, Miguel
|
||||||
|
Paris, Nicholas Jackson, Nicolas Dufresne, Nirbheek Chauhan, Olivier
|
||||||
|
Crête, Per Förlin, Philippe Normand, Robin Burchell, Ruslan Khamidullin,
|
||||||
|
Scott Moreau, Sebastian Dröge, Sergei Kovalev, Seungha Yang, Stéphane
|
||||||
|
Cerveau, Steve McDaniel, Thibault Saunier, Tim-Philipp Müller, Víctor
|
||||||
|
Manuel Jáquez Leal, Xavier Claessens, Youngsoo Lee,
|
||||||
|
|
||||||
|
… 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.18.5
|
||||||
|
|
||||||
|
- List of Merge Requests applied in 1.18.5
|
||||||
|
- List of Issues fixed in 1.18.5
|
||||||
|
|
||||||
Schedule for 1.20
|
Schedule for 1.20
|
||||||
|
|
||||||
Our next major feature release will be 1.20, and 1.19 will be the
|
Our next major feature release will be 1.20, and 1.19 will be the
|
||||||
|
@ -2886,9 +3190,9 @@ unstable development version leading up to the stable 1.20 release. The
|
||||||
development of 1.19/1.20 will happen in the git master branch.
|
development of 1.19/1.20 will happen in the git master branch.
|
||||||
|
|
||||||
The plan for the 1.20 development cycle is yet to be confirmed, but it
|
The plan for the 1.20 development cycle is yet to be confirmed, but it
|
||||||
is now expected that feature freeze will take place some time in April
|
is now expected that feature freeze will take place some time in
|
||||||
2021, with the first 1.20 stable release hopefully around April/May
|
September/October 2021, with the first 1.20 stable release hopefully
|
||||||
2021.
|
towards the end of October 2021.
|
||||||
|
|
||||||
1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
|
1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
|
||||||
1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|
||||||
|
|
2
RELEASE
2
RELEASE
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer core 1.18.4.
|
This is GStreamer core 1.18.5.
|
||||||
|
|
||||||
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.18.5</revision>
|
||||||
|
<branch>1.18</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2021-09-08</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.5.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.18.4</revision>
|
<revision>1.18.4</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gstreamer', 'c',
|
project('gstreamer', 'c',
|
||||||
version : '1.18.4.1',
|
version : '1.18.5',
|
||||||
meson_version : '>= 0.48',
|
meson_version : '>= 0.48',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
Loading…
Reference in a new issue