From 56dec037a80266add6853e4b06e2dc379de757d1 Mon Sep 17 00:00:00 2001 From: Tim-Philipp Müller Date: Wed, 8 Sep 2021 20:02:48 +0100 Subject: Release 1.18.5 --- ChangeLog | 437 ++++++++++++++++++++++++++++++++++++++++++++ NEWS | 318 +++++++++++++++++++++++++++++++- RELEASE | 2 +- docs/gst_plugins_cache.json | 8 +- gst-plugins-good.doap | 10 + meson.build | 2 +- 6 files changed, 764 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 86bdde1109..854bde44a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,439 @@ +=== release 1.18.5 === + +2021-09-08 20:02:48 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-good.doap: + * meson.build: + Release 1.18.5 + +2021-08-03 19:12:11 +0900 Seungha Yang + + * 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: + +2021-04-13 09:23:12 +0530 Nirbheek Chauhan + + * 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: + +2021-04-10 02:53:51 +0530 Nirbheek Chauhan + + * 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: + +2021-04-10 04:40:46 +0530 Nirbheek Chauhan + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Just assign the segment instead of memcpy + Assignments copy by value, we don't need to memcpy... + Part-of: + +2021-04-10 03:09:44 +0530 Nirbheek Chauhan + + * 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: + +2021-07-08 02:22:20 +0200 Mathieu Duponchelle + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: always use factory property when set + Part-of: + +2021-09-02 08:38:54 +0300 Sebastian Dröge + + * 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: + +2021-08-27 14:32:45 +0200 Edward Hervey + + * 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: + +2021-08-24 13:28:22 +0100 Tim-Philipp Müller + + * 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: + +2021-08-22 23:16:26 +0000 Ruslan Khamidullin + + * 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: + +2021-06-16 16:30:59 +0530 Nirbheek Chauhan + + * 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: + +2021-08-15 12:26:38 +0300 Sebastian Dröge + + * 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: + +2021-07-01 13:18:45 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpssrcdemux.c: + rtpssrcdemux: Remove pads and reset the element also in READY->NULL + Mostly for completeness. + Part-of: + +2021-07-01 13:18:09 +0300 Sebastian Dröge + + * 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: + +2021-06-26 20:00:03 +0900 Seungha Yang + + * 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: + +2020-11-03 15:58:30 +0200 Sebastian Dröge + + * 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: + +2021-06-03 20:33:45 +1000 Matthew Waters + + * 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: + +2021-05-29 12:54:22 +0100 Tim-Philipp Müller + + * 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: + +2021-05-26 00:23:56 +0900 Seungha Yang + + * 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: + +2021-05-25 20:10:34 +0900 Seungha Yang + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Drop field-order field if outputting progressive + Progressive with field-order doesn't make sense + Part-of: + +2021-05-23 15:14:11 +0100 Tim-Philipp Müller + + * 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: + +2021-05-23 13:29:07 +0100 Tim-Philipp Müller + + * 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: + +2021-05-23 13:24:21 +0100 Tim-Philipp Müller + + * 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: + +2021-05-07 11:16:47 +0200 Jan Alexander Steffens (heftig) + + * gst/udp/gstudpsrc.c: + udpsrc: Plug leaks of saddr in error cases + Part-of: + +2021-05-07 11:16:21 +0200 Jan Alexander Steffens (heftig) + + * gst/udp/gstudpsrc.c: + udpsrc: Whitespace + Part-of: + +2021-05-07 00:43:44 +0200 Jan Alexander Steffens (heftig) + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Plug a method subobject leak + Changing the method would leak the previous method. + Part-of: + +2021-04-30 08:12:47 +1000 Jan Schmidt + + * 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: + +2021-04-22 15:01:32 +0800 Hou Qi + + * 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: + +2021-04-22 08:57:23 +0200 Edward Hervey + + * 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: + +2021-04-19 01:29:33 -0400 Doug Nazar + + * 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: + +2021-04-13 11:30:51 +0300 Sebastian Dröge + + * 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: + +2021-04-10 01:55:28 +0530 Nirbheek Chauhan + + * 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: + +2021-04-10 01:54:48 +0530 Nirbheek Chauhan + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Add more logging for range parsing and seekable + Part-of: + +2021-04-06 17:02:34 +0530 Nirbheek Chauhan + + * 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: + +2021-03-18 19:52:53 +1100 Matthew Waters + + * 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: + +2021-03-26 16:26:22 +0800 Hou Qi + + * 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: + +2021-03-23 16:59:28 +0800 Hou Qi + + * 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: + +2021-03-19 10:52:26 +0800 Hou Qi + + * 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: + +2021-03-18 17:42:02 +0000 Alba Mendez + + * 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: + +2021-03-17 15:54:59 +0530 Nirbheek Chauhan + + * 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: + +2021-03-17 13:18:34 +0530 Nirbheek Chauhan + + * 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: + +2021-03-16 19:25:36 +0200 Sebastian Dröge + + * 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: + +2021-03-15 19:49:05 +0000 Tim-Philipp Müller + + * 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 @@ -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 3ada8869cd..17f17457b8 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 ac6e868176..b60cda9bfe 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 064f93ef3a..7bb8bd5db8 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 9defd31894..a12397ac8e 100644 --- a/gst-plugins-good.doap +++ b/gst-plugins-good.doap @@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). + + + 1.18.5 + 1.18 + + 2021-09-08 + + + + 1.18.4 diff --git a/meson.build b/meson.build index 8b3ad1bfa5..da8c6a0124 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' ]) -- cgit v1.2.3