diff options
-rw-r--r-- | ChangeLog | 555 | ||||
-rw-r--r-- | NEWS | 318 | ||||
-rw-r--r-- | RELEASE | 2 | ||||
-rw-r--r-- | gst-plugins-bad.doap | 10 | ||||
-rw-r--r-- | meson.build | 2 |
5 files changed, 878 insertions, 9 deletions
@@ -1,3 +1,558 @@ +=== release 1.18.5 === + +2021-09-08 20:03:37 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-bad.doap: + * meson.build: + Release 1.18.5 + +2021-09-08 17:32:30 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c: + vulkan: don't link to XOpenDisplay in documentation + hotdoc doesn't know about that symbol + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518> + +2021-03-31 18:07:40 -0300 Thibault Saunier <tsaunier@igalia.com> + + * gst/rtp/gstrtpsrc.c: + rtpsrc: Fix wrong/NULL URI handling + We can reset the URI to NULL and this fix a deadlock in that case or + when the URI was invalid. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2512> + +2021-06-03 11:24:53 +0200 Edward Hervey <edward@centricular.com> + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: Clear all streams when rewinding + This avoids sending out partial invalid data downstream which could cause + decoders (ex: `dvdlpmdec`) to error out. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2511> + +2021-08-30 23:26:39 +1000 Jan Schmidt <jan@centricular.com> + + * ext/mpeg2enc/gstmpeg2enc.cc: + * ext/mpeg2enc/gstmpeg2enc.hh: + * ext/mpeg2enc/gstmpeg2encpicturereader.cc: + mpeg2enc: Only allow 1 pending frame for encoding + Having an unlimited input queue is very bad if the + encoder can't run at real-time. Eventually it will + consume all RAM. I don't really see any reason to + have more than 1 outstanding encoded frame, so + remove the queue and limit things to 1 pending frame. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2510> + +2021-09-02 22:06:52 +0900 Seungha Yang <seungha@centricular.com> + + * gst/videoparsers/gstvideoparseutils.c: + videoparseutils: Fix for wrong CEA708 minimum size check + The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2507> + +2021-08-05 23:11:26 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * ext/mpeg2enc/gstmpeg2encpicturereader.cc: + mpeg2enc: fix interlace-mode detection + Previously, the code was always assuming progressive input, + fix this by looking at the caps. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2500> + +2021-04-20 20:04:33 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: fix broken header AU emission by base class + This encoder advertises alignment=au as output format, which means + each output frame should contain a full decodable access unit. + The video encoder base class is not aware of our output alignment + and will output spurious buffers with just the SPS/PPS inside when + we call gst_video_encoder_set_headers(), which is broken because + each buffer is supposed to contain a full decodable access unit + in our case. + Just don't tell the base class about our headers, they will be + sent at the beginning of each IDR frame anyway. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478> + +2021-04-20 19:43:53 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: fix header buffer leak + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478> + +2021-04-20 19:11:12 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/openh264/gstopenh264enc.cpp: + openh264enc: fix broken sps/pps header generation + This was putting a truncated SPS into the initial header instead + of the PPS because it was always reading from the beginning of the + bitstream buffer (pBsBuf) and not from the offset where the current + NAL is at in the bitstream buffer (psBsBuf + nal_offset). + This was broken in commit 17113695. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1576 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478> + +2021-08-20 14:34:53 +0200 Edward Hervey <edward@centricular.com> + + * ext/dash/gstdashdemux.c: + dashdemux: Properly initalize GError + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2479> + +2021-08-19 21:56:05 +0900 Seungha Yang <seungha@centricular.com> + + * sys/mediafoundation/gstmfsourcereader.cpp: + * sys/mediafoundation/gstmfutils.cpp: + * sys/mediafoundation/gstmfutils.h: + mfvideosrc: Fix for negative MF stride + Negative stride value can be used in MediaFoundation to inform + whether memory layout is top-down or bottom-up manner. Note that + negative stride is allowed only for RGB, system memory. + See also + https://docs.microsoft.com/en-us/windows/win32/medfound/image-stride + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1646 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2477> + +2021-08-18 11:14:37 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * sys/v4l2codecs/gstv4l2codech264dec.c: + v4l2slh264dec: Fix slice header bit size calculation + The emulation bytes need to be removed as bytes, not bit. This fixes + decoding issues with files that have emulation bytes with the Cedrus + driver. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2472> + +2021-08-04 15:02:01 +0800 He Junyan <junyan.he@intel.com> + + * ext/x265/gstx265enc.c: + x265: Fix a deadlock when failing to create the x265enc. + The GST_ELEMENT_ERROR will call the gst_object_get_path_string and + use gst_object_get_parent to get the full object path name, which + needs to lock the object. But we are already in a locked context and + so this will cause a deadlock, the pipeline can not exit normally. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2460> + +2021-07-21 19:40:17 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * gst/audiolatency/gstaudiolatency.c: + audiolatency: Handle audio buffers with invalid duration + pipewiresrc outputs audio buffers without a valid duration, so we need + to calculate it manually in that case. + Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1438 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2444> + +2021-07-13 21:38:10 +1000 Matthew Waters <matthew@centricular.com> + + * gst/rtmp2/gstrtmp2src.c: + rtmp2src: workaround a GLib race when destroying a GMainContext/GSource + https://gitlab.gnome.org/GNOME/glib/-/issues/803 + Basically, if destruction of a GSource and its associated GMainContext are + not synchronised, Then the GSource destruction can access freed + GMainContext resources and cause a crash. This is not super common but + can happen. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2416> + +2021-07-09 09:09:14 +0100 Philippe Normand <philn@igalia.com> + + * ext/dash/gstdashdemux.c: + dashdemux: Remove duplicate logging call + Follow-up from: + https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2392 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2395> + +2021-07-08 14:46:11 +0100 Philippe Normand <philn@igalia.com> + + * ext/dash/gstdashdemux.c: + dashdemux: Log protection events on corresponding pad + GstDashDemuxStream is not a GstObject, so use its pad as associated object when + emitting log messages. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2392> + +2021-07-08 19:03:06 +0900 Seungha Yang <seungha@centricular.com> + + * sys/mediafoundation/gstmfcapturewinrt.cpp: + * sys/mediafoundation/gstmfsourcereader.cpp: + mfvideosrc: Fix negotiation when interlace-mode is specified + Given caps does not need to be strictly subset of device caps. + Allow accept it if device caps and requested caps can intersect + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2391> + +2021-07-02 13:10:25 +1000 Matthew Waters <matthew@centricular.com> + + * ext/closedcaption/gstccconverter.c: + * tests/check/elements/ccconverter.c: + ccconverter: fix framerate caps negotiation from non-cdp to cdp + We can only convert from non-cdp to cdp within the confines of valid cdp + framerates. The existing caps negotiation code was allowing any + framerate to convert to a cdp output which is incorrect and would hit an + assertion later. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2388> + +2021-06-21 13:23:13 +0200 Edward Hervey <edward@centricular.com> + + * gst/mxf/mxfdemux.c: + * gst/mxf/mxfvanc.c: + mxfvanc: Handle empty ANC essence + Not having any *actual* ANC is totally fine and common usage with several MXF + variants. + In order to properly advance the streams, the essence handler returns an empty + GAP buffer which gets converted to a GST_EVENT_GAP. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2387> + +2021-06-30 13:56:49 +0900 youngsoo.lee <youngsoo15.lee@gmail.com> + + * gst-libs/gst/opencv/meson.build: + opencv: Fix build error on macOS + The build fails on macos with the following error: + /usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std' + Mat_(std::initializer_list<_Tp> values); + fatal error: too many errors emitted, stopping now [-ferror-limit=] + 35 warnings and 20 errors generated. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2386> + +2021-06-10 11:42:24 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/mpegtsmux/gstbasetsmux.c: + tsmux: When selecting random PIDs, name the pads according to those PIDs + Some elements will make use of the automatically generated names to + create new pads in future muxer instances, for example splitmuxsink. + Previously we would've created a pad with a random pid that would become + "sink_0", and then on a new muxer instance a pad "sink_0" and tsmux + would've then failed because 0 is not a valid PID. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2358> + +2021-06-10 11:36:43 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst/mpegtsmux/gstbasetsmux.c: + tsmux: Recheck existing pad PIDs when requesting a new pad with a random pid + Previously pads might have been requested already (e.g. in NULL state), + then reset was called (e.g. because changing state) and then a new pad + was requested. Resetting is re-creating the internal muxer object and as + such resetting the pid counter, so the next requested pad would get the + same pid as the first requested pad which then leads to collisions. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2357> + +2021-06-17 01:00:33 +0900 Seungha Yang <seungha@centricular.com> + + * gst/videoparsers/gsth264parse.c: + * gst/videoparsers/gsth265parse.c: + h264parse,h265parse: Push parameter set NAL units again per segment-done + Some decoder implementations might drain out internal buffers and + reset its status on segment-done event. So, in case that + upstream stream-format is packetized but downstream supports only + byte-format, required codec-data might not be forwarded toward + downstream if such parameter set NAL units don't exist in inband + bitstream. Therefore, parse elements should re-send parameter set NAL + units like the case of flush event. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2351> + +2021-06-15 21:36:43 +0800 He Junyan <junyan.he@intel.com> + + * gst/videoparsers/gsth265parse.c: + h265parse: Fix a typo in get_compatible_profile_caps(). + The GST_H265_PROFILE_MAIN_444_10 profile should be compatible with + GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_444_10, not the current + GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_10. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2350> + +2021-06-02 14:17:13 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * ext/wayland/wlwindow.c: + waylandsink: Fix for missing initial configure + We were doing our initial "empty" commit on the subsurface instead of the + toplevel surface. As an incidence, we should not have received a configure + event ever, not just on mutter. This fixes the following warning when using + mutter compositor (aka gnome-shell): + waylandsink wlwindow.c:304:gst_wl_window_new_toplevel: The compositor did not send configure event. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2300> + +2021-05-25 20:21:34 +0900 Seungha Yang <seungha@centricular.com> + + * gst/interlace/gstinterlace.c: + interlace: Don't set field-order field for progressive caps + That would cause negotiation issue + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2293> + +2021-05-25 19:47:28 +0900 Seungha Yang <seungha@centricular.com> + + * gst/interlace/gstinterlace.c: + interlace: Drop framerate from query caps of sinkpad + Query caps should return caps which represent the element can accept, + not resulting format. + Fixing negotiation error with + gst-launch-1.0 videotestsrc ! video/x-raw,framerate=25/1 ! interlace field-pattern=0 ! fakesink + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2293> + +2021-05-20 15:39:39 +0900 Seungha Yang <seungha@centricular.com> + + * gst/audiolatency/gstaudiolatency.c: + audiolatency: Drop incoming downstream stick events + stream-start, caps, and segment events will be pushed by internal + audiotestsrc element. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2271> + +2021-05-20 15:28:13 +0900 Seungha Yang <seungha@centricular.com> + + * gst/audiolatency/gstaudiolatency.c: + audiolatency: Use live mode audiotestsrc + Expected use case of audiolatency element is that mimic audio capture + device which is most likely live source. So audiolatency element + should use live mode as well. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2271> + +2021-05-15 00:39:57 +0900 Seungha Yang <seungha@centricular.com> + + * gst/interlace/gstinterlace.c: + interlace: Fix too small buffer size error + Even though input/output resolutions are identical there, default + buffer size of progressive and interleaved formats could be different + because we are rounding up height of all plane of interlaced frame + to be multiple of two. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2270> + +2021-05-07 11:13:06 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> + + * gst/rtp/gstrtpsrc.c: + rtpsrc: Plug leak of rtcp_send_addr + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2251> + +2021-05-07 11:13:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> + + * gst/rtp/gstrtpsink.c: + rtpsink: Return proper pad from _request_new_pad + Bizarrely, it returned a pad from the child rtpbin. I noticed because + our application leaked the implicitly created ghost pad. Make an + explicit ghost pad so this works properly. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2250> + +2021-05-07 11:12:39 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> + + * gst/rist/gstristsrc.c: + rist: Plug leak of rtcp_send_addr + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2248> + +2021-05-05 12:34:38 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * gst/videoparsers/gsth265parse.c: + h265parse: don't invalidate the last PPS when parsing a new SPS + This is a port of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2019 + to h265parse. + When a SPS is received then any previous PPS remains valid. So don't clear + the PPS flag from the parser state. + This is important because there are encoders that don't generated a PPS after + every SPS. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2245> + +2021-01-28 12:28:03 +0100 Michael Olbrich <m.olbrich@pengutronix.de> + + * gst/videoparsers/gsth264parse.c: + * tests/check/elements/h264parse.c: + h264parse: don't invalidate the last PPS when parsing a new SPS + When a SPS is received then any previous PPS remains valid. So don't clear + the PPS flag from the parser state. + This is important because there are encoders that don't generated a PPS after + every SPS. + Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/571 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2243> + +2021-04-24 10:43:47 +0000 Antonio Rojas <arojas@archlinux.org> + + * ext/openexr/gstopenexrdec.cpp: + Fix build with OpenEXR 3 + Add a header that is no longer transitively included + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2216> + +2021-03-30 12:39:21 -0400 Olivier Crête <olivier.crete@collabora.com> + + * gst/jpegformat/gstjpegparse.c: + jpegparse: Don't generate timestamp for 0/1 framerates + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2202> + +2021-04-23 10:02:29 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ext/webrtc/sctptransport.c: + Revert "webrtc: Fix sctp task's return type." + This reverts commit 1407a433cce82e0d3ca44e6413a747cd257f6cc8. + The earlier function signature change this goes with (!2104 ) + was not backported. + +2021-04-22 16:09:40 -0400 Doug Nazar <nazard@nazar.ca> + + * ext/webrtc/sctptransport.c: + webrtc: Fix sctp task's return type. + GstWebRTCBinFunc expects a GstStructure* return type. + Fixes segfault on PowerPC. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2189> + +2021-04-21 21:43:59 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst/mpegtsdemux/tsdemux.c: + tsdemux: fix truncated output segment when seeking with a stop + In disabling the stop adjustment for negative rates in + 03031037fafd2d535bbefb1fdf6024b5d1159043 , two instructions + were inverted resulting in the stop always being adjusted by + 0 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2184> + +2021-04-15 14:06:59 -0400 Thibault Saunier <tsaunier@igalia.com> + + * ext/wpe/WPEThreadedView.cpp: + wpe: Remove code targeting WebKit < 2.24 + We already depend on wk >= 2.24 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2167> + +2021-04-15 13:28:42 -0400 Thibault Saunier <tsaunier@igalia.com> + + * ext/wpe/WPEThreadedView.cpp: + wpe: Make threaded view singleton creation thread safe + It was leading to interesting failures. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2167> + +2021-04-14 01:59:23 -0400 Doug Nazar <nazard@nazar.ca> + + * tests/check/elements/dash_mpd.c: + check: fix dash_mpdparser_check_mpd_client_set_methods test. + Setting guint64 valist properties without type specifier fails + on 32bit archs. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2162> + +2021-03-22 14:34:36 +1100 Matthew Waters <matthew@centricular.com> + + * ext/colormanagement/gstlcms.c: + * ext/curl/gstcurlqueue.h: + * ext/iqa/iqa.c: + * ext/opencv/gstcvdilateerode.cpp: + * ext/openjpeg/gstopenjpegenc.c: + * ext/resindvd/rsndec.c: + * ext/sctp/sctpassociation.c: + * ext/ttml/subtitlemeta.c: + * ext/wildmidi/gstwildmididec.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + * gst-libs/gst/audio/gstnonstreamaudiodecoder.c: + * gst-libs/gst/codecparsers/gstmpegvideometa.c: + * gst-libs/gst/sctp/sctpreceivemeta.c: + * gst-libs/gst/sctp/sctpsendmeta.c: + * gst-libs/gst/vulkan/android/gstvkwindow_android.c: + * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m: + * gst-libs/gst/vulkan/gstvkbuffermemory.c: + * gst-libs/gst/vulkan/gstvkcommandbuffer.c: + * gst-libs/gst/vulkan/gstvkdescriptorset.c: + * gst-libs/gst/vulkan/gstvkdevice.c: + * gst-libs/gst/vulkan/gstvkdisplay.c: + * gst-libs/gst/vulkan/gstvkfence.c: + * gst-libs/gst/vulkan/gstvkhandle.c: + * gst-libs/gst/vulkan/gstvkimagememory.c: + * gst-libs/gst/vulkan/gstvkimageview.c: + * gst-libs/gst/vulkan/gstvkinstance.c: + * gst-libs/gst/vulkan/gstvkmemory.c: + * gst-libs/gst/vulkan/gstvkphysicaldevice.c: + * gst-libs/gst/vulkan/gstvkqueue.c: + * gst-libs/gst/vulkan/gstvktrash.c: + * gst-libs/gst/vulkan/gstvkutils.c: + * gst-libs/gst/vulkan/gstvkwindow.c: + * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m: + * gst-libs/gst/vulkan/vulkan_mkenum.py: + * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c: + * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c: + * gst/camerabin2/gstcamerabin2.c: + * gst/debugutils/gstfakevideosink.c: + * gst/mxf/mxfmetadata.c: + * gst/netsim/gstnetsim.c: + * gst/rtmp2/rtmp/amf.c: + * gst/rtmp2/rtmp/rtmpchunkstream.c: + * gst/rtmp2/rtmp/rtmpclient.c: + * gst/rtmp2/rtmp/rtmphandshake.c: + * gst/rtmp2/rtmp/rtmpmessage.c: + * gst/segmentclip/gstsegmentclip.c: + * sys/androidmedia/gstamcaudiodec.c: + * sys/androidmedia/gstamcvideodec.c: + * sys/androidmedia/gstamcvideoenc.c: + * sys/applemedia/coremediabuffer.c: + * sys/applemedia/corevideobuffer.c: + * sys/applemedia/corevideomemory.c: + * sys/applemedia/iosglmemory.c: + * sys/applemedia/iosurfaceglmemory.c: + * sys/applemedia/iosurfacevulkanmemory.c: + * sys/bluez/gstavdtpsrc.h: + * sys/d3d11/gstd3d11decoder.c: + * sys/d3d11/gstd3d11device.c: + * sys/d3d11/gstd3d11shader.c: + * sys/d3d11/gstd3d11utils.c: + * sys/d3d11/gstd3d11videoprocessor.c: + * sys/d3d11/gstd3d11window.cpp: + * sys/d3d11/gstd3d11window_win32.cpp: + * sys/ipcpipeline/gstipcpipelinecomm.c: + * sys/msdk/gstmsdkcontextutil.c: + * sys/nvcodec/gstcudacontext.c: + * sys/nvcodec/gstcudautils.c: + * sys/nvcodec/gstnvbaseenc.h: + * sys/opensles/openslescommon.c: + * sys/va/gstvaallocator.c: + * sys/va/gstvautils.c: + * sys/wasapi/gstwasapiutil.c: + * sys/wasapi2/gstwasapi2client.cpp: + * sys/winscreencap/dxgicapture.c: + * tests/check/libs/vkimage.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-bad/-/merge_requests/2155> + +2021-04-07 07:48:57 -0400 Doug Nazar <nazard@nazar.ca> + + * gst/rtmp2/rtmp/rtmpmessage.c: + rtmp2: Use correct size of write macro for param2. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2147> + +2021-03-26 12:20:07 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> + + * gst/rtmp2/rtmp/rtmpconnection.c: + rtmp2/connection: Separate inner from outer cancelling + The connection cancels itself when it is closed. To avoid the + cancellable passed to `gst_rtmp_connection_new` from being unexpectedly + cancelled, separate inner from outer cancellation by holding two + cancellables. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1558 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2119> + +2021-03-25 03:24:11 +0900 Seungha Yang <seungha@centricular.com> + + * sys/mediafoundation/gstmfvideoenc.cpp: + mfvideoenc: Don't pass 0/1 framerate to MFT + Some MFT implementations do not accept 0/1 framerate and it will + result in encoder open failure. If framerate is unknown, + we will use arbitrary 25/1 framerate value. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2109> + +2021-03-23 19:19:14 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/codecparsers/gsth264parser.c: + * gst-libs/gst/codecparsers/gsth265parser.c: + * tests/check/libs/h264parser.c: + * tests/check/libs/h265parser.c: + h2645parser: Catch overflows in AVC/HEVC NAL unit length calculations + Offset and size are stored as 32 bit guint and might overflow when + adding the nal_length_size, so let's avoid that. + For the size this would happen if the AVC/HEVC NAL unit size happens to + be stored in 4 bytes and is 4294967292 or higher, which is likely + corrupted data anyway. + For the offset this is something for the caller of these functions to + take care of but is unlikely to happen as it would require parsing on a + >4GB buffer. + Allowing these overflows causes all kinds of follow-up bugs in the + h2645parse elements, ranging from infinite loops and memory leaks to + potential memory corruptions. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2107> + +2021-03-15 19:49:19 +0000 Tim-Philipp Müller <tim@centricular.com> + + * meson.build: + Back to development + === release 1.18.4 === 2021-03-15 17:49:16 +0000 Tim-Philipp Müller <tim@centricular.com> @@ -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. @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-bad 1.18.4. +This is GStreamer gst-plugins-bad 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/gst-plugins-bad.doap b/gst-plugins-bad.doap index d9a12c75b1..dcb2a1ee5d 100644 --- a/gst-plugins-bad.doap +++ b/gst-plugins-bad.doap @@ -35,6 +35,16 @@ real live maintainer, or some actual wide use. <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-bad/gst-plugins-bad-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 e456c32da4..d43229f612 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-bad', 'c', 'cpp', - version : '1.18.4.1', + version : '1.18.5', meson_version : '>= 0.49', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) |