summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2021-09-08 20:02:48 +0100
committerTim-Philipp Müller <tim@centricular.com>2021-09-08 20:02:50 +0100
commit56dec037a80266add6853e4b06e2dc379de757d1 (patch)
tree7171fb29f603f855c386e603d182ddf1dd358161
parentc14656a1e09ce3df41636f6abfac68112c8d8c98 (diff)
Release 1.18.51.18.5
-rw-r--r--ChangeLog437
-rw-r--r--NEWS318
-rw-r--r--RELEASE2
-rw-r--r--docs/gst_plugins_cache.json8
-rw-r--r--gst-plugins-good.doap10
-rw-r--r--meson.build2
6 files changed, 764 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 86bdde110..854bde44a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,439 @@
+=== release 1.18.5 ===
+
+2021-09-08 20:02:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-good.doap:
+ * meson.build:
+ Release 1.18.5
+
+2021-08-03 19:12:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: Fix crash when interlaced field height is not DCT block size aligned
+ In case of interlaced JPEG file, we are doubling stride.
+ The scratch scan line should take account of it as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>
+
+2021-04-13 09:23:12 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Remove some dead code
+ stop is not used after this point, nor do we create a new segment
+ here since 84725d62b57bc74ce34abde755f35bf8f948f94d
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
+
+2021-04-10 02:53:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Do not overwrite the known duration after a seek
+ This breaks the duration query and also the seeking query.
+ Broke in 5f1a732bc7b76a6f1b8aa5f26b6e76fbca0261c7
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
+
+2021-04-10 04:40:46 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Just assign the segment instead of memcpy
+ Assignments copy by value, we don't need to memcpy...
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
+
+2021-04-10 03:09:44 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: De-dup seek event seqnums to avoid multiple seeks
+ Seek events are sent upstream on each sink, so if we receive multiple
+ seeks with the same seqnum, we must only perform one seek, not N seeks
+ where N = the number of sinks in the pipeline connected to rtspsrc.
+ This is the same thing done by demuxers like qtdemux or matrsokademux.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1075>
+
+2021-07-08 02:22:20 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/multifile/gstsplitmuxsink.c:
+ splitmuxsink: always use factory property when set
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1074>
+
+2021-09-02 08:38:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/avi/gstavidemux.c:
+ avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
+ This works around some AVI files storing byte-stream data in the
+ codec_data. The previous workaround was only checking for
+ 0x00000001 (4 bytes) instead of 0x000001 (3 bytes).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1073>
+
+2021-08-27 14:32:45 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Force stream-start push when re-using EOS'd streams
+ When re-using streams, we *do* need to push a `stream-start` event downstream if
+ we previously were EOS'd. Failure to do that would never remove the EOS status
+ on all downstream elements and cause weird issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1068>
+
+2021-08-24 13:28:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: add depth for ProRes 4:4:4:4 variants if available
+ Might be 24bpp in case an alpha channel is coded but
+ the image is always opaque.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>
+
+2021-08-22 23:16:26 +0000 Ruslan Khamidullin <ruslank@borisfx.com>
+
+ * gst/isomp4/gstqtmux.c:
+ qtmux: for Apple ProRes, allow overriding pixel bit depth for 4:4:4:4 variants
+ e.g. when exporting an opaque image, yet with alpha channel.
+ Apple ProRes certification requires that, when a ProRes-writing
+ application *knows* that the entire frame is opaque, the application
+ writes only RGB without alpha even when the clip is RGBA. For that,
+ this tiny change allows the app to override pixel depth when writing ProRes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>
+
+2021-06-16 16:30:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtp/gstrtph265depay.c:
+ rtph265depay: update codec_data in caps regardless of format
+ Updating of codec_data in the caps is important to propagate changes
+ in sps/pps/vps via NALs. Without this, downstream does not renegotiate
+ when upstream changes resolution.
+ The comment referring to rtph264pay is from 2015 and is out of date.
+ rtph264pay stopped doing that in 2017 with commit
+ dabeed52a995d27e16eba9e4617e61eb0bcd44c4
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1025>
+
+2021-08-15 12:26:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/soup/gstsouphttpsrc.c:
+ souphttpsrc: Always use the content decoder but set `Accept-Encoding: identity` if no compression should be used
+ Some servers respond with gzip-encoded responses regardless of whether
+ the request allowed it to be used in the response. By always having the
+ content decoder enabled, these invalid responses can be decoded
+ correctly while for well-behaving servers the `compress` property
+ selects between allowing compressed responses or not.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1054>
+
+2021-07-01 13:18:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpssrcdemux.c:
+ rtpssrcdemux: Remove pads and reset the element also in READY->NULL
+ Mostly for completeness.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1027>
+
+2021-07-01 13:18:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpptdemux.c:
+ rtpptdemux: Remove pads also in PAUSED->READY
+ They're based on per-stream information and that should be reset
+ whenever going to READY state.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1027>
+
+2021-06-26 20:00:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/udp/gstmultiudpsink.c:
+ multiudpsink: Fix broken SO_SNDBUF get/set on Windows
+ SO_SNDBUF has been undefined on Windows because of missing WinSock2.h
+ include. And don't use native socket functions (e.g., setsockopt())
+ if code is expected to be built on Windows. We don't link ws2_32.lib
+ for this plugin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1026>
+
+2020-11-03 15:58:30 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/qt/gstqsgtexture.cc:
+ * ext/qt/gstqsgtexture.h:
+ * ext/qt/qtitem.cc:
+ qmlglsink: Keep old buffers around a bit longer if they were bound by QML
+ We don't know exactly when QML will stop using them but it should be
+ safe to unref them after at least 2 more buffers were bound.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1009>
+
+2021-06-03 20:33:45 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/qt/qtitem.cc:
+ qtitem: don't potentially leak a large number of buffers
+ The only other place where these queued buffers are removed, is in
+ setCaps() but that is not called at all on shutdown so this list of
+ buffers could not be removed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1005>
+
+2021-05-29 12:54:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtp/gstrtpjpegpay.c:
+ rtpjpegpay: fix image corruption when compiled with MSVC on Windows
+ On Windows with MSVC, jpeg_header_size would end up 2 bytes larger
+ than it should be. This then leads to the first 2 bytes of the
+ actual jpeg image data to be dropped, because we think those
+ belong to the header, which results in an undecodable image when
+ reconstructed in the depayloader.
+ What happens is that when the compiler evaluates
+ jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem);
+ it actually uses the mem.offset value after it has been increased
+ by the function call on the right hand size of the equation.
+ From section 6.5 of the C99 spec:
+ 3. The grouping of operators and operands is indicated by the syntax [74].
+ Except as specified later (for the function-call (), &&, ||, ?:, and
+ comma operators), the order of evaluation of subexpressions and the
+ order in which side effects take place are both unspecified.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/889
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1003>
+
+2021-05-26 00:23:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Drop "field-order" field while transforming caps
+ Like other basetransform subclasses are doing, drop field
+ which can be converted by deinterlace.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1001>
+
+2021-05-25 20:10:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Drop field-order field if outputting progressive
+ Progressive with field-order doesn't make sense
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1001>
+
+2021-05-23 15:14:11 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: use g_strndup() for copying text data
+ So we don't rely on NUL terminators inside the data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>
+
+2021-05-23 13:29:07 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: clean up adtl/note/labl chunk parsing
+ We were passing the size of the adtl chunk to the note/labl
+ sub-chunk parsing function, which means we may memdup lots of
+ data after the chunk string's NUL terminator that doesn't
+ really belong to it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>
+
+2021-05-23 13:24:21 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: guard against overflow when comparing chunk sizes
+ Could be rewritten as lsize > (size - 8) a well, but the
+ extra check seems clearer. Doesn't look like it was problematic,
+ lsize wasn't actually used when parsing the sub-chunks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>
+
+2021-05-07 11:16:47 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/udp/gstudpsrc.c:
+ udpsrc: Plug leaks of saddr in error cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/986>
+
+2021-05-07 11:16:21 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/udp/gstudpsrc.c:
+ udpsrc: Whitespace
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/986>
+
+2021-05-07 00:43:44 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Plug a method subobject leak
+ Changing the method would leak the previous method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/985>
+
+2021-04-30 08:12:47 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/isomp4/atoms.c:
+ * gst/isomp4/atoms.h:
+ qtmux: Make sure to write 64-bit STCO table when needed.
+ qtmux attempts to choose between writing a 32-bit stco chunk offset table
+ when it can, but switch to a 64-bit co64 table when file offsets go over
+ 4GB.
+ This patch fixes a problem where the atom handling code was checking
+ mdat-relative offsets instead of the final file offset (computed by
+ adding the mdat position plus the mdat-relative offset) - leading to
+ problems where files with a size between 4GB and 4GB+offset-of-the-mdat
+ would write incorrect STCO tables with some samples having truncated
+ 32-bit offsets.
+ Smaller files write STCO correctly, larger files would switch to
+ co64 and also output correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/972>
+
+2021-04-22 15:01:32 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Add interlace-mode back to caps for camera
+ skip_try_fmt_probes is set to TRUE for v4l2src to skip interlace-mode and
+ colorimetry when probe caps. gst_v4l2_object_set_format_full() will add
+ colorimetry back to caps when iterating over the negotiated caps. There is
+ one case that v4l2src is first in preview state then starts recording.
+ v4l2src caps will change with an additional interlace-mode structure after
+ renegotiation, then v4l2src needs to reset. But this camera driver can't
+ orphan buffer pool, it causes require buffer failed as streaming is still
+ in active state.
+ To fix this, also need to add interlace-mode back to caps for camera to
+ avoid reset.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/971>
+
+2021-04-22 08:57:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Avoid generation of invalid timestamps
+ When updating timestamps and timer timeouts with a new offset, make sure that
+ the resulting value is valid (and not a negative (signed) value which ends up in
+ a massive (unsigned) value).
+ Fixes #571
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/963>
+
+2021-04-19 01:29:33 -0400 Doug Nazar <nazard@nazar.ca>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Fix race saving seek event seqnum.
+ We need to save the seek seqnum before the flush stop event
+ since that will start the basesrc task which may send the segment
+ event before we're ready.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/957>
+
+2021-04-13 11:30:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Check srcresult before waiting on the condition variable too
+ It might've been set to FLUSHING between the last check and the waiting,
+ and in that case we'd be waiting here forever now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/948>
+
+2021-04-10 01:55:28 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Using multicast UDP has no relation to seekability
+ The transport has no relation to whether a media can be seeked. The
+ range response having a duration is the correct thing to check for.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/947>
+
+2021-04-10 01:54:48 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Add more logging for range parsing and seekable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/947>
+
+2021-04-06 17:02:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ rtpjitterbuffer: More logging when calculating rfc7273 timestamps
+ This code can be fragile, since it is very exacting in the timestamps
+ that it will accept. Add more logging so it's easier to debug issues
+ and figure out whether it's a bug in the calculation or something
+ wrong in the incoming buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/946>
+
+2021-03-18 19:52:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/jack/gstjack.c:
+ * ext/jack/gstjackaudiosink.c:
+ * ext/jack/gstjackaudiosrc.c:
+ * ext/pulse/pulsesink.h:
+ * ext/qt/gstqsgtexture.cc:
+ * ext/qt/gstqtglutility.cc:
+ * ext/qt/qtglrenderer.cc:
+ * ext/qt/qtitem.cc:
+ * ext/qt/qtwindow.cc:
+ * ext/vpx/gstvpxdec.c:
+ * ext/vpx/gstvpxenc.c:
+ * gst/audioparsers/gstac3parse.h:
+ * sys/rpicamsrc/gstrpicamsrc.c:
+ * sys/ximage/ximageutil.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/gst-plugins-good/-/merge_requests/941>
+
+2021-03-26 16:26:22 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Use default colorimetry if that in caps is unknown
+ Some streams have unknown colorimetry in caps, but v4l2object sets
+ default values for each primaries. It will cause check colorimetry
+ fail when do gst_v4l2_video_colorimetry_matches().
+ To fix this, need to keep the unknown colorimetry in caps same as
+ the default value set by v4l2object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/930>
+
+2021-03-23 16:59:28 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry
+ video-info sets gst colorimetry to default value when colorimetry in caps
+ is unparsable or invalid. Then v4l2object uses this gst colorimetry to do
+ mapping with v4l2 colorimetry. This may cause colorimetry mismatch when
+ check mapped gst colorimetry with that read from caps directly.
+ To fix this, need to correct gst colorimetry as that parsed from video-info
+ when check gst_v4l2_video_colorimetry_matches().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/922>
+
+2021-03-19 10:52:26 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Add support for hdr10 stream playback
+ Colorimetry of hdr10 video is bt2100-pq with transfer as
+ GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
+ to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/921>
+
+2021-03-18 17:42:02 +0000 Alba Mendez <me@alba.sh>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Fix more signals
+ Behaviour change in GLib causes select-stream signal to discard
+ the value returned by handlers. See !909 for more info.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/920>
+
+2021-03-17 15:54:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtsp/gstrtspsrc.c:
+ Update docs cache and fix before-send signal doc syntax
+ The docs for before-send were missing because of this
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/918>
+
+2021-03-17 13:18:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Fix accumulation of before-send signal return values
+ Since glib 2.62, the accumulated return values in RUN_CLEANUP override the
+ accumulated return values in RUN_FIRST. Since:
+ 1. We have a default handler that always returns TRUE, and
+ 2. User handlers are only run in RUN_FIRST, and
+ 3. Our accumulator just takes the latest return value
+ We were discarding the return value from the user handler and always
+ sending messages even if the user handler said not to. See
+ https://gitlab.gnome.org/GNOME/glib/-/issues/2352 for more details.
+ This signal does not need RUN_CLEANUP or RUN_FIRST, so just change it
+ to RUN_LAST so that it's emitted exactly once and accumulated once.
+ With this fix, this signal can now be used to intercept PAUSE when
+ going to GST_STATE_NULL so that the server does a TEARDOWN (if
+ necessary) and not a PAUSE, which will confuse other RTSP clients when
+ playing shared media.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/918>
+
+2021-03-16 19:25:36 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
+ Due to an off-by-one when parsing the string, the most significant digit
+ or the clock offset was skipped when parsing the offset.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/910>
+
+2021-03-15 19:49:05 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+
=== release 1.18.4 ===
2021-03-15 17:48:28 +0000 Tim-Philipp Müller <tim@centricular.com>
@@ -5,6 +441,7 @@
* ChangeLog:
* NEWS:
* RELEASE:
+ * docs/gst_plugins_cache.json:
* gst-plugins-good.doap:
* meson.build:
Release 1.18.4
diff --git a/NEWS b/NEWS
index 3ada8869c..17f17457b 100644
--- a/NEWS
+++ b/NEWS
@@ -2,13 +2,13 @@ GStreamer 1.18 Release Notes
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
-on 15 March 2021.
+The latest bug-fix release in the 1.18 series is 1.18.5 and was released
+on 8 September 2021.
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
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
@@ -2102,7 +2102,10 @@ Possibly Breaking Changes
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
@@ -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 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
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.
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
-2021, with the first 1.20 stable release hopefully around April/May
-2021.
+is now expected that feature freeze will take place some time in
+September/October 2021, with the first 1.20 stable release hopefully
+towards the end of October 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.
diff --git a/RELEASE b/RELEASE
index ac6e86817..b60cda9bf 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-good 1.18.4.
+This is GStreamer gst-plugins-good 1.18.5.
The GStreamer team is thrilled to announce a new major feature release
of your favourite cross-platform multimedia framework!
diff --git a/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json
index 064f93ef3..7bb8bd5db 100644
--- a/docs/gst_plugins_cache.json
+++ b/docs/gst_plugins_cache.json
@@ -6595,7 +6595,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer 1.18.4.1 FLV muxer",
+ "default": "GStreamer 1.18.5 FLV muxer",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -6607,7 +6607,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer 1.18.4.1 FLV muxer",
+ "default": "GStreamer 1.18.5 FLV muxer",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -20636,7 +20636,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer/1.18.4.1",
+ "default": "GStreamer/1.18.5",
"mutable": "null",
"readable": true,
"type": "gchararray",
@@ -22593,7 +22593,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer souphttpsrc 1.18.4.1 ",
+ "default": "GStreamer souphttpsrc 1.18.5 ",
"mutable": "null",
"readable": true,
"type": "gchararray",
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index 9defd3189..a12397ac8 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
<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/gst-plugins-good/gst-plugins-good-1.18.5.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.18.4</revision>
<branch>1.18</branch>
<name></name>
diff --git a/meson.build b/meson.build
index 8b3ad1bfa..da8c6a012 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-plugins-good', 'c',
- version : '1.18.4.1',
+ version : '1.18.5',
meson_version : '>= 0.48',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])