Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-base.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog311
1 files changed, 311 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ccd2c6c8a..cba713573 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,314 @@
+=== release 1.18.2 ===
+
+2020-12-06 13:22:08 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.18.2
+
+2020-11-06 14:05:39 +0800 He Junyan <junyan.he@intel.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: Avoid assert in query.
+ The sink_query just uses context, other_context and display to query info.
+ But all these objects can be changed or distroyed in state_change() func
+ and other places.
+ This patch is not very perfect. The condition race still exists in other
+ places in this element. All the functions directly access these objects
+ without protection. Most of them are executed when the data is pushing and
+ draw context/window have already been established, so they should not have
+ problems. But the sink_query and propose_allocation functions are the query
+ -like functions and executed in query context, which can be called in any
+ state of the element. So it can cause some crash issues because of destroyed
+ context object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>
+
+2020-11-06 16:18:14 +0800 He Junyan <junyan.he@intel.com>
+
+ * ext/gl/gstglcolorconvertelement.c:
+ glcolorconver: Return empty caps in transform_caps if fails.
+ We should not return a NULL in transform_caps() function. The NULL
+ will generate a assert of:
+ "transform_caps returned caps which are not a real subset of the
+ filter caps"
+ in transform base class.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>
+
+2020-11-06 15:36:01 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.c:
+ glbasefilter: Need to check the display before lock it.
+ In find_gl_context_unlocked(), the display of filter may be NULL
+ and can cause crash if we directly access and lock it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>
+
+2020-11-06 15:36:21 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.c:
+ glbasefilter: Delete the un-paired unlock in change_state().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>
+
+2020-12-03 06:50:07 -0500 Arun Raghavan <arun@asymptotic.io>
+
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ audioencoder: Fix incorrect GST_LOG_OBJECT usage
+ GstBuffer is not a GstObject, so this causes a warning to be emitted.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/961>
+
+2020-11-26 14:52:26 +0200 Mart Raudsepp <mart@leio.tech>
+
+ * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+ gl/eagl: Fix automatic resize behaviour
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681
+ added a layoutSubViews, which never gets called, because it should have been
+ called layoutSubviews (non-capital "v"). However after fixing that, it still
+ doesn't work correctly, because window_width/height values are immediately
+ updated and then draw_cb will never trigger the resize path, because the
+ values are already up to date.
+ Update the values inside the resize path again instead, so the check for
+ entering the resize path is logically always correct.
+ This makes the layoutSubviews unnecessary, as it only updated the internal
+ size values prematurely, so it is deleted instead of method naming fixed.
+ These changes were originally done to avoid accessing UIKit objects on the
+ main thread, but no additional accesses are added here, only internal
+ private variable assignments under the same draw_lock, so there should be
+ no threading issues reintroduced.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/960>
+
+2020-11-26 14:45:05 +0200 Mart Raudsepp <mart@leio.tech>
+
+ * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+ gl/eagl: Fix resize condition check in draw_cb to not get called unnecessarily
+ A CGSize contains CGFloat values (a typedef to double or float), which means
+ that the values aren't equal, despite it being equal after they are cast to
+ int by assigning them to window_height/width private members. This leads to
+ excessive gst_gl_window_resize calls on each frame, at least if the CGFloat
+ value has a .5 decimal value, e.g. 103.5.
+ Fix it by storing them as CGFloat instead of gint.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/960>
+
+2020-11-20 16:51:09 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video/converter: increase the number of cache lines for resampling
+ The exising hardcoded max default does not account for the possible
+ -1 offset when retrieving lines for resampling. As a result, when
+ another chain has the same number of cache lines (4), the resample
+ operation would be attempting to generate 5 lines with a cache size
+ of 4 and would overwrite the first cache line.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/821
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/959>
+
+2020-11-04 17:02:13 +0800 He Junyan <junyan.he@intel.com>
+
+ * ext/gl/gstgluploadelement.c:
+ gluploadelement: Avoid race condition of base class' context.
+ The base class' context may change, we should use the common API
+ with lock to access it, rather than the just directly access the
+ struct field.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/921>
+
+2020-11-04 23:05:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * ext/gl/gstgluploadelement.c:
+ gluploadelement: Avoid race condition in propose_allocation().
+ The inside upload and context may have race condition in the function
+ of propose_allocation(). They may be destroyed while this function is
+ stilling using it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/921>
+
+2020-12-01 13:13:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: Don't crash in prepare_frame() if the pad was just removed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/955>
+
+2020-12-01 09:31:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/gstvideometa.c:
+ videometa: gir annotate the size of plane array in new API
+ Fix #838
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/954>
+
+2020-11-27 11:41:36 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ audiodecoder: Move max_errors out of GstAudioDecoderContext
+ Currently max-errors gets set during init to default or via property.
+ However, if a decoder element calls gst_audio_decoder_reset with 'full'
+ argument set to TRUE, it would result in all the fields of context being
+ zeroed with memset. This effectively results in max-errors getting a
+ value of 0 overriding the default or user requested value set during
+ init.
+ This would result in calls to GST_AUDIO_DECODER_ERROR which track error
+ counts and allow max-errors, to be ineffective.
+ To fix this move max-errors out of GstAudioDecoderContext, as changes to
+ context should not affect this. The error_count is anyways also in
+ GstAudioDecoderPrivate and not in context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/953>
+
+2020-11-19 14:35:32 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ decodebin3: Don't leak filter caps
+ Introduced by previous commit
+ See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/933
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/935>
+
+2020-11-14 09:43:59 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ decodebin3: Properly handle caps query with no filter
+ There's no guarantee that upstream elements will do queries with specified
+ filter caps. If that's the case, just return GST_CAPS_ANY
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/935>
+
+2020-11-10 23:26:39 +0100 David Keijser <keijser@gmail.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ Fix segfault when using invalid encoding profile
+ Trying to use gst_encoding_profile_get_file_extension on a
+ GstEncodingProfile with a cap containing a typo would result in strcmp
+ being called with NULL. Instead use g_strcmp0 that handles this case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/930>
+
+2020-10-30 13:56:16 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * gst/compositor/compositor.c:
+ * tests/check/elements/compositor.c:
+ * tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest:
+ * tests/validate/meson.build:
+ videoaggregator: Guarantee that the output format is supported
+ In the case `videoaggregator` is set as allowing format conversions,
+ and as we convert only on the sinkpads, we should ensure that the
+ chosen format is usable by the subclass. This in turns implies
+ that the format is usable on the srcpad.
+ When doing conversion *any* format can be used on the sinkpads, and this
+ is the only way that we can avoid race conditions during renegotiations
+ so we can not change that fact, we just need to ensure that the chosen
+ intermediary format is usable, which was not actually ensured before
+ that patch.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/834
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/928>
+
+2020-10-29 16:38:44 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ video-aggregator: Fix renegotiation when using convert pads
+ Since 23189c60f4cff998c7880e1768cee2f6d1b719d0 we started using the
+ useless result of `modified_caps` which, was never used since it was
+ introduced 7 years ago (in videomixer2). The intersection is useless and
+ we should just avoid doing it at all (which was always the case before)
+ as it can end up failing renegotiation for bad reasons.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/907>
+
+2020-11-09 18:00:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Use local var instead of reloading vagg->info
+ `gst_video_aggregator_default_negotiated_src_caps` races with
+ `gst_video_aggregator_reset` called by
+ `gst_video_aggregator_release_pad` of the last sinkpad. It can happen
+ that `latency = gst_util_uint64_scale (...` gets called with a zero
+ framerate.
+ There doesn't seem to be any reason not to use the local `info` instead
+ of `vagg->info`, so do that.
+ Cherry-picked changes from b3fe2d3623722ebf9dfe5c3dc198764ce17cba38.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/926>
+
+2020-11-09 17:58:09 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Take object lock for writing vagg->info
+ Take `GST_OBJECT_LOCK` when writing `vagg->info`, so that reading in
+ subclasses is protected against races, as documented in the struct.
+ /*< public >*/
+ /* read-only, with OBJECT_LOCK */
+ GstVideoInfo info;
+ Cherry-picked changes from b3fe2d3623722ebf9dfe5c3dc198764ce17cba38.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/926>
+
+2020-10-26 08:59:34 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/video/gstvideodecoder.h:
+ video: fix doc warning
+ @mode has been renamed to
+ gst_video_decoder_set_interlaced_output_state() but not in the header
+ file, raising a doc warning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/925>
+
+2020-11-03 20:19:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * ext/gl/gstgluploadelement.c:
+ gluploadelement: Avoid race condition of inside upload creation.
+ The operations for the inside GstGLUploadElement->upload have race
+ condition. The _transform_caps() will creates this object if it does
+ not exist, while the _stop() and change_state() can destroy this object.
+ The _transform_caps() is called by the gst_base_transform_query(),
+ so it does not hold the stream lock. It may use the upload while the
+ _stop() and change_state() has already destroy that object, and then
+ crash.
+ Fix: #645
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/920>
+
+2020-11-03 16:40:38 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/glprototypes/sync.h:
+ gl: Fix prototype of glGetSynciv()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/917>
+
+2020-10-30 13:52:29 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/tcp/gsttcpserversink.c:
+ tcpserversink: Don't assume g_socket_get_remote_address succeeds
+ When the client disconnects immediately after connecting, the remote
+ address is no longer available.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/912>
+
+2020-10-20 12:44:21 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ audio/videodecoder: Initialize max_errors in instance_init()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/903>
+
+2020-10-09 17:15:37 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * tests/examples/gl/gtk/meson.build:
+ examples/gl/gtk: Add missing dependency on gstgl
+ Occasionally, a clean build would fail like this:
+ In file included from ../subprojects/gst-plugins-base/tests/examples/gl/gtk/gstgtk.c:24:
+ ../subprojects/gst-plugins-base/gst-libs/gst/gl/gl.h:25:10: fatal error: gst/gl/gl-enumtypes.h: No such file or directory
+ 25 | #include <gst/gl/gl-enumtypes.h>
+ | ^~~~~~~~~~~~~~~~~~~~~~~
+ Add the missing dependency so that the headers are generated beforehand.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/906>
+
+2020-10-28 01:19:37 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: document and fix locking in convert pad
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/904>
+
+2020-10-20 11:51:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ audio/videodecoder: Don't reset max-errors in reset()
+ Otherwise setting the property on the elements has no effect at all
+ because it's immediately reset during startup.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/902>
+
+2020-10-27 12:34:07 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+
=== release 1.18.1 ===
2020-10-26 11:10:30 +0000 Tim-Philipp Müller <tim@centricular.com>