=== 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>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.18.4

2021-03-08 14:30:52 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* tests/check/elements/interlace.c:
	* tests/check/meson.build:
	  tests: Add negotiation tests for the interlace elements
	  Many complicated cases exist. Would be good to have some checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2067>

2021-03-08 20:59:14 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/interlace/gstinterlace.c:
	  interlace: Discard stored_frame on EOS and PAUSED_TO_READY
	  Would otherwise leak it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2067>

2021-03-08 16:16:25 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* docs/plugins/gst_plugins_cache.json:
	* gst/interlace/gstinterlace.c:
	  interlace: Specify interlace-modes in the sink pad template
	  Especially specify the field-order in the interleaved mode. Otherwise it
	  might cause the negotiation to fail, because
	  GST_PAD_SET_ACCEPT_INTERSECT is not set on the sinkpad, and the
	  field-order is missing in the sink template but can be present in the
	  outside caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2067>

2021-03-10 13:10:28 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* gst/videoparsers/gstmpegvideoparse.c:
	  mpegvideoparse: do not clip the frame
	  If the current buffer is delta unit such as P or B
	  frame, the buffer should not be clipped and need to
	  let the decoder handle the segment boundary situation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2070>

2021-03-09 13:00:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gstavwait.c:
	  avwait: Don't post messages with the mutex locked
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2068>

2021-03-07 16:47:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264dec.c:
	  nvh264sldec: Reopen decoder object if larger DPB size is required
	  Equivalent to the d3d11h264dec fix
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1839
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2060>

2021-03-04 17:42:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11h264dec.c:
	  d3d11h264dec: Keep track of actually configured DPB size
	  ... instead of the largest we ever seen.
	  Note that d3d11h264dec element holds previously configured DPB size
	  for later decoder object re-open decision.
	  This is to fix below case:
	  1) Initial SPS, required DPB size is 6
	  - decoder object is opened with DPB size 6
	  - max_dpb_size is now 6
	  2) SPS update with resolution change, required DPB size is 1
	  - decoder object is re-opened with DPB size 1
	  - max_dpb_size should be updated to 1, but it didn't happen (BUG)
	  3) SPS update without resolution change, only required DPB size is updated to 6
	  - decoder object should be re-opened but didn't happen
	  because we didn't update max_dpb_size at 2).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2057>

2020-11-26 05:55:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11h264dec.c:
	  d3d11h264dec: Reconfigure decoder object on DPB size change
	  Even if resolution and/or bitdepth is not updated, required
	  DPB size can be changed per SPS update and it could be even
	  larger than previously configured size of DPB. If so, we need
	  to reconfigure DPB d3d11 texture pool again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2057>

2021-03-01 16:23:37 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsdemux/mpegtsparse.c:
	  mpegtsparse: Fix switched DTS/PTS when set-timestamps=false
	  Fixes 30ee21eae36e7279f63b77167ba1dcf5f70b8e83.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2049>

2021-02-26 16:36:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Use correct numerator for 29.97fps
	  It's not 0.2997fps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2043>

2021-02-26 11:39:10 +0100  Edward Hervey <edward@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	  decklinksrc: Use a more accurate capture time
	  Use the hardware reference clock time when the frame was finished being captured
	  instead of a time much further down the road.
	  This improves the stability/accuracy of buffer times.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2041>

2021-02-24 16:57:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/vkcolorconvert.c:
	* ext/vulkan/vkviewconvert.c:
	  vulkan: Fix elements long name.
	  Fix vkcoloconvert and vkviewconvert long names.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2036>

2021-02-19 00:03:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/sdp/gstsdpsrc.c:
	  sdpsrc: fix double free if sdp is provided as string via the property
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1532
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2027>

2021-01-29 02:09:05 -0500  Staz M <staz@staz.io>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fixed decklinkvideosink auto format detection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1998>

2021-01-20 18:16:17 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/dash/gstmpdhelper.c:
	  dashsink: fix double unref of sinkpad caps
	  no need to unref caps in gst_mpd_helper_get_XXX_codec_from_mime
	  it will be unref in caller gst_dash_sink_get_stream_metadata()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1991>

2021-01-18 19:23:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.c:
	  d3d11videosink: Fix build error on UWP
	  gstd3d11videosink.c(662): error C2065: 'sink': undeclared identifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1972>

2021-01-14 02:17:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.3 ===

2021-01-13 21:11:22 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.18.3

2020-12-21 14:06:53 +0530  Raju Babannavar <raju.babannavar@gmail.com>

	* gst/dvbsuboverlay/dvb-sub.c:
	  dvbsuboverlay: Add support for dynamic resolution update.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1487
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1954>

2020-12-16 18:32:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkaudiosrc.cpp:
	  decklinkaudiosrc: Fix duration of the first audio frame after each discont
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1891>

2020-12-30 22:52:01 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/dash/gstdashsink.c:
	* ext/dash/gstmpdrootnode.c:
	  dashsink: fix critical log when exit dynamic pipeline
	  availability-start-time and publish-time shared the same
	  GstDateTime object, this object will be unref twice and
	  cause reference count issue. Should use g_value_dup_boxed()
	  to copy this object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1932>

2020-12-29 09:41:05 +0800  Haihao Xiang <haihao.xiang@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: needn't close mfx session when failed
	  Otherwise we will get double free issue because mfx session is closed in
	  finalize. See
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1867#note_739346
	  for the double free issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1927>

2020-12-10 11:11:04 +0800  Haihao Xiang <haihao.xiang@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/msdk.c:
	  msdk: check GstMsdkContext instead of mfxSession instance
	  When creating a GstMsdkContext instance, it also creates a mfxSession
	  instance, so we may check GstMsdkContext instead of mfxSession instance
	  to make sure MSDK is available. In addition, according to MSDK doc [1],
	  MFXVideoCORE_SetHandle function should be executed before any actual
	  usage of library including queries, otherwise the behavior is
	  unexpected, so we should call MFXVideoCORE_QueryPlatform after
	  MFXVideoCORE_SetHandle on Linux
	  [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#working-with-va-api-applications
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1921>

2020-12-28 04:33:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11shader.c:
	  d3d11shader: Fix ID3DBlob object leak
	  Even if HLSL compiler was able to compile our shader code, D3DCompile()
	  might return ID3DBlob object for compile warnings and the object
	  should be released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1922>

2020-12-29 13:15:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/assrender/gstassrender.c:
	  assrender: Don't try unlocking unlocked mutex
	  When flushing right at the beginning of the video chain function or
	  when failing negotiation at the top of the function, the assrender mutex
	  would be unlocked without being previously locked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1923>

2020-12-20 22:12:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.c:
	  d3d11videosink: Prepare window once streaming started
	  ... instead of READY state. READY state is too early for setting
	  overlay window handle especially playbin/playsink scenario
	  since playsink will set given overlay handle on videosink once
	  READY state change of videosink is ensured.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1905>

2020-12-10 15:37:14 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>

	* gst/inter/gstintervideosrc.c:
	  intervideosrc: fix negotiation of interlaced caps
	  In 1.0 the field in caps is called "interlace-mode", not "interlaced".
	  Fixes #1480
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1878>

2020-12-07 14:54:28 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Don't take object lock calling gst_srt_object_get_stats
	  This function takes the sock lock. This can result in a deadlock when
	  another thread holding the sock lock is trying to take the object lock.
	  Thread A (Holds object lock, wants sock lock):
	  #2  gst_srt_object_get_stats at gst-plugins-bad/ext/srt/gstsrtobject.c:1753
	  #3  gst_srt_object_get_property_helper at gst-plugins-bad/ext/srt/gstsrtobject.c:409
	  #4  gst_srt_sink_get_property at gst-plugins-bad/ext/srt/gstsrtsink.c:95
	  #5  g_object_get_property from libgobject-2.0.so.0
	  Thread B (Holds sock lock, wants object lock):
	  #2  gst_element_post_message_default at gstreamer/gst/gstelement.c:2069
	  #3  gst_element_post_message at gstreamer/gst/gstelement.c:2123
	  #4  gst_element_message_full_with_details at gstreamer/gst/gstelement.c:2259
	  #5  gst_element_message_full at gstreamer/gst/gstelement.c:2298
	  #6  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1407
	  #7  gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
	  #8  gst_srt_object_write_to_callers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444
	  #9  gst_srt_object_write at gst-plugins-bad/ext/srt/gstsrtobject.c:1598
	  #10 gst_srt_sink_render at gst-plugins-bad/ext/srt/gstsrtsink.c:179
	  Fixes d2d00e07acc2b1ab1ae5a728ef5dc33c9dee7869.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1863>

2020-12-04 17:02:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	* gst/rtmp2/rtmp/rtmpconnection.h:
	  rtmp2/connection: pass the parent cancellable down to the connection
	  Otherwise, when rtpm2src cancels an inflight operation that has a queued
	  message stored, then the rtmp connection operation is not stopped.
	  If the cancellation occurs during rtmp connection start up, then
	  rtpm2src does not have any way of accessing the connection object as it
	  has not been returned yet.  As a result, rtpm2src will cancel, the
	  connection will still be processing things and the
	  GMainContext/GMainLoop associated with the outstanding operation will be
	  destroyed.  All outstanding operations and the rtmpconnection object will
	  therefore be leaked in this case.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1425
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1865>

2020-12-06 23:57:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.2 ===

2020-12-06 13:24:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.18.2

2020-08-25 14:56:50 +0100  Chris Bass <floobleflam@gmail.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1859>

2020-08-25 14:54:31 +0100  Chris Bass <floobleflam@gmail.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1859>

2020-12-03 14:12:06 +0100  Edward Hervey <edward@centricular.com>

	* ext/hls/gsthlsdemux.c:
	  hlsdemux: Use actual object for logging
	  i.e. the pad of the stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1858>

2020-12-03 06:55:00 -0500  Arun Raghavan <arun@asymptotic.io>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1857>

2020-11-10 14:48:28 +0100  Edward Hervey <edward@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1819>

2020-11-09 11:41:10 +0100  Edward Hervey <edward@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1819>

2020-11-05 13:48:27 +0200  Edward Hervey <edward@centricular.com>

	* 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 <vivia@ahiru.eu>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1849>

2020-12-02 09:39:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1847>

2020-12-02 15:08:44 +0000  Nicolas Dufresne <nicolas@ndufresne.ca>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  Revert "v4l2codecs: decoder: Unmark previously pending request"
	  This reverts commit a3e6d9fc24098fc27fa3fb10c4d189fa61e67500
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1848>

2020-11-05 17:14:22 +0000  Philippe Normand <philn@igalia.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1834>

2020-11-11 18:21:25 +0900  Seungha Yang <seungha@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1831>

2020-11-09 18:27:14 +0100  Edward Hervey <edward@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1787>

2020-11-13 17:50:03 +0100  Edward Hervey <edward@centricular.com>

	* 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1820>

2020-11-10 14:48:28 +0100  Edward Hervey <edward@centricular.com>

	* 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
