summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2021-09-23 01:33:08 +0100
committerTim-Philipp Müller <tim@centricular.com>2021-09-23 01:33:09 +0100
commitce937bcb21412d7b3539a2da0509cc96260562f8 (patch)
tree3493bbf3c4477d02d9b430994879e22c67cbf832
parentcc50672d29e8fd97c4aa0ef059a4c402c6ffbda0 (diff)
downloadgstreamer-plugins-base-discontinued-for-monorepo.tar.gz
-rw-r--r--ChangeLog1084
-rw-r--r--NEWS25
-rw-r--r--RELEASE2
-rw-r--r--gst-plugins-base.doap10
-rw-r--r--meson.build2
5 files changed, 1110 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index b60096242..889ea4b67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1087 @@
+=== release 1.19.2 ===
+
+2021-09-23 01:33:08 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.19.2
+
+2021-09-21 22:39:46 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.h:
+ pbutils: codec-utils: fix g-ir-scanner warning
+ Warning: GstPbutils: gst_codec_utils_h264_get_profile_flags_level:
+ unknown parameter 'codec_data' in documentation comment, should be 'codecs_data
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1279>
+
+2021-08-24 15:27:32 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/alsa/gstalsasink.c:
+ alsasink: Allow stop() function to happen during failing writes
+ In ALSA, there is possible temporary failures that may require a retry,
+ though in certain situation, this may leak to the write() function
+ holding on a lock forever preventing the pipeline from going to pause
+ or stop. Fix this by shortly dropping the lock between retries.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261>
+
+2021-08-24 15:26:12 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/alsa/gstalsasink.c:
+ alsasink: Improve logging in write() function
+ This moves the "written X frames" lower so that we don't trace
+ confusing negative values on errors and add the error code in the
+ "Write error" log.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261>
+
+2021-09-10 15:10:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideodecoder.h:
+ * gst-libs/gst/video/meson.build:
+ videodecoder: Add properties to automatically request sync points and vfunc to allow subclasses to handle packet loss / missing data
+ Subclasses could use the new vfunc to activate packet loss concealment,
+ for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274>
+
+2021-09-10 16:12:51 +0200 Havard Graff <havard@pexip.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Fix min-force-key-unit-interval logic and logging
+ The new keyframe is needed when the deadline of the buffer has exeeded
+ the waiting time, not while it is within it.
+ Also, since we look at the deadline of the frame, log that instead of PTS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1278>
+
+2021-08-18 19:40:55 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ * tests/check/libs/rtpdummyhdrextimpl.c:
+ * tests/check/libs/rtphdrext.c:
+ rtphdrext: Make write function return a signed value
+ Since the return value is documented to possibly be smaller than 0,
+ then it needs to be signed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1258>
+
+2021-06-16 15:07:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/videorate.c:
+ videorate: Add unit test for closing a segment and opening a separate one
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2021-06-16 15:06:57 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: Drop incoming buffers that are outside of the segment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 17:41:57 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/videorate/gstvideorate.c:
+ * tests/check/elements/videorate.c:
+ videorate: Only "close" the segment if it is discontinous
+ Otherwise, it will drop valid buffers on a simple segment update
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 17:38:58 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/videorate.c:
+ videorate: Add test for segment update
+ Continue as-is on segment update.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2020-07-24 16:35:04 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: Update the base time on segment updates
+ Dropping it to 0 makes videorate push buffers from timestamp 0 again.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
+
+2021-09-12 10:07:49 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Prevent stream tags from leaking in global tags
+ The PrivateStream should keep track of stream tags only. Likewise, the
+ GstDiscovererInfo should keep track of global tags only.
+ This patch fixes the issue where the discoverer would report duplicated tag
+ titles, especially for Matroska media files. The Matroska demuxer emits
+ correctly-scoped tags, but downstream was making no distinction of them.
+ Fixes #598, #836, https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1275>
+
+2021-09-09 15:44:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/glprototypes/buffer_storage.h:
+ gl/buffer_storage: re-enable GL_ARB_buffer_storage
+ The extension version doesn't have the ARB suffix.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1273>
+
+2021-09-07 13:55:08 +0200 Tobias Ronge <tobiasr@axis.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtspconnection: Only reset timeout when socket is unused
+ After sending or retrieving data, gstrtspconnection resets the socket's
+ timeout to 0 (infinite). This could cause problems if sending and
+ receiving at the same time. For example, if RTCP data is sent from the
+ streaming thread while gstrtspsrc is already retrieving data.
+ With this patch, timeout is only reset to 0 if there is no other
+ thread using the socket.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1260>
+
+2021-09-02 11:55:09 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add mjpg to MIME codecs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1270>
+
+2021-08-01 18:20:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ decodebin3: fix unblocking on input gap events
+ Initial gap events should not be discarded on the input streams,
+ but instead cause unblocking just as buffers do.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239>
+
+2021-06-24 16:00:03 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Guess subtitle/ caps as text streams
+ The subtitles in ogg/kate are identified using subtitle/ caps names.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1213>
+
+2021-08-31 15:31:23 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtcpbuffer.h:
+ * tests/check/libs/rtp.c:
+ rtp: add some additional rtcp sdes values
+ Matches the current list at
+ https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-5
+ as of 2021-September.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1267>
+
+2021-08-25 17:03:49 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/codec-utils.h:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add function to convert caps to MIME codec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265>
+
+2021-08-25 17:01:19 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/codec-utils.h:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add function for parsing H.264 extradata
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265>
+
+2021-08-24 18:14:22 +0200 Olivier Blin <olivier.blin@softathome.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: fix redefinition of EGLuint64KHR
+ It is already defined in gst/gl/egl/gstegl.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1262>
+
+2021-08-05 19:59:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-orc-dist.c:
+ * gst-libs/gst/video/video-orc-dist.h:
+ * gst-libs/gst/video/video-orc.orc:
+ video-converter: Add support for A420 to RGB fast path
+ Add fast path for A420 -> RGB format conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1245>
+
+2021-07-19 22:11:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ compositor: Fix crash while drawing background and/or blending for subsampled YUV
+ Fix crash caused by out-of-bounds memory accesses when drawing
+ background and/or blending. This fix is conceptually identical to the
+ approach as the commit of 8ff5079e5eef37b9bd5b212350f0cefbd9546b1b
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1229>
+
+2021-08-15 01:27:39 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: ignore more encoding private fields
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-09 21:24:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/encoding/gstencodebasebin.c:
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: Respect user `stream-format` when specified
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-10 02:09:09 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstencodebasebin.c:
+ * gst/encoding/gstsmartencoder.c:
+ * gst/encoding/gstsmartencoder.h:
+ smartencoder: clean up and extend accepted formats
+ * Add support for H265
+ * Don't overwrite original codec_data / streamheader in the output
+ caps, but instead allow them to change and send them to the
+ combiner at the right moment: encoder caps, reencoded GOP,
+ original caps, original GOP(s), and potentially encoder caps
+ and rencoded last GOP.
+ * For H264 / H265, force usage of a format with inband SPS / PPS
+ (avc3 / hev1), this is cleaner than misadvertising avc1, hvc1 and
+ some muxers like mp4mux will actually advertise both differently.
+ Unfortunately, while mp4 supports updating the codec_data and using
+ avc1 with no in-band SPS / PPS updates, it turns out some decoders
+ (eg chrome / firefox) don't handle this particularly well and stop
+ decoding after the reencoded GOP. We could expose a switch to
+ force usage of avc1 / hvc1 nevertheless, but for now stick to
+ requiring that the parser output SPS / PPS in-band with
+ config-interval=-1 (that has not changed)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249>
+
+2021-08-04 00:51:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Add "max-threads" property
+ Adding new property for user to be able to set expected the maximum
+ number of blend task threads. This can be useful in case that user
+ wants to restrict the number of parallel task runners for system
+ resource management or debugging/development purpose.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1242>
+
+2021-07-01 12:41:11 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/descriptions.h:
+ pbutils: Expose functions for getting a file extension for caps and flags for describing the format of the caps
+ This information was available internally already but not available from
+ the outside.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1221>
+
+2021-08-04 10:06:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gsturidecodebin.c:
+ playbin/uridecodebin: Emit source-setup signal early before doing the scheduling query
+ Some elements will require the source to be set up properly before the
+ scheduling query returns useful results, e.g. appsrc and giostreamsrc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1241>
+
+2021-06-10 00:55:23 -0700 Devarsh Thakkar <devarsh.thakkar@xilinx.com>
+
+ * ext/alsa/gstalsasink.c:
+ * ext/alsa/gstalsasrc.c:
+ ext: alsa: Fix fallback paths for setting buffer and period times
+ Below fallback paths were introduced in
+ https://github.com/GStreamer/gst-plugins-base/commit/9759810d8206b5f1aa199f98599caec3630a1813
+ if setting period time after buffer time failed :
+ 1) Set period time and then buffer time if it doesn't work
+ 2) Set only buffer time
+ 3) Set only period time
+ These all were not functioning properly since they were using old
+ copy of snd_pcm_hw_params_t which already had some fields set
+ as per previous try and this was causing issues as driver was
+ referring to that old value while trying to set them again in
+ fallback paths.
+ So now we always use the initial copy of snd_pcm_hw_params_t
+ for every fallback and same is also being done at
+ https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/557c4295107dc7374c850b0bd5331dd35e8fdd0f
+ Also we change the sequence to set period time earlier than
+ buffer time since period bytes being the smaller unit, most of the times
+ if underlying alsa device has a dependency then it is of period bytes
+ to be a multiple of some value (as per underlying DMA constraint)
+ and rest of the parameters like buffer bytes need to be adjusted
+ as per period bytes.
+ The same sequence is also followed in alsa-utils at
+ https://github.com/alsa-project/alsa-utils/commit/9b621eeac4d55c4e881f093be5b163ca07d01b63
+ Fix 2) and 3) scenarios by returning success if the exclusive setting is passed
+ and not doing any further setting for buffer time or period time.
+ Add new fallback path of not setting any buffer time and period time
+ if all above fallback paths fail. The same is also being
+ followed at aforementioned pulseaudio commit.
+ In case of alsasink, remove the retry goto label, since it is not
+ required anymore as fallback paths take care of setting default
+ values if driver is not accepting any of the fallback paths.
+ Use separate label for exit to free params structs and return err
+ code. This also fixes leak in no_rate goto path in alsasink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1212>
+
+2021-05-25 21:16:48 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * gst-libs/gst/video/gstvideoencoder.c:
+ * tests/check/libs/videoencoder.c:
+ videoencoder: pass upstream HDR information through codec state
+ Don't copy HDR metadata from sink pad, because its caps may not have
+ been set yet if GstVideoEncoder::negotiate is called from
+ GstVideoEncoder::set_format, as e.g. vpx encoder does.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1175>
+
+2021-05-25 21:15:53 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * gst-libs/gst/video/gstvideoutils.c:
+ * gst-libs/gst/video/gstvideoutils.h:
+ videoutils: add HDR metadata fields to GstVideoCodecState
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1175>
+
+2021-08-16 10:19:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-overlay-composition.c:
+ video-overlay-composition: Allow empty overlay compositions
+ Allowing to pass NULL to the constructor removes the need to
+ special-case the first rectangle in calling code and generally
+ simplifies application code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1256>
+
+2021-06-01 15:27:31 +0200 Per Förlin <perfn@axis.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/rtsp/gstrtspconnection.h:
+ gstrtspconnection: Add support to ignore x-server header reply
+ When connecting to an RTSP server in tunnled mode (HTTP) the server
+ usually replies with a x-server header. This contains the address
+ of the intended streaming server. However some servers return an
+ "invalid" address. Here follows two examples when it might happen.
+ 1. A server use Apache combined with a separate RTSP process to handle
+ Https request on port 443. In this case Apache handle TLS and
+ connects to the local RTSP server, which results in a local
+ address 127.0.0.1 or ::1 in the x-server reply. This address is
+ returned to the actual RTSP client in the x-server header.
+ The client will receive this address and try to connect to it
+ and fail.
+ 2. The client use a ipv6 link local address with a specified scope id
+ fe80::aaaa:bbbb:cccc:dddd%eth0 and connects via Http on port 80.
+ The RTSP server receives the connection and returns the address
+ in the x-server header. The client will receive this address and
+ try to connect to it "as is" without the scope id and fail.
+ In the case of streaming data from RTSP servers like 1. and 2. it's
+ useful to have the option to simply ignore the x-server header reply
+ and continue using the original address.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1192>
+
+2021-08-13 19:35:23 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/sdp/gstmikey.c:
+ sdp: Avoid using g_memdup() since it is deprecated
+ g_memdup() is deprecated since GLib 2.68 and we want to avoid
+ deprecation warnings with recent versions of GLib. Instead of using
+ g_memdup2(), we can simply use the new gst_buffer_new_memdup() added
+ in 1.19.x
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1254>
+
+2021-06-04 18:32:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/glprototypes/all_functions.h:
+ * gst-libs/gst/gl/glprototypes/buffer_storage.h:
+ * gst-libs/gst/gl/gstglbuffer.c:
+ * gst-libs/gst/gl/gstglfuncs.h:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ * gst-libs/gst/gl/meson.build:
+ glbuffer: support persistent buffer mappings
+ Requires OpenGL 4.4 or EXT_buffer_storage
+ Current mesa exposes GL_ARB_buffer_storage when retrieving the relevant
+ functions returns no-ops and causes failures.
+ Improves throughput of uploads by roughly 30%-60% and download throughput by
+ roughly 10-30% across depending on the exact scenario and hardware.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1191>
+
+2021-07-30 23:57:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/overlay/win32-videooverlay.c:
+ examples: win32-videooverlay: Add support for testing gst_video_overlay_set_render_rectangle
+ Add keyboard handler to test gst_video_overlay_set_render_rectangle()
+ API for Windows video elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1235>
+
+2021-07-30 23:04:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/overlay/win32-videooverlay.c:
+ examples: win32-videooverlay: Use d3d11videosink by default
+ d3d11videosink was promoted to have primary rank and
+ it's recommended videosink element on Windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1235>
+
+2021-07-08 17:47:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/elements/appsink.c:
+ tests: appsink: Add reverse stepping test case
+ To demonstrate reverse stepping issue of
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/848
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1223>
+
+2021-06-03 19:15:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/overlay/win32-videooverlay.c:
+ examples: win32-videooverlay: Add test option for threading scenario
+ Add an option to test the case where window thread and pipeline handling
+ thread are different. Mainly to test the HWND leak fixed by
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2302
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1188>
+
+2021-07-27 17:44:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+ rtpbasedepayload: remove object locking an extension
+ Doing that is fraught with danger of deadlocks and is not conceptually
+ part of the API contract. The object lock is generally intended for
+ internal-object-use only.
+ If another lock is needed, that should be added separately.
+ This lock was erronously added as part of:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1118
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1233>
+
+2021-07-27 13:30:56 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgldownloadelement.c:
+ gldownload: use the GstGLSyncMeta in all cases
+ fixes qmlglsrc ! gldownload ! videoconvert in some cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1232>
+
+2021-07-22 17:11:26 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+ glcontext: egl: Stop comparing native surface pointer
+ This was noticed with wayland, sometimes the newly create native
+ handle can have the same pointer (even though its new). This lead
+ to unwanted errors or crash.
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-07-22 17:02:51 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/gstglwindow.c:
+ glwindow: Add "window-handle-changed" signal
+ This allow other objects to clear any wrapper object that depends
+ on the previous handle, and properly re-create the new wrappers without
+ having to resort into doing pointer comparison.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-07-23 13:39:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+ Revert "glwindow: wayland: Skip redoing surfaces if window haven't changed"
+ This reverts commit aba6bd7822f4c0f572765bfaada76f454a594317.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1231>
+
+2021-02-22 13:17:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ * tests/check/elements/appsrc.c:
+ appsrc: serialize custom events with buffers flow
+ Application may want to inject events to the pipeline and keep them
+ synchronized with the buffers flow.
+ Fix #247
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-02-19 13:32:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/app/gstappsink.c:
+ * gst-libs/gst/app/gstappsink.h:
+ * tests/check/elements/appsink.c:
+ appsink: add API to catch events
+ There is currently no way for users to receive incoming events from
+ appsink while keeping them properly serialized with the buffers flow.
+ This can be especially useful when application is injecting custom
+ downstream events into the pipeline and needs to know when they reached
+ appsink.
+ Solving this by adding a new signal notifying about new incoming events
+ and a set of action signals and method to pull those events.
+ The API is actually pulling the samples and events all together as they
+ are actually fetched from the same queue.
+ Having a specific API to pull only events would have the side effect of
+ discarding samples (and pulling samples would discard events) making
+ this API not convenient for users.
+ Partially fix #247
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-02-19 14:45:08 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ appsink: factor out dequeue_object()
+ No semantic change, will be used to implement new event API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1046>
+
+2021-07-20 09:37:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+ glwindow: wayland: Skip redoing surfaces if window haven't changed
+ The problem is that EGLNativeWindowSurface and wl_egl_surface are the
+ same object underneath, so we must recreate both together. As an
+ optimization, the EGLNativeWindowSurface wrapper is only re-created
+ if the window_handle changed.
+ On Mesa, this would cause crash, which will be fixed by:
+ https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11979
+ And will lead to proper errors in the future or on other GL stack. This
+ issue was encounter using a permanent GstGLDisplay after cycling one of
+ multiple independent pipelines through NULL state.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1230>
+
+2021-07-20 09:36:22 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+ glwindow: wayland: Remove redundant create_surfaces call
+ The surfaces will be created in _roundtrip_async, so no need to call
+ this early. This should cause no functional difference.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1230>
+
+2021-06-11 09:02:29 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: improve decoder selection
+ Currently the decoder selection is very naive: The type with the highest
+ rank that matches the current caps is used. This works well for software
+ decoders. The exact supported caps are always known and the static caps are
+ defined accordingly.
+ With hardware decoders, e.g. vaapi, the situation is different. The decoder
+ may reject the caps later during a caps query. At that point, a new decoder
+ is created. However, the same type is chosen an after several tries,
+ decodebin fails.
+ To avoid this, do the caps query while adding the decoder and try again
+ with other decoder types if the query fails:
+ 1. create the decoder from the next matching type
+ 2. add and link the decoder
+ 3. change the decoder state to READY
+ 4. do the caps query
+ if it fails then remove the decoder again and go back to 1.
+ 5. expose the source pad
+ 6. sync the decoder state with the parent.
+ This way, the decoder is already part of the pipeline when the state change
+ to READY happens. So context handling should work as before.
+ Exposing the source pad after the query was successful is important:
+ Otherwise the thread from the decoder source pad may block in a blocked pad
+ downstream in the playsink waiting for other pads to be ready.
+ The thread now blocks trying to set the state back to NULL while holding
+ the SELECTION_LOCK. Other streams may block on the SELECTION_LOCK and the
+ playsink never unblocks the pad. The result is a deadlock.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1201>
+
+2021-07-14 16:09:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+ gl: x11: Issue XSync to close our top level window
+ This is similar action as when the window handle is modified, we now issue
+ XSync whenever we destroy our internal window. This ensure that the window is
+ properly closed before the connecgtion is dropped.
+ Fixes #815
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1226>
+
+2021-07-14 11:43:10 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+ gl: wayland: Fix hinding the window on close()
+ When the window is called, we properly destroy all surfaces, which effectively
+ will unmap that surface and should make it disapear on screen, but we also
+ destroy the wl_source, a GSource that is resposibble of dispatching and executing
+ messages to/from the Wayland server.
+ As a side effect, the server never gets the message and the surfaces are
+ "leaked" on the server. We fix this using wl_display_flush() before destroying
+ the wl_source.
+ Fixes #815
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1226>
+
+2021-07-15 11:09:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/examples/gl/sdl/meson.build:
+ tests: example: Add missing glx_dep when building sdlshare
+ Might be realted to some recent Mesa cleanup, but GLX is not longer visible
+ through libOpenGL, so add the missing deps now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1227>
+
+2021-05-17 12:04:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/examples/gl/qt/qglwtextureshare/meson.build:
+ examples/qt/textureshare: add explicit dep on glx_dep
+ Fixes linking:
+ /usr/bin/ld: subprojects/gst-plugins-base/tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.p/qglrenderer.cpp.o: undefined reference to symbol 'glXGetCurrentContext'
+ /usr/bin/ld: /usr/lib64/libGLX.so.0: error adding symbols: DSO missing from command line
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1143>
+
+2021-05-14 14:10:55 +0200 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
+
+ * gst-libs/gst/gl/meson.build:
+ gl: Try GLVND 'opengl' and 'glx' first
+ This fixes targetting desktop OpenGL without libGL.so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1143>
+
+2021-07-12 09:37:24 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Only post QoS messages if the property is enabled
+ Previously one of the branches did not check for the property value. To
+ avoid this in the future, check inside the QoS calculation function
+ instead.
+ As a side effect this now always prints the debug messages into the logs
+ when samples are dropped, which is useful information even without the
+ QoS messages.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1224>
+
+2021-07-09 09:49:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ * tests/check/elements/audiomixer.c:
+ audioaggregator: Resync on the next buffer when dropping a buffer on discont resyncing
+ If a buffer is dropped during resyncing on a discont because either its
+ end offset is already before the current output offset of the
+ aggregator or because it fully overlaps with the part of the current
+ output buffer that was already filled, then don't just assume that the
+ next buffer is going to start at exactly the expected offset. It might
+ still require some more dropping of samples.
+ This caused the input to be mixed with an offset to its actual position
+ in the output stream, causing additional latency and wrong
+ synchronization between the different input streams.
+ Instead consider each buffer after a discont as a discont until the
+ aggregator actually resynced and starts mixing samples from the input
+ again.
+ Also update the start output offset of a new input buffer if samples
+ have to be dropped at the beginning. Otherwise it might be mixed too
+ early into the output and overwrite part of the output buffer that
+ already took samples from this input into account.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/912
+ which is a regression introduced by https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1180/
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1224>
+
+2021-05-26 18:20:02 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/audiomixer.c:
+ audiomixer: Add test for QoS message posting
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-26 10:38:18 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audio aggregator: Post QoS message when dropping audio
+ Post a QoS message every time some audio samples are dropped.
+ Also print log messages to make it easier to debug
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-25 18:05:05 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audio aggregator: Count samples that are dropped or processed
+ Keep a count of samples that are dropped or processed as statistics
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-21 16:16:50 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audio aggregator: Add QoS property to pad
+ Add a property to emit a QoS message whenever any data is dropped.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2021-05-21 16:10:06 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audio aggregator: Rename property enum to match class name
+ Add "CONVERT" into the property enum as we're going to add an
+ enum specifically for the base pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1209>
+
+2019-09-24 17:14:10 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideodecoder.h:
+ * gst-libs/gst/video/gstvideoutils.h:
+ * tests/check/libs/videodecoder.c:
+ videodecoder: add API to receive subframes
+ A video decoder can now receive subframes and start decoding
+ instead of waiting for the full frame to be complete.
+ Subframe support will reduce latency as described in the
+ video encoder base class.
+ A unit test illustrating this API is available in
+ tests/check/libs/videodecoder.c.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/454>
+
+2021-07-03 19:36:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/wgl/gstglcontext_wgl.c:
+ gl/context/wgl: Add missing NULL init
+ The value of uninitialized local variable is varying depending
+ on compiler and not guaranteed to be NULL initialized.
+ That results in pointing random address instead of expected function pointer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1222>
+
+2021-03-12 13:55:38 +0100 Francisco Javier Velázquez-García <francisco.velazquez@ltnglobal.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videotestsrc/gstvideotestsrc.c:
+ * gst/videotestsrc/gstvideotestsrc.h:
+ * gst/videotestsrc/videotestsrc.c:
+ * gst/videotestsrc/videotestsrc.h:
+ videotestsrc: Add SMPTE75 RP-219 color bars conformant
+ Implement 8-bit values of SMPTE RP 2019-1:2014. The bar widths and
+ heights are the result of fractions as integers. The remainders of
+ widths are distributed in a way that they match the values in Table
+ C.1 (a) in the specification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-03-12 20:58:40 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/videotestsrc/videotestsrc.c:
+ videotestsrc: Add a start parameter to _blend_line
+ Makes it easier to paint part of a line.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-03-12 20:57:13 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/videotestsrc/videotestsrc.c:
+ videotestsrc: Keep tmpline unchanged in_convert_tmpline
+ This will allow us to repeatedly
+ call it to render subsequent lines.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
+
+2021-06-15 13:22:55 -0700 Michael de Gans <47511965+mdegans@users.noreply.github.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ appsink: fix incorrect return nullability
+ This commit fixes the annoations for return nullability on several
+ GstAppSink functions. This was causing bindings to be generated
+ incorrectly.
+ Fixes #914
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1203>
+
+2021-05-19 16:22:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Add scaling policy to support PAR-aware scaling
+ Adding "sizing-policy" property for user to be able to specify
+ scaling policy (aspect-ratio for example).
+ At the moment, supported mode is only keep-aspect-ratio, but we might
+ be able to add more policies such as cropping, etc.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/696
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156>
+
+2021-05-19 20:11:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideosink.c:
+ * gst-libs/gst/video/gstvideosink.h:
+ video: Deprecate gst_video_sink_center_rect()
+ ... and add gst_video_center_rect() method as a replacement.
+ The method is useful for outside of videosink subclasses as well
+ but the old naming might be able to mislead people.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156>
+
+2021-05-24 19:11:51 +0200 Jakub Adam <jakub.adam@ktknet.cz>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: don't write empty extension header
+ When some header extensions are present but none decides to write any
+ data to the currently processed RTP buffer, remove the extension data
+ section.
+ Resulting RTP buffer wasn't formatted correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-05-24 19:02:42 +0200 Jakub Adam <jakub.adam@ktknet.cz>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * gst-libs/gst/rtp/gstrtpbuffer.h:
+ * tests/check/libs/rtp.c:
+ rtpbuffer: Add gst_rtp_buffer_remove_extension_data()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-05-24 19:01:24 +0200 Jakub Adam <jakub.adam@ktknet.cz>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: map RTP buffer READWRITE when setting headers
+ GstRTPHeaderExtension::write can map the RTP buffer for reading. If that
+ happens on a buffer that is already mapped WRITE-only by the payloader,
+ the payloader's mapping gets invalidated (GstRTPBuffer::map will point
+ to a different instance of GstMemory).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173>
+
+2021-06-24 14:56:11 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Make all fields private
+ The presence of a method and a field with the same name confuses the C#
+ binding generator. As there are accessor functions for all the fields,
+ let's just make them private.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1218>
+
+2021-06-26 12:50:58 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/gl/egl/gstglmemoryegl.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 gst-plugins-good#868
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1219>
+
+2021-06-25 23:42:34 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Set up matrix tables only once.
+ When configuring a multi-thread converter, only allocate the
+ shared colour conversion matrices once for the first thread,
+ to avoid allocating multiple times and leaking memory.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1216>
+
+2021-05-06 19:01:41 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Set up gamma tables only once
+ When the video converter is using multiple threads, the gamma tables
+ were created multiple times, leaking the tables set up for the previous
+ thread.
+ Only calculate the tables once.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140>
+
+2021-05-06 18:22:45 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/audio/audio-converter.c:
+ audio-converter: Free config when gst_audio_converter_new fails
+ The config got leaked when parameter validation fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140>
+
+2021-06-25 15:24:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/glprototypes/sync.h:
+ glprototypes: Add GST_GL_API_OPENGL to available version of sync
+ Make sync APIs usable if supported, even when GST_GL_API_OPENGL3 is
+ not selected
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1215>
+
+2021-04-23 18:03:20 +0200 Per Förlin <perfn@axis.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ gstrtspconnection: Add IPv6 support for tunneled mode
+ An IPv6 address must be specified within [] brackets.
+ Add brackets for IPv6 address used for tunneled mode,
+ for non-tunneled this is already supported.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1145>
+
+2021-06-16 14:49:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Call drain() rather then finish() on segment-done
+ The finish() virtual function documentation state that "Sub-classes can refuse
+ to decode new data after." Though, it is very common to issue a non-flushing
+ seek after that event in gapless playback uses case. This fixes potential
+ stalls with code using segment seeks, by using drain() virtual funciton
+ instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1206>
+
+2021-06-08 14:55:36 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/ogg/gstoggdemux.c:
+ oggdemux: fix a race in push mode when performing the duration seek
+ There may be two or more threads involved here however the important
+ interaction is the use of ogg->seeK_event_drop_till value that was only
+ set in the push-mode seek-event thread and could race with upstream
+ sending e.g. and EOS (or data).
+ Scenario is this:
+ 1. oggdemux performs a seek to near the end of the file to try and find
+ the duration. ogg->push_state is set to PUSH_DURATION.
+ 2. Seek is picked up by the dedicated seek event thread and sets
+ ogg->seek_event_drop_till to the seek event's seqnum.
+ 3. Most operations are blocked or dropped waiting on the duration to
+ be determined and processing continues until a duration is found.
+ 4. Two branching options for how this ultimately plays out
+ 4a. The source is too fast and we receive an EOS event which is dropped
+ because ogg->push_state == PUSH_DURATION. In this case everything
+ works.
+ 4b. We hit our 'almost at the end' check in
+ gst_ogg_pad_handle_push_mode_state() and attempt to seek back to the
+ beginning (or to a user-provided seek). This seek is marshalled to
+ the seek event thread without setting ogg->seek_event_drop_till but
+ with change ogg->push_state = PUSH_PLAYING. If an EOS event or
+ e.g. buffers arrive from upstream before the seek event thread has
+ picked up the seek event, then the EOS/data is processed as if it
+ came as a result of the seek event. This is the case that fails.
+ The fix is two-fold:
+ 1. Preemptively set ogg->seek_event_drop_till when setting the seek
+ event so that data and other events can be dropped correctly.
+ 2. In addition to dropping and EOS events while ogg->push_state ==
+ PUSH_DURATION, also drop any EOS events that are received before the
+ seek event has been processed by also tracking the seqnum of the seek.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1196>
+
+2021-06-21 14:06:14 +0000 Sergei Kovalev <sergei@pexip.com>
+
+ * gst-libs/gst/audio/gstaudiobasesink.c:
+ audiobasesink: Fix of double lock release
+ Add missing "return;" which prevents double lock release.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1208>
+
+2021-06-21 08:34:07 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * COPYING:
+ Update COPYING
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1207>
+
+2021-06-16 15:55:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+ * gst-libs/gst/gl/x11/gstglcontext_glx.h:
+ gl/context: fill a GError on platform-specific fill_info() error
+ Fixes bindings assuming that GError is always set on error:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957493
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957494
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809#note_957498
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1204>
+
+2021-06-16 12:13:21 +0200 François Laignel <fengalin@free.fr>
+
+ * gst-libs/gst/audio/gstaudiobasesink.c:
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/audio/gstaudiostreamalign.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ Check mandatory ClockTime arguments
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1205>
+
+2021-06-11 09:27:46 -0600 Scott Moreau <oreaus@gmail.com>
+
+ * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+ gl/wayland: Use consistent wl_display when creating work queue for proxy wrapper
+ Without this, glimagesink since wayland 727c7903 fails with
+ gst-launch-1.0: ../src/wayland-client.c:2181: wl_proxy_set_queue:
+ Assertion 'proxy->display == queue->display' failed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1200>
+
+2021-06-07 17:54:46 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+ * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
+ gl/viv-fb: fix gl plugin hang when run with viv-fb backend
+ below commit change the window resize thread and cause viv-fb backend
+ hang, need move resize code after window->open is called. Otherwise,
+ the resize message will send to a thread that not start running and
+ window resize call will waiting forever.
+ Commit: b887db1efe816c0c28b60a6842fa9005a26c1502
+ glwindow: fix racy resize updates
+ Take locks around resize handling and marshall all resizes to the
+ windowing thread by default.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1195>
+
+2021-06-10 12:41:31 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: Add AV12 DMABuf import support
+ The per plane format mapping for AV12 was missing, which would force
+ raw upload.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1199>
+
+2021-06-10 12:39:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: Fix wrong stride when importing DMABuf
+ When the code was ported to use component index instead of plane
+ index, the call to GST_VIDEO_INFO_PLANE_STRIDE() was accidently ported
+ to use component index, but this macro takes a plane index.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1199>
+
+2021-06-08 17:27:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: When dropping buffers before handling the initial segment use the latest input segment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1198>
+
+2021-06-08 13:05:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: Correctly check if this is the first buffer that was queued
+ By checking the queue length this would also count events and caps. We
+ already keep track of the number of buffers separately so just use that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1197>
+
+2021-06-05 02:35:30 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: signal enough-data even when leaking
+ this is convenient for application that wish to monitor whether
+ the appsrc is leaking.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1193>
+
+2021-06-03 21:14:42 +0200 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtp/header: Add missing `array length` annotation to read/write methods
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1190>
+
+2021-06-03 13:40:33 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-format.h:
+ video: Sort video formats correctly
+ AV12 should be right after A420 because it is the same format with just
+ one plane less, instead of being next to I420/NV12 which don't have an
+ alpha channel.
+ RGBP should be before GBR because it's the same format except for the
+ more canonical component order.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/790
+ which actually checks on the CI if the algorithm defined in
+ video-format.h is implemented correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1189>
+
+2021-06-03 15:57:39 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: hold extra pad ref while calling parent
+ Our subsequent cleanup needs a ref on the pad and calling the parent may
+ release the last reference and could cause a use-after-free.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1187>
+
+2021-06-03 15:57:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglstereomix.c:
+ * ext/gl/gstglstereosplit.c:
+ gl/stereo: fix a coupld of caps leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1187>
+
+2021-05-22 15:42:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gl/display: remove choosing egl fallback from GST_GL_PLATFORM
+ If GST_GL_WINDOW is unset but GST_GL_PLATFORM=egl, then we were choosing
+ to create an GstGLDisplayEGL directly instead of going through the any
+ more specific windowing system implementation (X11, Wayland).
+ The 'create an GstGLDisplayEGL when GST_GL_PLATFORM=egl' was a fallback
+ as we did not have entries for all EGL-using window systems previously.
+ Now that we do, the fallback can be removed. An EGLDisplay can still
+ be created by setting GST_GL_WINDOW=egl or as one option.
+ Fixup of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1154
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1169>
+
+2021-05-23 23:51:27 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/alsa/gstalsamidisrc.c:
+ * ext/ogg/gstoggdemux.c:
+ * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+ * gst-libs/gst/riff/riff-read.c:
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/rtsp/gstrtspmessage.c:
+ * gst-libs/gst/sdp/gstmikey.c:
+ * gst-libs/gst/video/video-anc.c:
+ * meson.build:
+ Use g_memdup2() where available and add fallback for older GLib versions
+ g_memdup() is deprecated since GLib 2.68 and we want to avoid
+ deprecation warnings with recent versions of GLib.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1171>
+
+2021-06-01 15:28:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+
=== release 1.19.1 ===
2021-06-01 00:09:54 +0100 Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index cc6c3b4a8..0e581c39b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,15 +1,15 @@
GStreamer 1.20 Release Notes
GStreamer 1.20 has not been released yet. It is scheduled for release
-around July 2021.
+around October/November 2021.
1.19.x is the unstable development version that is being developed in
-the git master branch and which will eventually result in 1.20, and
-1.19.1 is the current development release in that series
+the git main branch and which will eventually result in 1.20, and 1.19.2
+is the current development release in that series
-It is expected that feature freeze will be around June/July 2021,
-followed by several 1.19 pre-releases and the new 1.20 stable release
-around July 2021.
+It is expected that feature freeze will be in early October 2021,
+followed by one or two 1.19.9x pre-releases and the new 1.20 stable
+release around October/November 2021.
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.
@@ -17,7 +17,7 @@ around July 2021.
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
version of this document.
-Last updated: Sunday 30 May 2021, 16:00 UTC (log)
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
Introduction
@@ -247,6 +247,10 @@ Documentation improvements
Possibly Breaking Changes
- this section will be filled in in due course
+- MPEG-TS SCTE-35 API changes (FIXME: flesh out)
+- gst_parse_launch() and friends now error out on non-existing
+ properties on top-level bins where they would silently fail and
+ ignore those before.
Known Issues
@@ -274,16 +278,15 @@ the git 1.20 branch, which will be a stable branch.
1.20.0
-1.20.0 is scheduled to be released around July 2021.
+1.20.0 is scheduled to be released around October/November 2021.
Schedule for 1.22
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
-development of 1.21/1.22 will happen in the git master 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, but it
-is hoped that feature freeze will take place some time in December 2021.
+The plan for the 1.22 development cycle is yet to be confirmed.
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.
diff --git a/RELEASE b/RELEASE
index dbd8eecf0..a25e5b2c1 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-base 1.19.1.
+This is GStreamer gst-plugins-base 1.19.2.
GStreamer 1.19 is the development branch leading up to the next major
stable version which will be 1.20.
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index ddc16d6ed..7b223bd25 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@ A wide range of video and audio decoders, encoders, and filters are included.
<release>
<Version>
+ <revision>1.19.2</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2021-09-23</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.19.2.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.19.1</revision>
<branch>master</branch>
<name></name>
diff --git a/meson.build b/meson.build
index 435679eae..9b00253a0 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-plugins-base', 'c',
- version : '1.19.1.1',
+ version : '1.19.2',
meson_version : '>= 0.54',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])