From b375ee4cdbcb98687c226d6564f8678a809cf02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 6 Dec 2020 13:24:10 +0000 Subject: Release 1.18.2 --- ChangeLog | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++ NEWS | 193 ++++++++++++++++++++++++++++++++- RELEASE | 2 +- gst-plugins-bad.doap | 10 ++ meson.build | 2 +- 5 files changed, 502 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e7246dc1..6724fa41f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,302 @@ +=== release 1.18.2 === + +2020-12-06 13:24:10 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-bad.doap: + * meson.build: + Release 1.18.2 + +2020-08-25 14:56:50 +0100 Chris Bass + + * ext/ttml/ttmlparse.c: + ttmlparse: Handle whitespace before XML declaration + When ttmlparse is in, e.g., an MPEG-DASH pipeline, there may be + whitespace between successive TTML documents in ttmlparse's accumulated + input. As libxml2 will fail to parse documents that have whitespace + before the opening XML declaration, ensure that any preceding whitespace + is not passed to libxml2. + Part-of: + +2020-08-25 14:54:31 +0100 Chris Bass + + * ext/ttml/ttmlparse.c: + ttmlparse: Ensure only single TTML doc parsed + The parser handles only one TTML file at a time, therefore if there are + multiple TTML documets in the input, parse only the first. + Part-of: + +2020-12-03 14:12:06 +0100 Edward Hervey + + * ext/hls/gsthlsdemux.c: + hlsdemux: Use actual object for logging + i.e. the pad of the stream + Part-of: + +2020-12-03 06:55:00 -0500 Arun Raghavan + + * ext/curl/gstcurlbasesink.c: + * ext/curl/gstcurlfilesink.c: + * ext/curl/gstcurlftpsink.c: + * ext/curl/gstcurlhttpsink.c: + * ext/curl/gstcurlhttpsrc.c: + * ext/curl/gstcurlsmtpsink.c: + * ext/curl/gstcurlsshsink.c: + * ext/curl/gstcurltlssink.c: + curl: Remove incorrect GST_DEBUG_OBJECT() calls + klass is not a GstObject, and these debugs print should likely not be + around anyway. + Part-of: + +2020-11-10 14:48:28 +0100 Edward Hervey + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Don't calculate bitrate for header/index fragments + They are generally substantially smaller than regular fragments, and therefore + we end up pushing totally wrong bitrates downstream. + Fixes erratic buffering issues with DASH introduced by + 66f5e874352016e29f555e3ce693b23474e476db + Part-of: + +2020-11-09 11:41:10 +0100 Edward Hervey + + * ext/dash/gstdashdemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.h: + adaptivedemux: Store QoS values on the element + Storing it per-stream requires taking the manifest lock which can apparenly be + hold for aeons. And since the QoS event comes from the video rendering thread + we *really* do not want to do that. + Storing it as-is in the element is fine, the important part is knowing the + earliest time downstream. + Part-of: + +2020-11-05 13:48:27 +0200 Edward Hervey + + * gst/mpegtsdemux/mpegtspacketizer.c: + * gst/mpegtsdemux/mpegtspacketizer.h: + * gst/mpegtsdemux/mpegtsparse.c: + tsparse: Forward incoming timestamps + Ensure we properly forward the upstream PTS/DTS on the regular and program + source pads. All packets being processed will carry over the latest PTS/DTS (as + a reconstructed GstBuffer). + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1419 + And properly forward PTS/DTS for program pads (which wasn't the case before) + Original patch by Vivia Nikolaidou + Part-of: + +2020-12-02 09:39:45 +0200 Sebastian Dröge + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Don't log with non-GObject objects + Instead of using the streams, log with the pad of the streams. + https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1457 + Part-of: + +2020-12-02 15:08:44 +0000 Nicolas Dufresne + + * sys/v4l2codecs/gstv4l2decoder.c: + Revert "v4l2codecs: decoder: Unmark previously pending request" + This reverts commit a3e6d9fc24098fc27fa3fb10c4d189fa61e67500 + Part-of: + +2020-11-05 17:14:22 +0000 Philippe Normand + + * gst-libs/gst/player/gstplayer.c: + player: Fix get_current_subtitle_track annotation + As the info returned is a new object, the annotation should be transfer-full, + similarly to the get_current_{audio,video}_track() implementations. + Part-of: + +2020-11-11 18:21:25 +0900 Seungha Yang + + * gst/mpegdemux/gstmpegdemux.c: + mpegdemux: Set duration on seeking query if possible + Set duration on seeking query in the same way as duration query handler. + Otherwise application might get confused as if the duration is unknown. + Part-of: + +2020-11-09 18:27:14 +0100 Edward Hervey + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: Handle PCR issues with adaptive streams + A lot of content producers out there targetting "adaptive streaming" are riddled + with non-compliant PCR streams (essentially all the players out there just use + PTS/DTS and don't care about the PCR). + In order to gracefully cope with these, we detect them appropriately and any + small (< 15s) PCR resets get gracefully ignored. + Part-of: + +2020-11-13 17:50:03 +0100 Edward Hervey + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtsdemux: Fix off by one error + Turns out timestamps of zero are valid :) Fixes issues with streams where the + PTS/DTS would be equal to the first PCR. + Part-of: + +2020-11-10 14:48:28 +0100 Edward Hervey + + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Don't calculate bitrate for header/index fragments + They are generally substantially smaller than regular fragments, and therefore + we end up pushing totally wrong bitrates downstream. + Fixes erratic buffering issues with DASH introduced by + 66f5e874352016e29f555e3ce693b23474e476db + Part-of: + +2020-11-11 18:07:57 +0100 Edward Hervey + + * ext/hls/gsthlsdemux.c: + hlsdemux: Don't double-free variant streams on errors + If an error happened switching to a new variant, we switch back to the previous + one ... except it will be unreffed when settin git. + In order to avoid such issues, keep a reference to the old variant until we're + sure we don't need it anymore + Fixes cases of double-free on variants and its contents + Part-of: + +2020-10-30 14:07:02 +0000 Julian Bouzas + + * sys/nvcodec/gstcudautils.c: + nvcodec: leave g_once_init when all quarks are initialized + Part-of: + +2020-11-05 13:30:49 +0000 Jason Pereira + + * docs/plugins/gst_plugins_cache.json: + * sys/decklink/gstdecklink.cpp: + decklink: correct framerate 2KDCI 23.98 + Part-of: + +2020-11-05 09:01:47 +0100 Rafostar <40623528+Rafostar@users.noreply.github.com> + + * gst-libs/gst/player/gstplayer.c: + player: call ref_sink on pipeline + Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash. + Fixes #1450 + Part-of: + +2020-11-03 02:22:23 +1100 Jan Schmidt + + * ext/vulkan/vkdeviceprovider.c: + vkdeviceprovider: Avoid deadlock on physical device + Don't hold the object lock on the vk physical device while + constructing a GstVulkanDevice around it, as + GstVulkanDevice can make calls on the physical device that + require the object lock. + Part-of: + +2020-11-02 08:46:25 +0000 Randy Li + + * ext/wayland/wlvideoformat.c: + wlvideoformat: fix DMA format convertor + In the most of case, this typo would work. But for + ARGB8888 and XRGB8888, which shm format is not based on fourcc, + which would never appear in format enumeration. + Part-of: + +2020-10-31 01:23:36 +1100 Jan Schmidt + + * tests/check/elements/dtls.c: + dtls: Catch bus errors and fail instead of hanging. + If the DTLS elements fail, they post a bus error and don't signal any + key negotiation. Catch the bus error and fail the test early instead + of letting it hang and time out. + Part-of: + +2020-10-30 22:52:18 +1100 Jan Schmidt + + * ext/sctp/gstsctpdec.c: + * ext/sctp/gstsctpenc.c: + sctp: Do downward state change logic after chaining up. + Call the parent state_change function first when changing state + downward, to make sure that the element has stopped before cleaning + it up. + Part-of: + +2020-10-30 22:49:22 +1100 Jan Schmidt + + * ext/dtls/gstdtlsconnection.c: + dtls: Avoid bio_buffer assertion on shutdown. + On shutdown, a previous iteration of dtsl_connection_process() + might be incomplete and leave a partial bio_buffer behind. + If the DTLS connection is already marked closed, drop out + of dtls_connection_process early without asserting. + Part-of: + +2020-10-30 16:31:18 +1100 Jan Schmidt + + * ext/webrtc/gstwebrtcbin.c: + webrtc: Fix a race on shutdown. + The main context can disappear in gst_webrtc_bin_enqueue_task() + between checking the is_closed flag and enqueueing a source on the + main context. Protect the main context with the object lock instead + of the PC lock, and hold a ref briefly to make sure it stays alive. + Part-of: + +2020-10-31 21:46:16 +1100 Jan Schmidt + + * tests/check/elements/dtls.c: + tests: Don't set dtlsenc state before linking. + Link the dtlsenc in the testsuite before setting it to paused, as it + starts a pad task that can generate a not-linked error otherwise. + Part-of: + +2020-10-30 10:02:32 +0200 Sebastian Dröge + + * sys/decklink/gstdecklink.cpp: + decklink: Update enum value bounds check in gst_decklink_get_mode() + The widescreen modes moved after GST_DECKLINK_MODE_2160p60 and using + them now would cause an assertion. This is a regression from + 309f6187fef890c7ffa49305f38e89beac3b1423. + Part-of: + +2020-10-29 13:43:16 -0400 Xavier Claessens + + * sys/androidmedia/gstamc.c: + amc: Fix crash when encoding AVC + gstamcvideoenc.c calls gst_amc_avc_profile_to_string() with alternatives + set to NULL which causes a crash. + Part-of: + +2020-10-18 17:59:44 +0200 Nicola Murino + + * ext/opencv/meson.build: + opencv: allow compilation against 4.5.x + Part-of: + +2020-10-28 00:47:49 +0900 Seungha Yang + + * sys/d3d11/gstd3d11videoprocessor.c: + d3d11videoprocessor: Fix wrong input/output supportability check + The flag argument of ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat + method is output value, not input. + Part-of: + +2020-09-12 02:48:43 +0200 Jan Alexander Steffens (heftig) + + * tests/check/elements/svthevcenc.c: + tests: svthevcenc: Fix test_encode_simple + Pick the same I420 format the other test use. Without this, the source + picks AYUV64, which fails. + Part-of: + +2020-09-23 17:04:55 +0200 Jan Alexander Steffens (heftig) + + * gst/mpegtsmux/gstbasetsmux.c: + mpegtsmux: Restore intervals when creating TsMux + Otherwise the settings from the properties would be overwritten with + the defaults. + Part-of: + +2020-10-27 12:34:33 +0000 Tim-Philipp Müller + + * meson.build: + Back to development + === release 1.18.1 === 2020-10-26 11:14:43 +0000 Tim-Philipp Müller diff --git a/NEWS b/NEWS index c4276518e..4944cc296 100644 --- a/NEWS +++ b/NEWS @@ -2,8 +2,8 @@ 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.1 and was released -on 26 October 2020. +The latest bug-fix release in the 1.18 series is 1.18.2 and was released +on 6 December 2020. See https://gstreamer.freedesktop.org/releases/1.18/ for the latest version of this document. @@ -2387,6 +2387,195 @@ List of merge requests and issues fixed in 1.18.1 - List of Merge Requests applied in 1.18.1 - List of Issues fixed in 1.18.1 +1.18.2 + +The second 1.18 bug-fix release (1.18.2) was released on 6 December +2020. + +This release only contains bugfixes and it should be safe to update from +1.18.x. + +Highlighted bugfixes in 1.18.2 + +- Fix MPEG-TS timestamping regression when playing DVB streams +- compositor: fix artefacts in certain input scaling/conversion + situations and make sure that the output format is actually + supported, plus renegotiation fixes +- Fix sftp:// URI playback in decodebin/playbin via giosrc +- adaptivedemux/dashdemux/hlsdemux fixes +- rtsp-server fixes +- android media: fix crash when encoding AVC +- fix races in various unit tests +- lots of other bug fixes and memory leak fixes +- various stability, performance and reliability improvements +- g-i annotation fixes +- build fixes + +gstreamer + +- bin: When removing a sink, check if the EOS status changed +- info: colorize PIDs in log messages +- aggregator: Include min-upstream-latency in buffering time, helps + especially with performance issues on single core systems where + there are a lot of threads running +- typefind: copy seqnum to new segment event, fixing issues with + oggdemux operating in push mode with typefind operating in pull mode +- identity, clocksync: Also provide system clock if sync=false +- queue2: Fix modes in scheduling query handling +- harness: Handle element not being set cleanly +- g-i: Add some missing nullable annotations, and fix some nullable + annotations: + - gst_test_clock_process_next_clock_id() returns nullable + - gst_stream_type_get_name() is not nullable +- build: fix build issue when compiling for 32-bit architectures with + 64-bit time_t (e.g. riscv32) by increasing padding in + GstClockEntryImpl in gst_private.h + +gst-plugins-base + +- gl/eagl: internal view resize fixes for glimagesink +- video-converter: increase the number of cache lines for resampling, + fixes significant color issues and artefacts with “special” resizing + parameters in compositor +- compositor: Don’t crash in prepare_frame() if the pad was just + removed +- decodebin3: Properly handle caps query with no filter +- videoaggregator: Guarantee that the output format is supported +- videoaggregator: Fix locking around vagg->info +- gluploadelement: Avoid race condition of base class’ context +- gluploadelement: Avoid race condition of inside upload creation +- gl: Fix prototype of glGetSynciv() +- tcpserversink: Don’t assume g_socket_get_remote_address() succeeds +- video-aggregator: Fix renegotiation when using convert pads +- videoaggregator: document and fix locking in convert pad +- audiodecoder, videodecoder: Don’t reset max-errors property value in + reset() +- audioencoder: Fix incorrect GST_LOG_OBJECT usage +- pbutils: Fix segfault when using invalid encoding profile +- g-i: videometa: gir annotate the size of plane array in new API +- examples/gl/gtk: Add missing dependency on gstgl +- video: fix doc warning + +gst-plugins-good + +- rpicamsrc: add vchostif library as it is required to build + successful +- deinterlace: Enable x86 assembly with nasm on MSVC +- v4l2: caps negotiate wrong as interlace feature +- aacparse: Fix caps change handling +- rtspsrc: Use URI hash for stream id +- flvmux: Release pads via GstAggregator +- qtmux: Chain up when releasing pad, and fix some locking +- matroska-mux: Fix sparse stream crash +- Splitmux testsuite races + +gst-plugins-bad + +- tsparse: timestamp packetized buffers, fixing timestamp handling + regression in connection with dvbsrc in MeTV +- ttmlparse: fix issues in aggregation of input TTML +- mpegdemux: Set duration on seeking query if possible, fixes seeking + in MPEG-PS streams in gst-play-1.0 +- mpegtsdemux: Fix off by one error +- adaptivedemux: Store QoS values on the element +- adaptivedemux: Don’t calculate bitrate for header/index fragments +- hlsdemux: Don’t double-free variant streams on errors +- mpegtspacketizer: Handle PCR issues with adaptive streams +- player: call ref_sink on pipeline +- vkdeviceprovider: Avoid deadlock on physical device +- wlvideoformat: fix DMA format convertor +- Webrtc shutdown crashes +- decklink: Update enum value bounds check in gst_decklink_get_mode() +- decklink: correct framerate 2KDCI 23.98 +- amc: Fix crash when encoding AVC +- d3d11videoprocessor: Fix wrong input/output supportability check +- opencv: allow compilation against 4.5.x +- tests: svthevcenc: Fix test_encode_simple +- tests: dtls: Don’t set dtlsenc state before linking +- mpegtsmux: Restore intervals when creating TsMux +- adaptivedemux, hlsdemux, curl: Use actual object for logging +- gi: player: Fix get_current_subtitle_track() annotation + +gst-plugins-ugly + +- no changes + +gst-libav + +- avauddec: Check planar-ness of frame rather than context, fixes + issue with aptX HD decoding + +gst-rtsp-server + +- stream: collect a clock_rate when blocking +- media: Ignore GstRTSPStreamBlocking from incomplete streams, to + prevent cases with prerolling when the inactive stream prerolls + first and the server proceeds without waiting for the active stream. + When there are no complete streams (during DESCRIBE), we will listen + to all streams. +- media: Use guint64 for setting the size-time property on rtpstorage, + fixes potential crashes or memory corruption. +- media: Get rates only on sender streams, fixing issue with ONVIF + audio backchannel streams +- media: Plug memory leak + +gstreamer-vaapi + +- H265 decoder: Fix a typo in scc reference setting + +gstreamer-sharp + +- no changes + +gst-omx + +- no changes + +gst-python + +- no changes + +gst-editing-services + +- Fix static build +- ges_init(): Fix potential initialisation crash on error + +gst-integration-testsuites + +- no changes + +gst-build + +- gst-env: use Path.open() in get_pkgconfig_variable_from_pcfile(), + fixes issues with python 3.5 +- subprojects: pin orc to 0.4.32 release (was 0.4.29) and pin libpsl + to 0.21.1 (was master) + +Cerbero build tool and packaging changes in 1.18.2 + +- build-tools: copy the removed site.py from setuptools, fixing python + programs (like meson) from using libraries from incorrect places + +Contributors to 1.18.2 + +Arun Raghavan, Bing Song, Chris Bass, Chris Duncan, Chris White, David +Keijser, David Phung, Edward Hervey, Fabrice Fontaine, Guillaume +Desmottes, Guiqin Zou, He Junyan, Jan Alexander Steffens (heftig), Jan +Schmidt, Jason Pereira, Jonathan Matthew, Jose Quaresma, Julian Bouzas, +Khem Raj, Kristofer Björkström, Marijn Suijten, Mart Raudsepp, Mathieu +Duponchelle, Matthew Waters, Nicola Murino, Nicolas Dufresne, Nirbheek +Chauhan, Olivier Crête, Philippe Normand, Rafostar, Randy Li, Sanchayan +Maity, Sebastian Dröge, Seungha Yang, Thibault Saunier, Tim-Philipp +Müller, Vivia Nikolaidou, Xavier Claessens + +… 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.2 + +- List of Merge Requests applied in 1.18.2 +- List of Issues fixed in 1.18.2 + Schedule for 1.20 Our next major feature release will be 1.20, and 1.19 will be the diff --git a/RELEASE b/RELEASE index 68dd88122..9238b9b61 100644 --- a/RELEASE +++ b/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-bad 1.18.1. +This is GStreamer gst-plugins-bad 1.18.2. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap index 91af32ecc..9c1bdf7da 100644 --- a/gst-plugins-bad.doap +++ b/gst-plugins-bad.doap @@ -33,6 +33,16 @@ real live maintainer, or some actual wide use. + + + 1.18.2 + 1.18 + + 2020-12-06 + + + + 1.18.1 diff --git a/meson.build b/meson.build index ba321aba3..38a1cff70 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-bad', 'c', 'cpp', - version : '1.18.1.1', + version : '1.18.2', meson_version : '>= 0.49', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) -- cgit v1.2.1