Release 1.17.1
authorTim-Philipp Müller <tim@centricular.com>
Fri, 19 Jun 2020 18:22:18 +0000 (19:22 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 19 Jun 2020 18:22:22 +0000 (19:22 +0100)
ChangeLog
NEWS
RELEASE
docs/plugins/gst_plugins_cache.json
gst-plugins-bad.doap
meson.build

index c0afef6..9b4abb9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.17.1 ===
+
+2020-06-19 19:22:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-bad.doap:
+       * meson.build:
+         Release 1.17.1
+
+2020-06-19 17:20:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/srt/gstsrt.c:
+         srt: add "empty" subclasses for deprecated srt{client,server}{src,sink}
+         The doc system gets confused when we register the exact same
+         class as multiple elements, so make a subclass for each.
+         Also wrap registration of deprecated elements with #ifndef GST_REMOVE_DEPRECATED.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 15:31:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/x265/gstx265enc.c:
+         x265: ignore tune property when diffing generated docs
+         Unfortunately it means those tune enums don't show up in
+         the docs then, but if that's how it's gotta be..
+         (Problem at hand is that on Tim's machine x265enc gets an
+         tune=animation and on the CI machine this doesn't show up.)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 13:08:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: update plugins cache
+         Add some more plugins, update for new markers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 13:05:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/openni2/gstopenni2src.cpp:
+         Mark more plugin GTypes as plugin API
+         To appease the CI gods.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-17 09:31:09 +0200  Antonio Ospite <ao2@ao2.it>
+
+       * tools/gst-project-maker:
+         gst-project-maker: use $0 for the program name in usage and help text
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2020-01-17 17:49:47 +0100  Antonio Ospite <ao2@ao2.it>
+
+       * tools/gst-project-maker:
+         gst-project-maker: set up a meson project instead of an autotools one
+         Now that autotools has been removed generate a meson project template in
+         gst-project-maker.
+         There are some differences with the autotools project
+         1. gstreamer-controller-1.0 is not added to the default dependencies.
+         2. The '-Wall' option is not set explicitly, meson can handle that.
+         3. The flags in GST_PLUGIN_LDFLAGS have not been ported to meson as
+         they are not necessary anymore.
+         The generated project requires meson 0.53.0 for the 'fs' module. It's up
+         to the user to remove that part in case compatibility with older
+         versions of meson is desired.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2019-02-01 17:05:23 +0100  Antonio Ospite <ao2@ao2.it>
+
+       * tools/gst-project-maker:
+         gst-project-maker: fix comment referring to plug-in instead of program
+         Fix the comment in $basedir/tools/Makefile.am which wrongly refers to
+         plug-in while the file in tool/ is about the executable program.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2019-02-01 17:04:19 +0100  Antonio Ospite <ao2@ao2.it>
+
+       * tools/gst-app-maker:
+         gst-app-maker: fix program name and arguments in usage text and help text
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2020-06-16 00:12:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfvideosrc.c:
+         mfvideosrc: Add support for jpeg on Win32 application
+         Enable reading jpeg data from webcam if it's supported.
+         Note that this would be enabled only for Win32.
+         For UWP, we need to research more about how to support jpeg.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-16 00:11:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+         mfvideosrc: Fix wrong casting
+         Don't cast ISoftwareBitmap to IMFMediaBuffer
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-14 04:12:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+         mfvideosrc: Add support YUY2 format for UWP
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-14 03:13:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfcaptureengine.h:
+       * sys/mediafoundation/gstmfdevice.c:
+       * sys/mediafoundation/gstmfvideosrc.c:
+       * sys/mediafoundation/meson.build:
+         mediafoundation: Drop IMFCaptureEngine implementation
+         It was introduced for later use of its enhanced feature over IMFSourceReader
+         such as taking photo with video preview, audio/video capturing at
+         the same time, etc. But currently it's not our use case, and it would
+         be maintenance burden.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-17 10:57:00 +0900  Hosang Lee <hosang10.lee@lge.com>
+
+       * ext/smoothstreaming/gstmssdemux.c:
+         mssdemux: ignore unrecognized stream
+         Only create pads for steams with caps that can be recognized
+         from the fourcc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1348>
+
+2020-04-07 21:47:22 +1000  Jan Schmidt <jan@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/dvbsubenc/gstdvbsubenc-util.c:
+       * gst/dvbsubenc/gstdvbsubenc.c:
+       * gst/dvbsubenc/gstdvbsubenc.h:
+       * gst/dvbsubenc/libimagequant/CHANGELOG:
+       * gst/dvbsubenc/libimagequant/COPYRIGHT:
+       * gst/dvbsubenc/libimagequant/README.md:
+       * gst/dvbsubenc/libimagequant/blur.c:
+       * gst/dvbsubenc/libimagequant/blur.h:
+       * gst/dvbsubenc/libimagequant/libimagequant.c:
+       * gst/dvbsubenc/libimagequant/libimagequant.h:
+       * gst/dvbsubenc/libimagequant/mediancut.c:
+       * gst/dvbsubenc/libimagequant/mediancut.h:
+       * gst/dvbsubenc/libimagequant/mempool.c:
+       * gst/dvbsubenc/libimagequant/mempool.h:
+       * gst/dvbsubenc/libimagequant/nearest.c:
+       * gst/dvbsubenc/libimagequant/nearest.h:
+       * gst/dvbsubenc/libimagequant/pam.c:
+       * gst/dvbsubenc/libimagequant/pam.h:
+       * gst/dvbsubenc/libimagequant/viter.c:
+       * gst/dvbsubenc/libimagequant/viter.h:
+       * gst/dvbsubenc/meson.build:
+       * gst/meson.build:
+       * meson_options.txt:
+         dvbsubenc: Add DVB Subtitle encoder
+         Add an element that converts AYUV video frames to a DVB
+         subpicture stream.
+         It's fairly simple for now. Later it would be good to support
+         input via a stream that contains only GstVideoOverlayComposition
+         meta.
+         The element searches each input video frame for the largest
+         sub-region containing non-transparent pixels and encodes that
+         as a single DVB subpicture region. It can also do palette
+         reduction of the input frames using code taken from
+         libimagequant.
+         There are various FIXME for potential improvements for now, but
+         it works.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1227>
+
+2020-06-16 19:26:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11utils.c:
+         d3d11: Don't assume response of context query has valid d3d11 device context
+         Peer elements should return FALSE if d3d11 device context is unavailable
+         but it might happen for some reason (e.g., wrong implementation or so)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1347>
+
+2020-06-15 21:10:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Disable zero-copy for blacklisted device
+         Should enable it for verified devices. For now, Xbox is blacklisted
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:34:49 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Adjust alignment constraint for Xbox device
+         XBox doesn't seem to support 128 bytes alignment for 4K HEVC
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:18:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Do not configure video processor for Xbox device
+         Disable video processor for Xbox until it's verified
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:07:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+         d3d11utils: Add a helper method for checking Xbox device
+         Required for some cases to work around device specific issue
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:11:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Use GPU memory copy if possible
+         Even if fallback buffer is required (e.g., shader resource view is unavailable),
+         use direct GPU memory copy if possible. It must be much faster than
+         system memory copy approach.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:44:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Ensure shader resource view of fallback buffer
+         SRV must be configured for color conversion
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:08:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Fix typo "configureed"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2019-11-21 13:50:21 +0900  Jun-ichi OKADA <okada@abt.jp>
+
+       * sys/winscreencap/dxgicapture.c:
+       * sys/winscreencap/dxgicapture.h:
+       * sys/winscreencap/gstdxgiscreencapsrc.c:
+       * sys/winscreencap/gstdxgiscreencapsrc.h:
+       * sys/winscreencap/gstwinscreencap.c:
+       * sys/winscreencap/meson.build:
+         winscreencap: Add dxgiscreencapsrc element.
+         This element uses the Desktop Duplication API to capture the desktop screen at high speed.
+         It supports Windows 8 or later.
+         It has the following features compared to other elements:
+         * Runs faster.
+         * It works in High DPI environment.
+         * Draws an accurate mouse cursor.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/863>
+
+2020-05-14 11:03:49 +0800  Xu Guangxin <guangxin.xu@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+       * sys/msdk/gstmsdkvc1dec.c:
+         msdkdec: hold a reference for the surfaces locked by msdk
+         previous code releases GstBuffer too earlier. so we will see
+         ERROR                default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
+         ERROR         msdkbufferpool gstmsdkbufferpool.c:270:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool0> failed to create new MSDK memory
+         We need to hold GstBuffer reference for msdk if the surfaced locked by msdk.
+         step to reproduce.
+         1. ffmpeg -f lavfi -i testsrc=duration=10:size=320x240:rate=30 -pix_fmt yuv420p -c:v libx265 test.265
+         2. GST_GL_PLATFORM=egl  gst-launch-1.0 -v filesrc location=test.265  ! h265parse ! msdkh265dec  ! queue ! glimagesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1277>
+
+2020-06-12 15:48:14 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/ayuv_to_rgb.frag:
+       * ext/vulkan/shaders/bin2array.py:
+       * ext/vulkan/shaders/color_convert_generic.glsl:
+       * ext/vulkan/shaders/identity.frag:
+       * ext/vulkan/shaders/identity.vert:
+       * ext/vulkan/shaders/nv12_to_rgb.frag:
+       * ext/vulkan/shaders/rgb_to_ayuv.frag:
+       * ext/vulkan/shaders/rgb_to_nv12.frag:
+       * ext/vulkan/shaders/rgb_to_yuy2.frag:
+       * ext/vulkan/shaders/swizzle.frag:
+       * ext/vulkan/shaders/swizzle.glsl:
+       * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+       * ext/vulkan/shaders/upsample_ayuv.glsl:
+       * ext/vulkan/shaders/upsample_nv12.glsl:
+       * ext/vulkan/shaders/upsample_yuy2.glsl:
+       * ext/vulkan/shaders/view_convert.frag:
+       * ext/vulkan/shaders/view_defines.h:
+       * ext/vulkan/shaders/yuy2_to_rgb.frag:
+         vulkan/shaders: add explicit license headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338>
+
+2020-06-12 15:47:01 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/bin2array.py:
+         vulkan/shaders: manually indent bin2array
+         Looks much nicer with some semblance of code formatting
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338>
+
+2020-06-12 04:59:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265picture.c:
+         codecs: h265picture: Don't leak pic_list GArray
+         Equivalent to the commit 7b8c071f9c4a675f6b53e373c346d9e1f866f818
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1337>
+
+2020-06-11 19:35:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/meson.build:
+       * gst/yadif/gstyadif.c:
+       * gst/yadif/gstyadif.h:
+       * gst/yadif/meson.build:
+       * gst/yadif/vf_yadif.c:
+       * gst/yadif/yadif.c:
+       * gst/yadif/yadif_template.c:
+       * meson_options.txt:
+         yadif: remove plugin, there's now deinterlace method=yadif
+         Plugin code was still the GPL version, and the
+         functionality has now been moved into the deinterlace
+         element in gst-plugins-good as method=yadif (and LGPL).
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444
+         and https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621
+         Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/216
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/463
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1336>
+
+2020-06-11 01:47:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2client.cpp:
+         wasapi2: Fallback to IAudioClient interface if IAudioClient3 API is unavailable
+         When default device is selected, IAudioClient3 API doesn't look like
+         available.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1332>
+
+2020-06-11 13:50:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Fix crash with empty caps in setcaps
+         If the src_peer_caps are EMPTY (e.g. negotiation failed somewhere), the
+         assertion inside gst_video_info_from_caps would fail and the whole
+         pipeline would crash. Check for gst_caps_is_empty before
+         gst_video_info_from_caps and gracefully fail if it's empty.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1333>
+
+2020-06-09 22:38:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi/gstwasapisink.c:
+       * sys/wasapi/gstwasapisink.h:
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapisrc.h:
+         wasapi: Fix possible deadlock while downwards state change
+         IAudioClient::Stop() doesn't seem to wake up the event handle,
+         then read() or write() could be blocked forever by WaitForSingleObject.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1329>
+
+2020-06-09 15:31:56 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins cache
+
+2020-06-09 10:53:17 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/wayland/wldisplay.c:
+         waylandsink: add wl_registry.global_remove listener
+         when hotplug display, wayland client will call this listener
+         to notify client do clean up. Temporarily set a dummy function
+         here to avoid app abort
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1327>
+
+2020-06-08 14:56:31 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/srt/gstsrtobject.c:
+         srt: doc: Add missing gst_type_mark_as_plugin_api
+
+2020-06-08 13:03:09 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/lv2/gstlv2utils.c:
+         docs: Mark lv2 runtime generated enums as plugins API types
+
+2020-06-08 12:30:59 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/faac/gstfaac.c:
+       * ext/vulkan/vksink.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+         docs: Add some more plugin API types
+         And allow creating vulkan device object without specifying an instance
+         so it can be introspected.
+
+2020-06-08 09:52:30 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/vulkan/vkviewconvert.c:
+         docs: Update plugins cache
+
+2020-06-09 10:48:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Fix reading mode and start code type
+         These two controls are not pointer based, so we don't need to pass any size or
+         pointer and need to copy the values afterward. This fixes H264 decoding
+         regression with Hantro and RKVDEC drivers.
+         Fixes 037730a787c6cdeeee5779c1834315c1ca764505
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1330>
+
+2020-06-08 23:46:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+         mftransform: Fix deadlock when MFT requests processing output twice
+         This sequence of event/data flow might happen
+         1) Initially we have one pending output event
+         1-1) Then, process the pending output data
+         2) No pending input event, then we should wait new pending input event
+         2-1) Wakeup by new pending event (but it's pending output event)
+         In above case, MFT will not report new pending input event
+         if pending output is not processed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325>
+
+2020-06-08 19:22:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+         mftransform: Add some debug log
+         Add some trace level log for debugging
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325>
+
+2020-05-19 10:27:18 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Handle live duration queries
+         Handle it the same way live sources would, that it by handling the query and
+         return an unknown duration.
+         Fixes #566
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1279>
+
+2020-05-11 01:53:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/elements/wasapi2.c:
+       * tests/check/meson.build:
+         tests: wasapi2: Add unit test for reusing wasapisrc
+         Test state change between playing and null and playing again
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-05-28 05:09:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2device.c:
+       * sys/wasapi2/gstwasapi2device.h:
+       * sys/wasapi2/meson.build:
+       * sys/wasapi2/plugin.c:
+         wasapi2: Add device provider implementation
+         Similar to device provider implementation of wasapi plugin,
+         this implementation supports only static probing.
+         But we can implement runtime device add/remove/update
+         monitoring using DeviceWatcher interface later.
+         See https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.devicewatcher
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-05-26 05:17:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson_options.txt:
+       * sys/meson.build:
+       * sys/wasapi2/AsyncOperations.h:
+       * sys/wasapi2/gstwasapi2client.cpp:
+       * sys/wasapi2/gstwasapi2client.h:
+       * sys/wasapi2/gstwasapi2sink.c:
+       * sys/wasapi2/gstwasapi2sink.h:
+       * sys/wasapi2/gstwasapi2src.c:
+       * sys/wasapi2/gstwasapi2src.h:
+       * sys/wasapi2/gstwasapi2util.c:
+       * sys/wasapi2/gstwasapi2util.h:
+       * sys/wasapi2/meson.build:
+       * sys/wasapi2/plugin.c:
+         wasapi2: Introduce new WASAPI plugin
+         Add a new wasapi implementation mainly to support UWP application.
+         Basically the core logic of this plugin is almost identical to
+         existing wasapi plugin, but main target is Windows 10 (+ UWP).
+         Since this plugin uses WinRT APIs, this plugin most likely might not
+         work Windows 8 or lower.
+         Compared with existing wasapi plugin, additional features of this plugin are
+         * Fully compatible with both Windows 10 desktop and UWP application
+         * Supports automatic stream routing (auto fallback when device was removed)
+         * Support device level mute/volume control
+         But some features of existing wasapi plugin are not implemented
+         in this plugin yet
+         * Exclusive streaming mode is not supported
+         * Loopback feature is not implemented
+         * Cross-compile is not possible with current mingw toolchain
+         (meaning that MSVC and Windows 10 SDK are required to build this plugin)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-06-06 21:15:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Set PAR to output IMFMediaType
+         We've set it to input IMFMediaType but not for output.
+         So, if PAR is not 1:1, the input IMFMediaType will be accepted
+         by MFT (default is 1:1).
+         The PAR of input/output IMFMediaType must be identical
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322>
+
+2020-06-06 21:01:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+         mftransform: Don't try to drain if MFT is not running
+         Otherwise MFT will be blocked forever as no event can be generated by
+         IMFMediaEventGenerator.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322>
+
+2020-06-06 00:40:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/closedcaption/gstceaccoverlay.c:
+       * ext/colormanagement/gstlcms.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/curl/gstcurlsshsink.c:
+       * ext/dash/gstdashsink.c:
+       * ext/dc1394/gstdc1394src.c:
+       * ext/dtls/plugin.c:
+       * ext/mpeg2enc/gstmpeg2encoptions.cc:
+       * ext/mplex/gstmplexjob.cc:
+       * ext/opencv/gstcameracalibrate.cpp:
+       * ext/opencv/gstcvsmooth.cpp:
+       * ext/opencv/gstdewarp.cpp:
+       * ext/opencv/gstdisparity.cpp:
+       * ext/opencv/gstfaceblur.cpp:
+       * ext/opencv/gstfacedetect.cpp:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstsegmentation.cpp:
+       * ext/opencv/gstskindetect.cpp:
+       * ext/openh264/gstopenh264enc.cpp:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/srtp/gstsrtp.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/webp/gstwebpenc.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtcdsp/gstwebrtcdsp.cpp:
+       * ext/x265/gstx265enc.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+       * gst/adpcmenc/adpcmenc.c:
+       * gst/audiomixmatrix/gstaudiomixmatrix.c:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/debugutils/gstchecksumsink.c:
+       * gst/debugutils/gstclockselect.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/fieldanalysis/gstfieldanalysis.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstmirror.c:
+       * gst/interlace/gstinterlace.c:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mxf/mxfmux.c:
+       * gst/netsim/gstnetsim.c:
+       * gst/rawparse/gstaudioparse.c:
+       * gst/rist/gstristsink.c:
+       * gst/rtmp2/gstrtmp2.c:
+       * gst/timecode/gstavwait.c:
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/yadif/gstyadif.c:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/uvch264/gstuvch264_src.c:
+         plugins: uddate gst_type_mark_as_plugin_api() calls
+
+2020-06-05 22:39:54 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+         d3d11overlaycompositor: Fix wrong Y position calculation
+         The Y coordinate of vertex and screen/image are opposite
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1319>
+
+2020-06-04 13:33:59 +0200  cketti <ck@cketti.de>
+
+       * ext/curl/gstcurlsmtpsink.c:
+         curlsmtpsink: Use correct email date format
+         See https://www.rfc-editor.org/rfc/rfc5322.html#section-3.3
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1317>
+
+2020-06-02 18:07:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: signal cea608 padding as invalid
+         Outputting a valid but null cea608 byte pair may cause some issues with
+         some checksum packets.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-02 17:35:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: also copy buffer metadata when draining
+         Fixes buffers without PTS/DTS/meta/etc when receiving an EOS with data
+         still stored in the internal scratch buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-02 17:33:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: Output the limit hit in debug lines
+         Fix two case of the input triplet limit not applying in cea608 -> cdp
+         conversion.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-03 18:38:58 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         doc: Require hotdoc >= 0.11.0
+
+2020-06-02 15:06:38 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         doc: Fix spelling of GstWebRTCICE
+
+2020-05-27 16:01:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update gst_plugins_cache.json
+
+2020-06-02 12:51:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/debugutils/gstclockselect.c:
+         clockselect: Don't register GstClockSelectClockId multiple times
+
+2020-05-31 10:18:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/closedcaption/gstceaccoverlay.c:
+       * ext/colormanagement/gstlcms.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/curl/gstcurlsshsink.c:
+       * ext/dash/gstdashsink.c:
+       * ext/dc1394/gstdc1394src.c:
+       * ext/dtls/plugin.c:
+       * ext/mpeg2enc/gstmpeg2encoptions.cc:
+       * ext/mplex/gstmplexjob.cc:
+       * ext/opencv/gstcameracalibrate.cpp:
+       * ext/opencv/gstcvsmooth.cpp:
+       * ext/opencv/gstdewarp.cpp:
+       * ext/opencv/gstdisparity.cpp:
+       * ext/opencv/gstfaceblur.cpp:
+       * ext/opencv/gstfacedetect.cpp:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstsegmentation.cpp:
+       * ext/opencv/gstskindetect.cpp:
+       * ext/openh264/gstopenh264enc.cpp:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/srtp/gstsrtp.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/webp/gstwebpenc.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtcdsp/gstwebrtcdsp.cpp:
+       * ext/x265/gstx265enc.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+       * gst/adpcmenc/adpcmenc.c:
+       * gst/audiomixmatrix/gstaudiomixmatrix.c:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/debugutils/gstchecksumsink.c:
+       * gst/debugutils/gstclockselect.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/fieldanalysis/gstfieldanalysis.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstmirror.c:
+       * gst/interlace/gstinterlace.c:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mxf/mxfmux.c:
+       * gst/netsim/gstnetsim.c:
+       * gst/rawparse/gstaudioparse.c:
+       * gst/rist/gstristsink.c:
+       * gst/rtmp2/gstrtmp2.c:
+       * gst/timecode/gstavwait.c:
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/yadif/gstyadif.c:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/uvch264/gstuvch264_src.c:
+         plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
+
+2020-06-02 18:29:16 -0300  Peter Workman <peter@onsetcommunication.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: continue polling or report error on failed receive
+         fixes #1277
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1260>
+
+2020-06-03 17:49:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: Use secondary rank
+         d3dvideosink will be replaced by d3d11videosink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311>
+
+2020-05-30 04:56:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/plugin.c:
+         d3d11videosink: Assign primary rank
+         d3d11videosink has an advantage over d3dvideosink, such as
+         * Zero-copy playback with d3d11 decoders
+         * HDR rendering with 10-bit format/swapchain support
+         * UWP support
+         * Any system memory alignment/padding can be supported
+         * User can select target GPU device
+         And old d3dvideosink's functionality (e.g., navigation event, overlaycomposition)
+         can be covered by d3d11videosink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311>
+
+2020-06-03 10:32:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/datachannel.h:
+         webrtc: Add `Since: 1.18` markers to the new datachannel library API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1315>
+
+2020-05-15 16:51:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Make logging regarding callers more useful
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1273>
+
+2020-06-01 14:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcdatachannel.h:
+       * gst-libs/gst/webrtc/datachannel.c:
+       * gst-libs/gst/webrtc/datachannel.h:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/webrtc/webrtc.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Add GstWebRTCDataChannel to the library API
+         This makes it more discoverable for bindings and allows bindings to
+         generate static API for the signals and functions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1168
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1313>
+
+2020-05-29 22:21:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+         vulkanimagememory: fix use-after-free releasing a view
+         If the view has the last reference to the image, then
+         gst_clear_mini_object will destroy the image and the lock used in the
+         next line.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314>
+
+2020-05-29 22:17:24 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+         vkimagememory: actually check the length of a ptr array
+         Not it's value is > 0 which should always be true.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314>
+
+2020-05-28 11:51:28 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/meson.build:
+         avtp: Ensure that the avtp plugin is only built on Linux
+         It uses some Linux only features. This also prevents gst-build trying to
+         get libavtp on non-Linux environments.
+
+2020-05-29 11:36:06 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * tests/check/elements/avtpcrfcheck.c:
+       * tests/check/elements/avtpcrfsync.c:
+       * tests/check/elements/avtpcrfutil.c:
+       * tests/check/elements/avtpcvfpay.c:
+         tests/avtp: Plug some (more) leaks
+         Some leaks were introduced in new tests - this patch fix them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1312>
+
+2020-04-08 14:40:56 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add support 12-bit 420 encoding
+         P016 is used for 12-bit encoding in MediaSDK, so the Shift flag is set
+         in the mfx parameters
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=P012_LE ! msdkh265enc ! \
+         fakesink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1174>
+
+2020-05-19 14:59:25 +0800  Xu Guangxin <guangxin.xu@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+         msdkvpp: fix "failed to create new MSDK memory"
+         all msdk output surfaces come from out_alloc_resp, so the buffer count is not resizable.
+         we need set min_buffers, max_buffers to same size.
+         steps to reproduce
+         1. ffmpeg -f lavfi -i testsrc=duration=10:size=320x240:rate=30:decimals=3 -pix_fmt yuv420p -c:v libx265 ~/bits/hevc/test.265
+         2. GST_GL_PLATFORM=egl gst-launch-1.0 -v filesrc location=~/bits/hevc/test.265  ! h265parse ! msdkh265dec  ! msdkvpp ! queue ! glimagesink
+         you will see error like this:
+         ERROR                default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
+         ERROR         msdkbufferpool gstmsdkbufferpool.c:270:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool2> failed to create new MSDK memory
+         ERROR                msdkvpp gstmsdkvpp.c:297:create_output_buffer:<msdkvpp0> failed to create output video buffer
+         ERROR                msdkdec gstmsdkdec.c:699:gst_msdkdec_finish_task:<msdkh265dec0> Failed to finish frame
+         ERROR                msdkdec gstmsdkdec.c:1085:gst_msdkdec_handle_frame:<msdkh265dec0> Failed to finish a task
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1278>
+
+2020-05-19 15:14:34 +0800  Xu Guangxin <guangxin.xu@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+         msdkvpp: hold GstBuffer ref count for locked surfaces
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1278>
+
+2020-05-29 22:55:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+         mediafoundation: Use core dispatcher of current view instead of main view
+         Main view might be hidden depending on application's view tree.
+         In that case, ICoreApplication object doesn't return get_MainView() method
+         Note that nothing about this behavior was documented by Microsoft
+         https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.core.coreapplication.mainview
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1310>
+
+2020-05-28 22:48:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/vulkan/meson.build:
+         vulkan: fix use of assert() with older meson versions
+         Follow-up to !1307
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1308>
+
+2020-05-28 19:07:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan: don't run tests or build lib if plugin isn't actually built
+         The unit tests only checked for vulkan_dep.found(), which can
+         be true if the libs are there but glslc was not found, in which
+         case the plugin wouldn't be built and the unit tests would fail
+         because of missing vulkan plugins.
+         Doesn't really make much sense to build the vulkan integration lib
+         either if we're not going to build the vulkan plugin, so just disable
+         both for now if glslc is not available.
+         Fixes #1301
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1307>
+
+2020-05-27 14:44:01 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * tests/check/elements/mpegtsdemux.c:
+         mpegtsdemux: tests: Test that tsparse doesn't drop padding
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1300>
+
+2020-05-26 22:40:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsdemux: Deliver all packets to tsparse
+         34af8ed66a7c63048ce0bdf59bbe61011d7c6292 changed the code to use the
+         packetizer's packets instead of the incoming buffers, but mpegtsbase
+         didn't actually push all packets to the subclass. As a result, padding
+         (PID 0x1FFF) packets got lost.
+         Add a new boolean to toggle pushing unknown packets to mpegtsbase and
+         have mpegtsparse make use of it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1300>
+
+2020-05-28 20:46:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfutils.cpp:
+         mediafoundation: Fix undeclared identifier error on UWP build
+         Some symbols are not available in case of UWP
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1306>
+
+2020-05-28 18:18:58 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/elements/avtpcrfutil.c:
+         avtp: Initialise strack structures to 0 in tests
+         Avoid valgrind warnings about accessing uninitialised memory
+         in the tests by initialisting structures to 0
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305>
+
+2020-05-28 17:33:43 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/elements/avtpcrfbase.c:
+       * tests/check/elements/avtpcrfcheck.c:
+       * tests/check/elements/avtpcrfsync.c:
+         avtp: Fix some leaks in the tests
+         Fix valgrind errors that area showing on the CI now
+         that AVTP elements are built.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305>
+
+2020-05-25 13:10:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcsdp.c:
+       * ext/webrtc/webrtcsdp.h:
+         webrtc: handle an ice-lite remote offer
+         When the remote peer offers an ice-lite SDP, we need to configure our
+         ICE negotiation to be in controlling mode as the peer will not be.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1304>
+
+2020-05-08 17:30:21 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         codecparsers: fix typo in GstH265RegisteredUserData doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1303>
+
+2020-05-27 15:17:12 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
+         If core is built as a subproject (e.g. as in gst-build), make sure to use
+         the gst-plugin-scanner from the built subproject. Without this, gstreamer
+         might accidentally use the gst-plugin-scanner from the install prefix if
+         that exists, which in turn might drag in gst library versions we didn't
+         mean to drag in. Those gst library versions might then be older than
+         what our current build needs, and might cause our newly-built plugins
+         to get blacklisted in the test registry because they rely on a symbol
+         that the wrongly-pulled in gst lib doesn't have.
+         This should fix running of unit tests in gst-build when invoking
+         meson test or ninja test from outside the devenv for the case where
+         there is an older or different-version gst-plugin-scanner installed
+         in the install prefix.
+         In case no gst-plugin-scanner is installed in the install prefix, this
+         will fix "GStreamer-WARNING: External plugin loader failed. This most
+         likely means that the plugin loader helper binary was not found or
+         could not be run. You might need to set the GST_PLUGIN_SCANNER
+         environment variable if your setup is unusual." warnings when running
+         the unit tests.
+         In the case where we find GStreamer core via pkg-config we use
+         a newly-added pkg-config var "pluginscannerdir" to get the right
+         directory. This has the benefit of working transparently for both
+         installed and uninstalled pkg-config files/setups.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1302>
+
+2020-05-22 05:55:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfmp3enc.cpp:
+       * sys/mediafoundation/gstmfmp3enc.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add support MP3 audio encoding
+         Add MediaFoundation MP3 encoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-18 18:12:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfaacenc.cpp:
+       * sys/mediafoundation/gstmfaacenc.h:
+       * sys/mediafoundation/gstmfaudioenc.cpp:
+       * sys/mediafoundation/gstmfaudioenc.h:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add support for AAC encoding
+         Add MediaFoundation AAC encoder element.
+         Before Windows 10, mono and stereo channels were supported audio channels
+         configuration by AAC encoder MFT. However, on Windows 10,
+         5.1 channels support was introduced.
+         To expose correct range of support format by this element
+         whatever the OS version is, this element will enumerate
+         all the supported format by the AAC encoder MFT
+         and then will configure sink/src templates while plugin init.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-24 00:46:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfutils: Move IMediaType release function to common utility
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-18 00:41:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+       * sys/mediafoundation/meson.build:
+         mediafoundation: Add util function to dump IMFAttributes values
+         It would be useful for debugging.
+         Reference: https://docs.microsoft.com/en-us/windows/win32/medfound/media-type-debugging-code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-27 03:50:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window_win32: Create internal window on parent window's thread
+         If parent and child windows are running on different thread,
+         there is always a chance to cause deadlock as DefWindowProc() call
+         from child window thread might be blocked until the message
+         is handled by parent's window procedure.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1299>
+
+2020-05-27 01:52:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window: Add unprepare method to clear internal resource
+         GObject::dispose method can be called multiple times. As win32 d3d11window
+         has an internal thread and because GObject::dispose method could be called from the
+         thread, it might cause problems such as trying to join self-thread
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1299>
+
+2020-05-25 21:18:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mfsourceobject: Remove useless null check for string
+         We can pass null for the value of string type property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-25 20:59:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+         mediafoundation: Use G_BEGIN_DECLS/G_END_DECLS pair everywhere
+         ... instead of extern "c" {} block.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 23:23:08 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/AsyncOperations.h:
+       * sys/mediafoundation/gstmfcapturewinrt.cpp:
+       * sys/mediafoundation/gstmfcapturewinrt.h:
+       * sys/mediafoundation/gstmfdevice.c:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfvideosrc.c:
+       * sys/mediafoundation/mediacapturewrapper.cpp:
+       * sys/mediafoundation/mediacapturewrapper.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add support video capture on UWP app
+         New video capture implementation using WinRT Media APIs for UWP app.
+         Due to the strict permission policy of UWP, device enumeration and
+         open should be done via new WinRT APIs and to get permission from users,
+         it will invoke permission dialog on UI.
+         Strictly saying, this implementation is not a part of MediaFoundation
+         but structurally it's very similar to MediaFoundation API.
+         So we can avoid some code duplication by adding this implementation
+         into MediaFoundation plugin.
+         This implementation requires UniversalApiContract version >= 6.0
+         which is part of Windows 10 version 1803 (Redstone 4)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 23:56:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+         mfsourceobject: Move device name, path, and index to public struct
+         ... so that subclass can access each value and update them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 22:59:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mediafoundation: Fix typo in source object impl.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-25 15:36:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+         audiobuffersplit: Unset DISCONT flag if not discontinuous
+         And also set/unset the RESYNC flag accordingly.
+         It can happen that the flag is preserved by GstAdapter from the input
+         buffer. For example if a big input buffer is split into many small ones,
+         each of the small ones would have the flag set.
+         All other buffer flags seem safe to keep here if they were set,
+         including the GAP flag.
+         Also ensure that the buffer is actually writable before changing any
+         flags or metadata on it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1298>
+
+2020-05-25 19:22:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+         mftransform: Clear unused output IMediaSample
+         If MFT doesn't produce encoded output, need to free allocated
+         output sample and buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1297>
+
+2020-05-25 01:49:00 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle old streams claiming to be HDMV with Opus
+         GStreamer 1.16 and earlier produced streams with HDMV registration id
+         but with Opus audio streams on the stream ID that AC-4 now uses. Make
+         sure those still play back by special casing the check for AC-4 in HDMV
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1295
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1296>
+
+2020-05-24 06:22:07 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Don't leak the connection_poll_id on close()
+         Attempting to reach an inactive SRT peer in caller mode
+         was leaking an fd every few seconds in the gst_srt_object_close()/open()
+         loop.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1293>
+
+2020-05-24 19:12:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mfvideoenc: Fix huge memory leak
+         Subclass must unref passed GstVideoCodecFrame on GstVideoEncoder::handle_frame()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1294>
+
+2020-05-19 10:47:25 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/soundtouch/gstpitch.cc:
+         pitch: Remove useless restriction on number of channel
+         It handles any number of channels just fine
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1292>
+
+2020-05-23 02:33:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Disallow multiple slice group as we don't support FMO
+         Even though it might be supported by accelerator, baseclass is not
+         ready to support it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1291>
+
+2020-05-23 00:57:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvh264sldec: Fix wrong scaling list matrix scan order
+         Quatization matrix of NVDEC should be raster scan order but
+         h264parser stores it in zig-zag scan order. We need to convert
+         the matrix.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1290>
+
+2020-05-21 11:20:39 +0000  Andrey Sazonov <andrey.sazonov@intel.com>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: consistent sscanf args usage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1286>
+
+2020-05-20 07:35:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codecs: h264: Add missing break
+         There was a missing break for the 4:4:4 case which would break the sizeimage
+         calculation. We don't currently have hardware that supports 4:4:4, so this
+         code wasn't tested. This was detected by Coverity.
+         CID 1463592 1463591
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1283>
+
+2020-05-21 14:28:38 +0000  Andrey Sazonov <andrey.sazonov@intel.com>
+
+       * gst-libs/gst/audio/gstplanaraudioadapter.c:
+         planaraudioadapter: fix possible NULL ptr dereference
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1288>
+
+2020-05-21 11:24:51 +0000  Andrey Sazonov <andrey.sazonov@intel.com>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: fix klocwork issues
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1287>
+
+2020-05-19 14:58:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/androidmedia/gstamcvideodec.c:
+         amc/videodec: only retrieve the stride/slice-height for raw output
+         When outputting to a surface, these values may not exist.
+         As found on a Google Pixel 3.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1284>
+
+2020-05-14 17:13:00 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/meson.build:
+         meson: add libopenjp2 fallback for openjpeg
+         As a wrap is now available in gst-build, the fallback
+         can be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1270>
+
+2020-05-13 15:02:41 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/meson.build:
+         avtp: Add libavtp fallback dependence
+         So that libavtp can be found if added as subproject on gst-build.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1271>
+
+2020-05-01 15:58:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfdevice.c:
+       * sys/mediafoundation/gstmfdevice.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add device provider implementation
+         Only static device probing is supported for now
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1236>
+
+2020-05-01 15:12:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfsourceobject.c:
+         mfsourceobject: Store selected device path, name and index
+         Update path, name and index with selected device so that checked by
+         get_property() after constructed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1236>
+
+2020-05-20 10:54:21 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2src: Answer scheduling query
+         Just like for rtmpsrc, we must inform downstream that we are a
+         sequential (i.e. don't do random access efficiently) and
+         bandwith-limited (i.e. might need buffering downstream) element
+         Fixes buffering issues with playbin3
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1282>
+
+2020-05-06 12:27:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2slh264dec: Request large enough bitstream buffer
+         The Cedrus driver would otherwise choose 1KB buffer, which is too small.
+         This follows what some drivers do, which is simply to use the size a
+         packed raw image would have. Specifications do not really guaranty any minimum
+         compression ratio.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-05 17:55:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2slh264dec: Add slice based decoder support
+         This adds support for slice based decoder like the Allwinner/Cedrus driver. In
+         order to keep things efficient, we hold the sink buffer until we reach the end
+         of the picture. Note that as we don't know which one is last, we lazy queue the
+         slices. This effectively introduces one slice latency.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-04-30 15:17:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2codecdec: Fix error handling
+         If none of the format the HW produce is supported, the fiter will be NULL,
+         which would lead to assertion when trying to release it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-04-30 14:18:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2format.c:
+         v4l2decoder: Add legacy non-multiplanar support
+         The Cedrus driver uses the lagacy buffer type (non-mplane). This automatically
+         detect and use the right v4l2_buf_type. This also affect code using
+         v4l2_buffer and v4l2_format structures.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-05 17:50:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/linux/h264-ctrls.h:
+       * sys/v4l2codecs/linux/types-compat.h:
+       * sys/v4l2codecs/linux/v4l2-common.h:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: Update kernel headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-16 21:52:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+         d3d11convert: Fix fallback texture setup when resolution is not even number
+         When texture format is semi-planar, resolution should be even number,
+         and add missing P016 format handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 21:45:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11convert: Fix fallback texture copy
+         Fix texture copy when input texture has non-zero subresource index
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 20:45:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/plugin.c:
+         d3d11: Add support for video rescale and rename element to d3d11convert
+         GstD3D11ColorConverter implementation is able to rescale video as well.
+         By doing colorspace conversion and rescale at once, we can save
+         one cycle of shader pipeline which will can save GPU resource.
+         Since this element can support color space conversion and rescale,
+         it's renamed as d3d11convert
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 20:12:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+         d3d11: Move scoring util method for colorspace conversion to colorconvert element
+         It's used only by colorconvert element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 11:14:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: chain finalize vmethod
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-13 17:23:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: Only set relevant default weight values
+         This is minor optimization to avoid setting values we don't need. It also
+         makes debugging easier since only relevant values a non-zero now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-13 15:32:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: Fix default ref list size
+         The default in PPS was not applied properly. The default does not apply for
+         I-Slice and l1 default only applies for B-Slice.  This fixes the slice values
+         for num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-12 12:23:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Use calculated values for max_pic_num/frame_num
+         The parser pre-calculate these already, just use them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-03 17:30:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         codecs: h264decoder: ref pic lists as decode_slice parameters
+         Pass reference picture lists to decode_slice() vmethods
+         Change gstv4l2codech264dec and gstnvh264dec accordingly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-04-27 16:53:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+         codecs: h264decoder: handle reference picture lists
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-15 14:56:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264decoder: Port from GList to GArray
+         Using glist requires a lot of small allocation at runtime and also
+         it comes with a slow sort algorithm. As we play with that for very
+         frame and slices, use GArray instead. Note that we cache some arrays
+         in the instance as there is no support for stack allocated arrays
+         in GArray.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-08 17:56:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Make get_long_ref_by_pic_num() transfer none
+         We don't use the extra reference, so let's just avoid the extra
+         ref/unref.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-06 12:23:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264decoder: Make get_short_ref_by_pic_num() transfer none
+         We don't use the extra reference, so let's just avoid the extra
+         ref/unref.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-19 15:39:50 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/meson.build:
+         tests: fix nalutils file name
+         The filename was too long causing issues with ccache
+         Fix https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/97
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1281>
+
+2020-05-18 14:19:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * tests/check/elements/mpegtsdemux.c:
+       * tests/check/meson.build:
+         mpegtsdemux: tests: Add simple tests for tsparse and tsdemux
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1274>
+
+2020-05-15 17:05:59 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsdemux: Close a buffer leak and simplify input_done
+         tsparse leaked input buffers quite badly:
+         GST_TRACERS=leaks GST_DEBUG=GST_TRACER:9 gst-launch-1.0 audiotestsrc num-buffers=3 ! avenc_aac ! mpegtsmux ! tsparse ! fakesink
+         The input_done vfunc was passed the input buffer, which it had to
+         consume. For this reason, the base class takes a reference on the buffer
+         if and only if input_done is not NULL.
+         Before 34af8ed66a7c63048ce0bdf59bbe61011d7c6292, input_done was used in
+         tsparse to pass on the input buffer on the "src" pad. That commit
+         changed the code to packetize for that pad as well and removed the use
+         of input_done.
+         Afterwards, 0d2e9085236ed94622c327f73489e558cc95d05f set input_done
+         again in order to handle automatic alignment of the output buffers to
+         the input buffers. However, it ignored the provided buffer and did not
+         even unref it, causing a leak.
+         Since no code makes use of the buffer provided with input_done, just
+         remove the argument in order to simplify things a bit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1274>
+
+2020-05-17 10:27:03 +0200  Mats Lindestam <matslm@axis.com>
+
+       * ext/curl/gstcurlhttpsink.c:
+         gstcurlhttpsink: Set 'Expect: 100-continue'-header
+         In the upgrade of libcurl from 7.64.1 to 7.69.1 the
+         EXPECT_100_THRESHOLD has been increased from 1 Kb to 1 Mb
+         (see https://curl.haxx.se/mail/lib-2020-01/0050.html).
+         This caused the gstcurlhttpsink to not being able to rewind
+         and resend in the case, e.g. response '401 Unauthorized'.
+         Now the 'Expect: 100-continue'-header is explicitly set in
+         the gstcurlhttpsink.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1276>
+
+2020-04-29 16:43:06 -0400  Arun Raghavan <arun@asymptotic.io>
+
+       * sys/opensles/openslessink.c:
+       * sys/opensles/openslessrc.c:
+         opensles: Remove hard-coded buffer-/latency-time values
+         These were originally required in early Android versions, but are no
+         longer needed.
+
+2020-05-14 20:47:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+         mediafoundation: Refactor GstMFSourceObject implementation
+         * Move CoInitializeEx/CoUninitialize pair into thread function in order to
+         ensure MTA COM thread
+         * Move common code to baseclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1269>
+
+2020-05-14 20:17:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Remove COM thread constraints from GstMFTransform object
+         Move CoInitializeEx/CoUninitialize pair into our dedicated thread so that
+         we can ensure COM thread is MTA. This will remove thread constraints
+         around plugin init.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1269>
+
+2020-05-15 13:52:06 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/androidmedia/gstamcvideodec.c:
+         amcvideodec: fix sync meta copying not taking a reference
+         Fixup for
+         9b9e39be248389370e80b429da5a528418733483: amc: Fix crash when a sync_meta survives its sink
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/603
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1272>
+
+2020-04-13 18:09:55 +0900  J. Kim <jeongseok.kim@sk.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: add streamid property
+         The stream id starts with '#!::' according to SRT Access Control[1],
+         but GstURI requires URI encoded string.This commit introduces additional
+         property to set the id by normal string.
+         [1] https://github.com/Haivision/srt/blob/master/docs/AccessControl.md
+
+2020-05-12 05:00:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/modplug/meson.build:
+       * ext/openni2/meson.build:
+       * meson.build:
+         meson: Pass native: false to add_languages()
+         This is needed for cross-compiling without a build machine compiler
+         available. The option was added in 0.54, but we only need this in
+         Cerbero and it doesn't affect older versions so it should be ok.
+         Will only cause a spurious warning.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1266>
+
+2020-05-12 10:55:45 -0400  Alex Hoenig <alexander.hoenig@progeny.net>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: detect and ignore gap buffers
+         Fixes #1291.  Without this, when a stream has gaps and then resumes, the next buffer PTS that is written to the TS is given the PTS of the first gap.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1263>
+
+2020-05-12 16:05:01 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: check fraction multiply for overflow
+         It should not happen and if it does, something went very wrong earlier
+         CID 1463350
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 16:01:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: tighten up a couple of NULL checks
+         CID 1463347
+         CID 1463346
+         CID 1463345
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 16:00:58 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: fix unintialized read of mapped output info in error case
+         We only need to gst_buffer_unmap() if we have gst_buffer_map()ed.  In
+         most cases we can shorten the lenght of time we need to map the output
+         buffer.  Fix similar occurences elsewhere.
+         CID 1463349
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 15:24:32 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: fix uninitialized read in error case
+         CID 1463351
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-10 17:38:11 +0800  Ting-Wei Lan <lantw@src.gnome.org>
+
+       * sys/v4l2codecs/gstv4l2codecdevice.c:
+       * sys/v4l2codecs/linux/media.h:
+       * sys/v4l2codecs/linux/types-compat.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codecs: Fix compilation error on FreeBSD
+         This commit does the following things to fix compilation on FreeBSD:
+         1. Add required typedefs to linux/types-compat.h.
+         2. Remove unnecessary include linux/ioctl.h and replace linux/types.h
+         with linux/types-compat.h. Both files do not exist on FreeBSD.
+         3. Check the header including makedev macro. FreeBSD does not have
+         sys/sysmacros.h, and including it unconditionally causes error.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1259>
+
+2020-05-11 17:14:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: implement discont handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-05-07 23:59:30 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: use a better padding byte sequence for writing cdp
+         0xf8 can be interpreted as cea608 data at the beginning of a cdp packet
+         as the cc_valid bit is not checked when cc_valid in (0b00 or 0b01).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-19 17:42:13 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: split temporary storage into 3
+         Instead of storing the raw cc_data, store the 2 cea608 fields individually
+         as well as the ccp data.
+         Simply copying the input cc_data to the output cc_data violates a number of
+         requirements in the cea708 specification.  The most prominent being, that
+         cea608 triples must be placed at the beginning of each cdp.
+         We also need to comply with the framerate-dpendent limits for both the
+         cea608 and the ccp data which may involve splitting or merging some
+         cea608 data but not ccp data or vice versa.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-17 17:23:44 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconvert: compact input cc_data where possible
+         Skip over padding cc_data triples.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-13 10:54:02 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: implement support for CDP framerate conversions
+         - Any format involving CDP is supported.
+         - Time codes (if present) are scaled as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 16:08:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/ccconverter.c:
+       * tests/check/meson.build:
+         tests/ccconverter: test the time codes are successfully passed through
+         Where time codes are not stored in the caption data themselves
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 15:06:46 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+         ccconverter: introduce define for max cdp packet length
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 15:01:02 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: don't rely on external state in *_internal()
+         This allows using the _internal() variants for simply converting some
+         caption data without relying on any external state.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 14:06:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * ext/closedcaption/gstccconverter.h:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: cc_count limits are per framerate
+         Enforce this and add a test for cdp input being too large.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 12:54:41 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: refactor cdp id, fps, max_cc_count into a table
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 09:55:40 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+         ccconverter: pivot to implementing generate_output
+         Will make a n-n buffer element much easier to implement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-05-09 19:59:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst-libs/gst/vulkan/gstvkerror.c:
+         vulkan: Drop use of VK_RESULT_BEGIN_RANGE
+         This was removed in Vulkan 1.2.140.
+         > Shortly after 2020-04-24, we will be removing the automatically
+         > generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
+         > tokens from the Vulkan headers. These tokens are currently defined for
+         > some enumerated types, but are explicitly not part of the Vulkan API.
+         > They existed only to support some Vulkan implementation internals,
+         > which no longer require them. We will be accepting comments on this
+         > topic in [#1230], but we strongly suggest any external projects using
+         > these tokens immediately migrate away from them.
+         [#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1255>
+
+2020-05-08 22:36:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+       * gst/audiobuffersplit/gstaudiobuffersplit.h:
+         audiobuffersplit: Perform discont tracking on running time
+         Otherwise we would have to drain on every segment event. Like this we
+         can handle segment events that don't cause a discontinuity in running
+         time to be handled without draining.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1254>
+
+2020-05-08 21:36:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiobuffersplit/gstaudiobuffersplit.c:
+       * gst/audiobuffersplit/gstaudiobuffersplit.h:
+         audiobuffersplit: Keep incoming and outgoing segments separate
+         We might have to drain already queued input based on the old segment
+         before forwarding the new segment event. The new segment is only
+         forwarded after a discont as otherwise we might cause unnecessary
+         timestamp jumps as we output buffers timestamped based on sample counts.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1254>
+
+2020-04-30 16:01:13 +0000  Chris Ayoup <ayochris@amazon.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+         webrtc: move filtering properties to webrtcice
+         We want webrtcbin to only expose properties that are defined in JSEP, so
+         these additional properties should be moved out.  In order to access
+         them, the webrtcice instance is exposed from webrtcbin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-17 18:00:59 +0000  Chris Ayoup <ayochris@amazon.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+         webrtc: allow setting local IP addresses
+         If a local IP address is specified, ICE gathering can be much faster
+         in environments where there are multiple IP addreses but only some are
+         usable (for example, if you are running docker on the machine).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-16 22:37:35 +0000  Chris Ayoup <ayochris@amazon.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc: Allow toggling TCP and UDP candidates
+         Add some properties to allow TCP and UDP candidates to be toggled.  This
+         is useful in cases where someone is using this element in an environment
+         where it is known in advance whether a given transport will work or not
+         and will prevent wasting time generating and checking candidate pairs
+         that will not succeed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-02 10:44:31 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: clear the parameters after closing the session
+         Otherwise the stale values are used for the new process.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1159>
+
+2020-05-10 11:23:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/spandsp/gstspanplc.c:
+         spanplc: Don't segfault when retrieving the stats property without a spanplc context
+         For example when trying to get the property value in NULL state.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1258>
+
+2020-05-10 11:16:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/onvif/gstrtponviftimestamp.c:
+         onviftimestamp: Add missing `break` in set_property()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1257>
+
+2020-05-07 14:05:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/h265parse.c:
+         test: h265parse: Test parsing buffer the ends with half a NAL header
+         This test cover the case where we are parsing, but our current buffers ends
+         with half the NAL header (which is 2 bytes in HEVC). Previously we would
+         throw an error message on the bus.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 13:59:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parse: Ensure parsing ends on start-code + full header
+         The parser is used all over the place assuming that after calling
+         gst_h265_parser_identify_nalu(), the start-code found is can also be
+         identified. In H264 this works, because scan_for_start_code rely on
+         gst_byte_reader_masked_scan_uint32() that ensures that 1 byte passed the 3
+         bytes start code is found. But for HEVC, we need two bytes to identify the
+         following NAL.
+         This patch will return NO_NAL_END, even if a start code is found in the case
+         there was not enough bytes. This solution was chosen to maintain backward
+         compatibility, and reduce complexicity.
+         Fixes #1287
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 11:09:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/h265parse.c:
+         test: h264/h265: Add test for four bytes start code initial skip
+         This test detects if the parser have skipped too much and dropped meaninful
+         NALs.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 12:02:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/h265parse.c:
+       * tests/check/elements/parser.c:
+       * tests/check/elements/parser.h:
+         test: h264/h265: Constify all test buffers
+         This ensure that no test modify other tests data.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 11:06:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+         h264/h265parse: Fix initial skip
+         Account for start codes possibly be 4 bytes. For HEVC, also take into
+         account that we might be missing only one of the two identification
+         bytes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 08:29:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Ensure correct timestamps
+         If the input has a miss-placed filler zero byte (e.g. a filler without a 4
+         bytes start code on the next NAL), we would endup using the same timestamp
+         twice. Ask the base class to read the timestamp from the buffer were the NAL
+         actually starts.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 07:43:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: Removed impossible error case
+         Same as done for H264, this error was trying to catch the case where we had
+         a start code without any bytes afterward. This will never happen since the
+         start code scanner only returns a match if there is one byte after start
+         code (pattern 0x00000100 / mask 0xffffff00). In H264, once byte is sufficient
+         to identify the NALU.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:28:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst/videoparsers/gsth264parse.c:
+       * tests/check/elements/h264parse.c:
+         h264parse: Properly handle 4 bytes start code
+         This will stop stripping four bytes start code. This was fixed and broken
+         again as it was causing the a timestamp shift. We now call
+         gst_base_parse_set_ts_at_offset() with the offset of the first NAL to ensure
+         that fixing a moderatly broken input stream won't affect the timestamps. We
+         also fixes the unit test, removing a comment about the stripping behaviour not
+         being correct.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:18:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Fix NAL size check for identification
+         Unlike H264, H265 requires 2 bytes after the start code to allow NAL
+         identification. This would otherwise report a broken NAL and skip
+         important data.
+         Fixes #1287
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:13:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Removed impossible error case
+         This error was trying to catch the case where we had a start code without any
+         bytes afterward. This will never happen since the start code scanner only returns
+         a match if there is one byte adter start code (pattern 0x00000100 / mask
+         0xffffff00).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-04-29 16:19:08 +0800  Xu Guangxin <guangxin.xu@intel.com>
+
+       * sys/msdk/gstmsdkbufferpool.c:
+         msdk: bufferpool: set alignment to video meta
+         else gst_video_meta_validate_alignment will report error like
+         "videometa gstvideometa.c:416:gst_video_meta_validate_alignment: Stride of plane 0 defined in meta (384) is different from the one computed from the alignment (320)"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1224>
+
+2020-05-06 20:04:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Unref latency query after usage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1249>
+
+2020-05-06 11:47:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/musepack/gstmusepackdec.c:
+         musepackdec: Don't fail all queries if no sample rate is known yet
+         The sample rate is only needed for the POSITION/DURATION queries and we
+         would otherwise fail important queries like the CAPS query.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1248>
+
+2020-05-01 07:46:56 +0200  Luka Blaskovic <lblasc@znode.net>
+
+       * ext/opencv/meson.build:
+         opencv: allow compilation against 4.3.x
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1235>
+
+2020-05-06 15:36:19 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: fix an off-by-one calculating low-threshold
+         We were not signalling low-threshold when the previous amount was at
+         exactly the low-threshold mark.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 15:35:26 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         webrtc: fix a slightly racy test
+         There is no guarantee that the peer data channel has transitioned to
+         open when we do.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 15:49:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: remove debugging leftover
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 00:30:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/utils.h:
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtc: always reply to a promise
+         Otherwise, we defeat the purpose of a promise.
+         We were not replying when the state was closed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-06 00:25:45 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/gstwebrtcice.h:
+         webrtc: name threads based on the element name
+         Makes debugging a busy loop possibly easier
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 17:15:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: fix a data channel leak in a test
+         test_data_channel_create_after_negotiate overrides the data_channel_data
+         without ever freeing it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 17:14:46 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: correctly use the pad template
+         GstHarness uses this for releasing request pads correctly. Fixes
+         numerous leaks in the webrtc unit tests.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 14:35:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Fix a couple of renegotiation races
+         When negotiating the SDP we should only connect the streams that are
+         actually mentioned in the SDP.  All other streams are not relevant at
+         this time and would likely be part of a future SDP update.  Fixes a
+         couple of the renegotiation webrtc unit tests.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 14:33:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: move bus thread creation earlier
+         Fixes a small deadlock race where the bus watch GSource could execute before
+         the unlock mutex GSource.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-04 14:39:45 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/meson.build:
+         tests: add libnice to the plugin loading whitelist
+         Allows webrtcbin to actually unit test some negotiation scenarios.
+         Without this, only two of the possible 33 tests are being executed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 12:01:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2slvp8dec: Flip the meaning of segment_feature_mode
+         In section 9.3.4 a), segment_feature_mode have 0 for absolute and 1 for delta,
+         while in 19.2, it says the opposite. But the reference code, which usually
+         rules over the text state that 1 means absolute:
+         if (hdr->update_data)
+         {
+         hdr->abs = bool_get_bit(bool);
+         And uses it with that meaning to decide weither to override the existing value
+         or just add the detla. This fixes multiple decoding issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 15:33:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2slvp8dec: Copy header version
+         This field was not copied.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:54:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2slvp8dec: Add debugging for reference frames
+         This simply trace the frame number of the references used for decoding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:52:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2slvp8dec: Ensure width/height is always set
+         Our parser strictly read the bitstream. As it's known from DXVA that always
+         having a valid width/height might be needed, use the cached width/height
+         instead of the value from the parser. This didn't impact Hantro driver.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:52:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2slvp8dec: Fix debug category name
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-05 17:40:51 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/iqa/iqa.c:
+         iqa: Fix all leaks in error path
+         CID #1456049
+         CID #1456080
+         CID #1456083
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1244>
+
+2020-03-29 00:45:47 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * tests/check/libs/h265parser.c:
+         test: h265parser: Add a test case for SCC extension.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146>
+
+2020-03-28 14:46:13 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * tests/check/libs/h265parser.c:
+         libs: parser: h265: Add SCC extension support.
+         Add support for screen content coding extensions profiles.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146>
+
+2020-05-06 01:25:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp8dec.c:
+         d3d11vp8dec: Remove useless assign operation
+         It's already been done in the line just above.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1246>
+
+2020-05-05 16:07:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/elements/dash_mpd.c:
+         check: Fix dash mpd unit test
+         Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstMPDBaseURLNode' has no property named 'service location'
+         Stack trace:
+         gst_debug_get_stack_trace (gstinfo.c:3021)
+         gst_check_log_critical_func (gstcheck.c:281)
+         g_logv (gmessages.c:1350)
+         g_log (gmessages.c:1415)
+         g_object_set_valist (gobject.c:2327)
+         gst_mpd_client_add_baseurl_node (gstmpdclient.c:3142)
+         dash_mpdparser_check_mpd_client_set_methods (dash_mpd.c:6192)
+         srunner_run_tagged (check_run.c:465)
+         gst_check_run_suite (gstcheck.c:1086)
+         main (dash_mpd.c:6521)
+         __libc_start_main (libc-start.c:308)
+         _start (/home/bilboed/work/devel/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_dash_mpd:0x40554a)
+
+2020-05-05 20:32:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Fix processor output view resource leak
+         Because this object holds reference to native d3d11 device handle internally,
+         related native d3d11 objects would be leaked as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1243>
+
+2020-05-01 14:19:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctp: enable usrsctp debug when supported
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1234>
+
+2020-05-03 10:05:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/curlhttpsrc.c:
+         tests: curlhttpsrc: fix compiler warning on raspbian
+         tests/check/elements/curlhttpsrc.c:142:14: warning: format ‘%lu’
+         expects argument of type ‘long unsigned int’, but argument 8 has
+         type ‘gsize’ {aka ‘unsigned int’}
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1239>
+
+2020-05-03 09:59:45 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvcodec: fix compiler warning in certain setups
+         Fixes gstnvh264dec.c:648:12: warning: unused variable ‘ret’
+         compiler warning on raspbian where HAVE_NVCODEC_GST_GL is
+         not defined.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1239>
+
+2020-04-03 10:41:44 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpsink.c:
+         avtpsink: Log that AVTPDU transmission failure is due lateness
+         As ENOBUFS is not really clear about what is going on, let's check
+         socket error queue to see if packets are being dropped due being late.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:41:31 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpsink.c:
+         avtpsink: Accept buffers that fall out of segment
+         Proper calculate running time for buffers that are out of current
+         segment and try to honor them.
+         A typical case is for AVTP packets coming from avtpcvfpay element, as
+         those may have DTS that falls out of segment (which is about PTS).
+         By using gst_segment_to_running_time_full(), avtpsink can properly
+         calculate when to transmit those buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:41:04 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+         avtpcvfpay: Warn about timestamp issues on non-flushing seek
+         Seek events will cause new segments to be sent to avtpcvfpay, and for
+         flushing seeks, a pipeline running time reset. This running time
+         reset, which effectively changes pipeline base time, will cause
+         avtpcvfpay element to generate incorrect DTS for the initial set of
+         buffers sent after FLUSH_STOP.
+         This happens due the fact that base time change happens only when the
+         sink gets the first buffer after the FLUSH_STOP - so avtpcvfpay used
+         the wrong base time to do its calculations.
+         However, if the pipeline is paused before the seek, sink will update
+         base time when pipeline state goes to PLAYING again, before avtpcvfpay
+         gets the first buffers after the flush. Then avtpcvfpay element will be
+         able to normally calculate DTS for the outgoing packets.
+         This patch simply adds a warning message in case a flushing seek is
+         performed on a playing pipeline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:40:43 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+       * ext/avtp/gstavtpcvfpay.h:
+       * tests/check/elements/avtpcvfpay.c:
+         avtpcvfpay: Ensure NAL fragments are transmitted following stream specs
+         TSN streams are expected to send packets to the network in a well
+         defined "pace", which is arbitrarily defined for each stream. This pace
+         is defined by the "measurement interval" property of a stream.
+         When the AVTP CVF payloader element - avtpcvfpay - fragments a video
+         frame that is too big to be sent to the network, it currently defines
+         that all fragments should be transmitted at the same time (via DTS
+         property of GstBuffers generated, as sink will use those to time the
+         transmission of the AVTPDU). This doesn't comply with stream definition,
+         which also has a limit on how many packets can be sent on a given
+         measurement interval.
+         This patch solves that by spreading in time the DTS of the GstBuffers
+         containing the AVTPDUs. Two new properties, "measurement-interval" and
+         "max-interval-frames", added to avptcvfpay element so that it knows
+         stream measurement interval and how many AVTPDUs it can send on any of
+         them. More details on the method used to proper spread DTS/PTS according
+         to measurement interval can be found in a code commentary inside this patch.
+         Tests also added for the new property and behaviour.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-02-24 22:38:39 +0800  Georg Ottinger <g.ottinger@gmx.at>
+
+       * gst-libs/gst/codecparsers/gstav1parser.c:
+       * gst-libs/gst/codecparsers/gstav1parser.h:
+       * gst-libs/gst/codecparsers/meson.build:
+       * tests/check/libs/av1parser.c:
+       * tests/check/meson.build:
+         libs: parser: Adds AV1 parser.
+         This is the first version of AV1 parser implementation in GStreamer.
+         A test file is also provied with several test cases. It contains a
+         test sequence taken from the aom testdata set, with one key and one
+         inter-frame. The same test sequence has been reencoded to annexb.
+         testdata is taken from aom testdata (and reencoded for annexb) as well
+         as handcrafted testcases. Once reference testdata is available, the
+         testing could be imporved aswell.
+         Co-author: He Junyan <junyan.he@hotmail.com>
+         Co-author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/785>
+
+2020-05-01 14:43:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/autoconvert/gstautoconvert.h:
+         autoconvert: fix compiler warnings with g_atomic on recent GLib versions
+         The volatile is not needed here and causes compiler warnings
+         with newer GLib versions.
+         gstautoconvert.c: In function ‘gst_auto_convert_dispose’ (and elsewhere):
+         glib/gatomic.h:108:3: warning: initialization discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers]
+         gstautoconvert.c:224:24: note: in expansion of macro ‘g_atomic_pointer_get’
+         224 |     GList *factories = g_atomic_pointer_get (&autoconvert->factories);
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1237>
+
+2020-05-01 01:17:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: also mark data channel transports as active
+         Fixes negotiation of a bundled sdp with only a data channel.
+         Without marking the transport as active, we would never unblock the
+         transportreceivebin and thus no data would ever reach us.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1231>
+
+2020-05-01 00:47:53 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcsdp.c:
+       * ext/webrtc/webrtcsdp.h:
+         webrtcbin: fix bundle none case with remote offer bundling
+         If the remote is bundling, but we are not and remote is offering.
+         we cannot put the remote media sections into a bundled transport as that
+         is not how we are going to respond.
+         This specific failure case was that the remote ICE credentials were
+         never set on the ice stream and so ice connectivity would fail.
+         Technically, this whole bunde-policy=none handling should be removed
+         eventually when we implement bundle-policy=balanced.  Until such time,
+         we have this workaround.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1231>
+
+2019-09-26 18:12:36 -0700  Vedang Patel <vedang.patel@intel.com>
+
+       * tests/check/elements/avtpcrfutil.c:
+       * tests/check/meson.build:
+         tests: add tests for functions in gstavtpcrfutil.c
+         This adds tests for the helper functions in ext/avtp/gstavtpcrfutils.c
+
+2019-09-26 18:11:42 -0700  Vedang Patel <vedang.patel@intel.com>
+
+       * tests/check/elements/avtpcrfcheck.c:
+       * tests/check/meson.build:
+         tests: Add the tests for CRF Checker element
+         This adds tests to ensure the avtpcrfchecker element validates and drops the
+         packets which do not match the CRF Synchronization criteria.
+
+2019-10-14 13:56:49 -0700  Vedang Patel <vedang.patel@intel.com>
+
+       * tests/check/elements/avtpcrfbase.c:
+       * tests/check/meson.build:
+         tests: Add tests for GstAvtpCrfBase base class.
+         This adds tests which test the functions which do not call any external
+         syscalls and the properties.
+
+2019-10-14 13:56:36 -0700  Vedang Patel <vedang.patel@intel.com>
+
+       * tests/check/elements/avtpcrfsync.c:
+       * tests/check/meson.build:
+         tests: Add tests for CRF Synchronizer element
+         This adds tests to validate whether the avtpcrfsync element applies the
+         adjustment correctly.
+         Also, the infrastructure to include additional source files while compiling
+         is added. This change is exactly the same as the one in gst-plugins-good.
+
+2019-10-14 13:55:57 -0700  Vedang Patel <vedang.patel@intel.com>
+
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpcrfcheck.c:
+       * ext/avtp/gstavtpcrfcheck.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce the CRF Check element
+         This commit introduces the AVTP Clock Reference Format (CRF) Checker
+         element. This element re-uses the GstAvtpCrfBase class introduced along
+         with the CRF Synchronizer element.
+         This element will typically be used along with the avtpsrc element to
+         ensure that the AVTP timestamp (and H264 timestamp in case of CVF-H264
+         packets) is "aligned" with the incoming CRF stream. Here, "aligned" means
+         that the timestamp value should be within 25% of the period of the media
+         clock recovered from the CRF stream.
+         The user can also set an option (drop-invalid) in order to drop any packet
+         whose timestamp is not within the thresholds of the incoming CRF stream.
+
+2020-02-05 16:17:39 -0800  Vedang Patel <vedang.patel@intel.com>
+
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpcrfbase.c:
+       * ext/avtp/gstavtpcrfbase.h:
+       * ext/avtp/gstavtpcrfsync.c:
+       * ext/avtp/gstavtpcrfsync.h:
+       * ext/avtp/gstavtpcrfutil.c:
+       * ext/avtp/gstavtpcrfutil.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce the CRF Sync Element
+         This commit introduces the AVTP Clock Reference Format (CRF) Synchronizer
+         element. This element implements the AVTP CRF Listener as described in IEEE
+         1722-2016 Section 10.
+         CRF is useful in synchronizing events within different systems by
+         distributing a common clock. This is useful in a scenario where there are
+         multiple talkers who are sending data to a single listener which is
+         processing that data. E.g.  CCTV cameras on a network sending AVTP video
+         streams to a base station to display on the same screen.
+         It is assumed that all the systems are already time-synchronized with each
+         other. So, the AVTP Talker essentially adjusts the AVTP Presentation Time
+         so it's phase-locked with the reference clock provided by the CRF stream.
+         There are 2 different roles of systems which participate in CRF data
+         exchange.  A system can either be a CRF Talker, which samples it's own
+         clock and generates a stream of timestamps to transmit over the network, or
+         a CRF Listener, the system which receives the generated timestamps and
+         recovers the media clock from the timestamps. It then adjusts it's own
+         clock to align with recovered media clock. The timestamps generated by the
+         talker may not be continuous and the listener might have to interpolate
+         some timestamps to recover the media clock. The number of timestamps to
+         interpolate is mentioned in the CRF stream AVTPDU (Refer IEEE 1722-2016
+         Section 10.4 for AVTPDU structure). Only CRF Listener has been implemented
+         in this commit.
+         The CRF Sync element will create a separate thread to listen for the CRF
+         stream. This thread will calculate and store the average period of the
+         recovered media clock. The pipeline thread will use this stored period
+         along with the first timestamp of the latest CRF AVTPDU received to
+         calculate adjustment for timestamps in the audio/video streams. In case of
+         CRF AVTPDUs with single timestamp, two consecutive CRF AVTPDUs will be used
+         to figure out the average period of the recovered media clock.
+         In case of H264 streams, both AVTP timestamp and H264 timestamp will be
+         adjusted.
+         In the future commits, another "CRF Checker" element will be introduced
+         which will validate the timestamps on the AVTP Listener side. Which is why
+         a lot of code has been implemented as part of the gstcrfbase class.
+
+2019-12-13 11:28:08 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * gst/debugutils/gstclockselect.c:
+       * gst/debugutils/gstclockselect.h:
+       * tests/check/elements/clockselect.c:
+         clockselect: Add TAI clock support
+         Via new value for property clock-id, "tai", it's possible to use
+         GST_CLOCK_TYPE_TAI as pipeline clock.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009>
+
+2020-01-27 15:16:12 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * tests/check/elements/clockselect.c:
+         clockselect: Remove non-sense comment
+         Commentary appears to assume `gst_harness_find_element` return value was
+         "transfer none", but it is not the case. So, element must be unrefed
+         before the end.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009>
+
+2020-01-23 15:57:34 +0000  krivoguzovVlad <u.kryvahuzau@setplex.com>
+
+       * ext/srt/gstsrtobject.c:
+         Update gstsrtobject.c
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/999>
+
+2019-07-30 17:09:55 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtpdeext.c:
+       * tests/check/elements/ristrtpext.c:
+         ristrtpdeext: Expose the largest sequence number received
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-03-18 17:34:47 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtpdeext.c:
+       * tests/check/elements/ristrtpext.c:
+         ristrtpdeext: Update RTP header extension packet to latest spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-03-18 17:14:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtpext.c:
+       * tests/check/elements/ristrtpext.c:
+         ristrtpext: Update RTP header extension packet to latest spec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-31 12:01:07 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Document main profile support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-29 17:53:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Add ristrtpdeext to the pipeline
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-29 13:58:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Add ristrtpext to sink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:57:40 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Receive RIST seqnum ext and feed it to rtxsend
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:43:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Pass the session id to the on-app-rtcp callback
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:14:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristrtxsend.c:
+         ristrtxsend: Use externally given seqnum extension when available
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 16:50:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtxsend.c:
+         ristrtxsend: Store sent packets with extended seqnum
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 16:49:51 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristrtpext.c:
+         rist: Factor our seqnum extension code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-24 17:32:07 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/ristrtpext.c:
+       * tests/check/meson.build:
+         rist: Add test for rtp ext code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-23 17:27:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtpdeext.c:
+         rist: Drop packets that are more than G_MAXINT16 seqnum late
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-23 17:26:16 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristrtpext.c:
+         rist: Insert RTP seqnum extension header
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-12 11:43:26 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristrtpdeext.c:
+       * gst/rist/gstristrtpext.c:
+       * gst/rist/meson.build:
+         rist: Add element to remove the header extension
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-11 18:53:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristrtpext.c:
+       * gst/rist/meson.build:
+         rist: Add element that inserts the RTP header extension
+         Currently can suppress the TS null packets, but can't insert
+         the seqnum extension yet.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-05-01 01:51:10 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Allow frame gap even if it's not allowed by SPS
+         It's most likely the case where some frames were dropped for some reason
+         (e.g., broken stream, network loss or so). However, decoder might be able to
+         decode following frames even if some frames are visually broken.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1232>
+
+2020-04-29 22:01:32 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: only start gathering on local descriptions
+         If we are in a state where we are answering, we would start gathering
+         when the offer is set which is incorrect for at least two reasons.
+         1. Sending ICE candidates before sending an answer is a hard error in
+         all of the major browsers and will fail the negotiation.
+         2. If libnice ever adds the username fragment to the candidate for
+         ice-restart hardening, the ice username and fragment would be
+         incorrect.
+         JSEP also hints that the right call flow is to only start gathering when
+         a local description is set in 4.1.9 setLocalDescription
+         "This API indirectly controls the candidate gathering process."
+         as well as hints throughout other sections.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1226>
+
+2020-04-29 19:42:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.h:
+         webrtc: Correct symbol visibility to fix build warning on Windows
+         GstWebRTCDataChannel is fully internal of plugin
+         webrtcdatachannel.c(50): warning C4273: 'gst_webrtc_data_channel_get_type': inconsistent dll linkage
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1225>
+
+2020-04-29 15:12:36 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/lv2/gstlv2.c:
+       * ext/lv2/gstlv2.h:
+       * ext/lv2/gstlv2filter.c:
+       * ext/lv2/gstlv2utils.c:
+         lv2: Namespace global variables and explicitly make them private
+         And fix a LV2_PORT_GROUPS__rearLeft/LV2_PORT_GROUPS__rearRight typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
+
+2020-03-20 15:49:06 +0100  Debarshi Ray <rishi@gnu.org>
+
+       * ext/lv2/gstlv2.c:
+       * ext/lv2/gstlv2.h:
+         lv2: Make it build with -fno-common
+         GCC 10 defaults to -fno-common. This means that global variables shared
+         across multiple translation units should be declared as 'extern' in
+         header files and defined in exactly one C file. See:
+         https://gcc.gnu.org/gcc-10/porting_to.html
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
+
+2020-04-30 02:41:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Rearrange the order of supported profiles in caps
+         constrained-baseline profile is much preferred than baseline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1229>
+
+2020-04-30 02:25:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvh264sldec: Allow constrained-baseline and baseline profiles
+         Like d3d11h264dec, we need to relax the condition for profiles of nvh264sldec
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1228>
+
+2020-04-23 23:25:21 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Add constrained-baseline and baseline profile
+         Both profiles are expected to be supported profile by DXVA hardware
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1212>
+
+2020-04-27 20:26:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codecs: Factor out plugin registration
+         This introduce a common place for generic functions and factor out the plugin
+         registration code. This code is nearly identical between implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-27 20:18:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2decoder: Relax width/height return value check
+         The driver adjust the width/height to coded size. This was not an issue for
+         H264, as the coded size is in the bitstream, but is an issue with VP8.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-24 16:15:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.h:
+       * sys/v4l2codecs/linux/vp8-ctrls.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Add VP8 decoder
+         This is derived from the H264 decoder, some boiler plate will be factored out
+         in the following commits.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-28 14:55:00 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+         mfvideosrc: add GRAY16_LE format support
+         FOURCC "Y16 " is used by FLIR Boson USB Video Class (UVC) camera
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1222>
+
+2020-04-26 22:37:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Add fallback for device creation
+         D3D11_CREATE_DEVICE_DEBUG flag will be used while creating d3d11 device
+         to activate debug layer. However, if system doesn't support the
+         debug layer for some reason, we should try to create d3d11 device
+         without the flag. Debug layer should be optional for device creation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1217>
+
+2020-04-28 19:58:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/elements/mfvideosrc.c:
+       * tests/check/meson.build:
+         tests: mfvideosrc: Add unit test
+         Simple test for reuse scenario
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-04-21 20:49:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+         mediafoundation: Disable querying supprted maximum resolution
+         Initializing MFT for checking supported maximum resolution is too
+         slow.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-01-07 17:12:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add h265 encoder
+         Add Media Foundation HEVC encoder
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-01-07 17:45:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh264enc.h:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+       * sys/mediafoundation/gststrmif.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Add h264 encoder
+         Add Media Foundation h264 encoder. If hardware encoders are available
+         on system, they will have higher rank than software encoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2019-10-07 21:49:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson_options.txt:
+       * sys/mediafoundation/gstmfcaptureengine.cpp:
+       * sys/mediafoundation/gstmfcaptureengine.h:
+       * sys/mediafoundation/gstmfsourceobject.c:
+       * sys/mediafoundation/gstmfsourceobject.h:
+       * sys/mediafoundation/gstmfsourcereader.cpp:
+       * sys/mediafoundation/gstmfsourcereader.h:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfutils.h:
+       * sys/mediafoundation/gstmfvideosrc.c:
+       * sys/mediafoundation/gstmfvideosrc.h:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+       * sys/meson.build:
+         mediafoundation: Introduce Microsoft Media Foundation plugin
+         The Microsoft Media Foundation (MF) is the successor of DirectShow.
+         This commit includes two kinds of video capture implementation,
+         one uses IMFSourceReader interface which is available since Windows Vista
+         and the other is based on IMFCaptureEngine interface which is available
+         since Windows 8.
+         Note that this new video source element cannot be used in UWP app
+         for now, since device activation using those APIs are not allowed by MS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-04-12 23:52:28 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * tests/check/libs/h265parser.c:
+         test: h265parser: Add check for high throughput scc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-12 23:39:07 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         libs: h265parser: Add High throughput scc extensions profiles' IDC.
+         It is compitable with scc and we use scc's function to identify it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-12 22:21:01 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * tests/check/libs/h265parser.c:
+         test: h265parser: Add more check or h265 extensions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-11 16:39:03 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         libs: h265parser: select extension profile by profile idc.
+         the old manner does not consider the profile idc. The profile idc should
+         play an more important role in recognizing the profile than the other
+         information. And there is no need to mix profiles of different extensions
+         together to find the closest profile when the bits stream is not standard,
+         different extensions support different features and should not be mixed.
+         The correct way should be recognize the extension category by profile idc
+         firstly, and then find the closest profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-03-19 23:50:39 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         libs: h265parser: rename the FormatRangeExtensionProfile
+         FormatRangeExtensionProfile declares the common bits used for not
+         only format range extensions profiles, but also for several different
+         h265 extension profiles, such as high throughput, screen content
+         coding extensions, etc. And So the old name is not proper.
+         We also rename the get_h265_extension_profile function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-03-20 16:41:16 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         libs: h265parser: Fix a bug for getting extension profile.
+         We should use the traget ExtensionProfile's IDC to check the
+         profile_compatibility_flag, rather than the profile_idc in the
+         stream. The old profile_compatibility_flag check always return
+         true. This causes that profiles with same constraint flags but
+         different profile_idc can't be recognized correctly. For example,
+         the screen-extended-main-444 profile is always be recognized as
+         the high-throughput-444 profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-24 20:56:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Perform low-latency outputting only for live pipeline
+         Frequent outputting might drop throughput-wise performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1211>
+
+2020-04-23 19:47:09 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Output decoded pictures as soon as possible
+         In case of IDR, any previously decoded pictures must be drained
+         before the IDR and POC of IDR should be zero. So we can output
+         IDR immediately. Also, when POC of current picture is expected to be
+         the next output POC, decoder can output the picture as well
+         without waiting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1211>
+
+2020-04-27 17:02:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/d3d11/gstd3d11vp8dec.c:
+         d3d11vp8dec: Remove unused parameters
+         Minor cleanup removing unused picture parameters in two internal functions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1221>
+
+2020-04-28 00:29:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         gsth265parser.h: escape link-like syntax in doc
+
+2020-04-27 11:43:57 +0300  Seppo Yli-Olli <seppo.yli-olli@iki.fi>
+
+       * ext/openh264/gstopenh264plugin.c:
+         openh264: memcmp return value 0 means match Commit e2aa76db79328b7f61536dd19d0373cf920395ad introduced version check guard for OpenH264 binary. There was a boolean error in memcmp so matching OpenH264 was erroneously rejected. Fixes #1278
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1219>
+
+2020-04-26 13:47:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gstvp9picture.c:
+         codecs: fix gir generation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1218>
+
+2020-04-22 14:57:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh264dec.h:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add suppport for environment based primary h264 decoder implementation
+         Introduce GST_USE_NV_STATELESS_CODEC environment to allow user to select
+         primary nvidia decoder implementation. In case the environment
+         GST_USE_NV_STATELESS_CODEC=h264 was set, old nvidia h264 decoder element
+         will not be registered. Instead, both nvh264dec and nvh264sldec
+         factory name will create gstcodecs based new nvidia h264 decoder element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1198>
+
+2020-04-16 23:27:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvdecoder.h:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/nvcodec/gstnvh264dec.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Add H264 stateless codec implementation
+         Introduce GstH264Decoder based Nvidia H.264 decoder element.
+         Similar the element factory name of to v4l2 stateless codec,
+         this element can be configured with factory name "gstnvh264sldec".
+         Note that "sl" in the name stands for "stateless"
+         For now, existing nvh264dec covers more profile and formats
+         (e.g., interlaced stream) than this implementation.
+         However, this implementation allows us to control lower level
+         parameters such as decoded picture buffer management and therefore
+         we can get a chance to improve performance in terms of latency.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1198>
+
+2020-04-22 16:53:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+       * ext/closedcaption/gstcccombiner.h:
+         cccombiner: don't drop buffers on video timestamp discontinuities
+         If we receive video buffers with non-perfect timestamps, the
+         caption buffers' timestamps might fall in the interval between
+         the end of one video buffer and the start of the next one.
+         Make our criteria for dropping that the caption buffer has
+         a timestamp older than the end of the previous video buffer,
+         not older than the start of the new one, unless of course
+         this is the first video buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1207>
+
+2020-04-22 16:51:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: handle gap buffers adequately
+         - Don't try to map them as actual CC data, that was raising
+         a critical
+         - Consume video buffers up to the end of the gap
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1207>
+
+2020-04-24 01:56:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Support avc and avc3 formats
+         h264decoder baseclass provides parsed sps/pps (from codec data) for
+         subclass. Also, since current implementation is putting start code prefix
+         manually, the format of stream should not be matter for subclass.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1214>
+
+2020-04-23 12:28:41 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * ext/spandsp/gstspanplc.c:
+       * ext/spandsp/gstspanplc.h:
+         spanplc: add 'stats' property
+         Allow users to retrieve the number of samples, and their duration,
+         generated using PLC.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1210>
+
+2020-04-21 13:33:54 +0300  Seppo Yli-Olli <seppo.yli-olli@iki.fi>
+
+       * ext/openh264/gstopenh264plugin.c:
+         Have strict version check for OpenH264 to avoid ABI issues This fixes #1274 and no longer trusts soname alone
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1206>
+
+2020-04-23 23:52:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Fix wrong return type from output_picture vfunc
+         Return type should be GstFlowReturn, not gboolean
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1213>
+
+2020-04-23 12:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: set sys frame num before new_picture()
+         Derive classes might need to operate on the current frame at their
+         new_picture() vmethod, so it would be needed to set system_frame_number
+         on picture before calling the vmethod.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1209>
+
+2020-04-22 17:53:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+         h264/h265parse: Fix handling of very last frame
+         Baseparse will never call us back on draining, so going into more: label will
+         cause the current frame to be discarded. So if we have a complete NAL, but not
+         a complete AU, make sure to terminate the frame properly.
+         This is a gression introduce by commit e88d8480709581a2e54b7954c47193b729b23c79 and
+         a194a87b2600a21f1b47b8c89b1c930d5f30de42.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1275
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1208>
+
+2020-02-28 18:14:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11vp8dec.c:
+       * sys/d3d11/gstd3d11vp8dec.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11decoder: Add VP8 decoder element
+         New d3d11 VP8 decoder implementation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-04-23 01:02:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gstvp9picture.c:
+         codecs: Fix some documentation
+         Add missing "transfer full" annotation, etc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:23:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.h:
+       * gst-libs/gst/codecs/gstvp8picture.c:
+       * gst-libs/gst/codecs/gstvp8picture.h:
+       * gst-libs/gst/codecs/meson.build:
+         codecs: Add new baseclass for VP8 decoder
+         This implemenation is similar to VP9 but much simpler than it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 23:31:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Add helper methods for negotiation and decide_allocation
+         The implementation for all codecs is almost the same.
+         No need to duplicate code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:36:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         vp9decoder: Fix small typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:35:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: Reorganize the order of vfunc
+         ... to the order in which it is actually called
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-04-11 03:11:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/kms/gstkmsallocator.c:
+       * sys/kms/gstkmsutils.c:
+       * sys/kms/meson.build:
+         kmssink: Add support for P010 and P016 formats
+         Support high bit-depth YUV formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1188>
+
+2020-04-21 15:30:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Fix videoprocessor leak
+         Clear all objects in dispose function
+
+2020-04-21 15:27:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Drop floating reference count
+         ... and use gst_object_unref instead of g_object_unref for tracer
+         to be happy.
+
+2020-04-20 22:48:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Don't handle gap frame num for the first picture
+         If the first picture is not IDR, it would have non-zero frame_num
+         but it's not gap. We should skip gap frame handling in that case
+
+2020-04-20 16:00:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.c:
+         h264decoder: Add some debug messages
+
+2020-04-16 22:15:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+         v4l2codecs: allocator: use gst_clear_object
+         So tracer can do its job.
+
+2020-04-19 19:18:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/mpegtsmux.c:
+         tsmux: Don't assert sinkpad reference counts in test
+         We can't be sure about the reference count if the muxer is currently
+         running, which can happen in the test_reappearing_pad test. An
+         additional reference might temporarily be owned by the srcpad task of
+         tsmux while iterating over the pads.
+
+2020-04-19 18:37:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264picture: typo in GstH264PictureField enum
+
+2020-04-16 16:17:56 +0000  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: fix caps NULL unref
+         gst_pad_get_current_caps() can return a NULL pointer which was raisin a CRITICAL.
+
+2020-04-16 15:35:44 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: fix memory leak on failing allowed caps
+         When drm does not find any format, the allowed_caps is
+         empty one and need to be unref by the caller.
+         Fix #1268
+
+2020-04-14 17:10:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Save last metadata at the same time as the last buffer
+         The render width/height and the vinfo was only saved upon renegotiation. This
+         fixes the problem by saving this metadata at the same time the buffer is
+         saved. The saved copy of this is needed for expose() and drain() virtual functions.
+         This fixes various assertion that happens on drain query.
+
+2020-03-31 12:42:26 -0400  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/h265parse.c:
+         tests: h265parse: Add unit test for conversion and sliced data
+         testing only byte-stream for now
+
+2019-03-28 17:23:30 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/h264parse.c:
+         tests: h264parse: unit tests for sliced data processing
+
+2019-09-20 15:21:17 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Remove unused arguments
+
+2019-06-12 22:19:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Don't push NALs before we have HEADERS
+         Otherwise we may endup pushing incomplete caps, which cause a renegotiation.
+         Note that this has the effect that caps are no longer pushed twice in presence
+         of valid framerate in the headers.
+
+2018-10-10 15:27:30 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Don't push NALs before we have HEADERS
+         Otherwise we may endup pushing incomplete caps. Note that this has the side
+         effect that caps are no longer pushed twice in presence of VUI with valid
+         framerate.
+
+2018-10-09 16:42:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Differentiate PREFIX SEI from SUFFIX
+         There is some code to fixup broken stream that uses the SEI location,
+         this code is meant to locate SUFFIX SEI only. This should prevent
+         unwanted side effect if SUFFIX SEI is used.
+
+2018-10-03 16:43:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Don't add latency when not needed
+         We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL
+         parsing.
+
+2018-10-03 16:35:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: Propagate MARKER flag
+
+2018-10-09 16:01:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: Don't wait for next NAL if input is aligned
+         Waiting for the next NAL increases the latency. If alignment=nal/au
+         has been negotiated, assumes the the buffer contains a complete
+         NAL and don't expect a second start-code. This way, nal -> nal,
+         au -> au and au -> nal no longer introduce latency.
+         As a side effect, the collect_pad() function was not able to poke at the
+         following NAL. This call is now moved before processing the NAL, so
+         it's looking at the current NAL before it's ingested into the parser
+         state in order to dermin if the end of an AU has been reached. The AUD
+         injection state as been adapted to support this.
+         This change will break pipelines if alignment=nal is used without respecting the
+         alignment. Effectively, the parser will no longer fix the broken aligment
+         which will result in parser error and the termination of the pipeline. Such
+         issue existed in tsdemux element and might exist in any forks of that code.
+         Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1193
+
+2018-10-03 15:53:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Set PTS/DTS and DISCONT on crafted NAL
+         When we inject a NAL in the bitstream before another one, make
+         sure to pass both DTS and PTS. Also make sure to transfer the
+         DISCONT flag properly.
+
+2018-09-27 22:10:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Don't add latency when not needed
+         We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL
+         parsing.
+
+2018-09-28 16:49:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: Propagate MARKER flag
+
+2018-09-25 16:10:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Don't wait for next NAL if input is aligned
+         Waiting for the next NAL increases the latency. If alignment=nal/au
+         has been negotiated, assumes that the buffer contains a complete
+         NAL and don't expect a second start-code. This way, nal -> nal,
+         au -> au and au -> nal no longer introduce latency.
+         As a side effect, the collect_pad() function was not able to poke at the
+         following NAL. This call is now moved before processing the NAL, so
+         it's looking at the current NAL before it's ingested into the parser
+         state in order to dermin if the end of an AU has been reached. The AUD
+         injection state as been adapted to support this.
+         This change will break pipelines if alignment=nal is used without respecting the
+         alignment. Effectively, the parser will no longer fix the broken aligment
+         which will result in parser error and the termination of the pipeline. Such
+         issue existed in tsdemux element and might exist in any forks of that code.
+         Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1193
+
+2018-09-25 16:16:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Set PTS/DTS and DISCONT on crafted NAL
+         When we inject a NAL in the bitstream before another one, make
+         sure to pass both DTS and PTS. Also make sure to transfer the
+         DISCONT flag properly.
+
+2018-09-25 16:11:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Remove no-op assignment
+         upstream was set to *out_ts, setting *out_ts to upstream here will
+         have no effect.
+
+2020-04-13 18:18:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Chain up pad dispose function to the one of the parent class
+         Otherwise we will leak various memory.
+
+2020-04-13 18:04:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Properly release requests pads by chaining up to aggregators function
+
+2020-04-10 19:54:31 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+       * tests/check/elements/mpegtsmux.c:
+         tsmux: Ability for streams to disappear and reappear
+         Until now, any streams in tsmux had to be present when the element
+         started its first buffer. Now they can appear at any point during the
+         stream, or even disappear and reappear later using the same PID.
+
+2020-03-18 17:58:52 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         srt: Accumulate total bytes sent/received over all connections/callers
+         So we don't lose them. Split gst_srt_object_open_internal for internal
+         reconnections that don't reset the accumulated bytes.
+
+2020-03-23 16:38:58 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Fix type of bytes-received-lost
+         The field is a uint64_t.
+
+2020-03-18 18:06:59 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: Remove use of closures for signal emission
+         It seems overly complicated.
+
+2020-03-18 17:55:38 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: Clean up locking
+         Use GST_OBJECT_LOCK (srtobject->element) to protect only the fields
+         involved in property access.
+         Introduce a new mutex srtobject->sock_lock to go with
+         srtobject->sock_cond and protect the list of callers from concurrent
+         access.
+
+2020-03-18 17:54:29 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsink.h:
+       * ext/srt/gstsrtsrc.c:
+       * ext/srt/gstsrtsrc.h:
+         srt: Remove trailing whitespace
+
+2018-10-10 18:36:57 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: Don't pretend doing NAL alignment
+         Per specification in 2.14.2 "For PES packetization, no specific data
+         alignment constraints apply". So we should not advertise NAL
+         alignment.
+         This bug was introduced at the same moment the alignment field was introduced
+         10 years ago. The plan was that alignment=none (or no alignment field) was to
+         be used for mpegtsdemux, but no one noticed the error. The reason is that at
+         the same moment, everything dealing with H264 started defaulting to AU
+         alignment.
+         https://bugzilla.gnome.org/show_bug.cgi?id=606662#c22
+         This patch will have a side effect that a parser is now needed after the
+         tsdemux element. The following pipeline will not negotiate anymore as the
+         mpegtsmux element requires alignment={nal,au}.
+         ... ! tsdemux ! mpegtsmux ! ...
+         As a side effect, anyone that forked from tsdemux should updated their code to
+         fix this bug.
+
+2020-04-13 20:36:50 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Remove useless comparison
+         sei_pic_struct is unsigned and GST_H264_SEI_PIC_STRUCT_FRAME is zero.
+         CID: 1461467
+
+2020-04-13 20:31:14 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Fix some coverity issues
+         - Remove useless comparison
+         - Fix invalid memory access
+         CID: 1461477, 1461476, 1461475, 1461474, 1461279
+
+2020-04-03 15:45:02 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Add support for SHM without requiring EGLDisplay
+         The previous version of the SHM export support still required a valid
+         EGLDisplay. The upcoming WPEBackend-FDO 1.8.x aims to remove this requirement,
+         hence allowing wpesrc to be used without GPU.
+
+2020-04-13 15:21:48 +0900  J. Kim <jeongseok.kim@sk.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: fix mutex lock target
+         GstSRTObject is a structure that has an actual GstElement
+         which is extended to srt{src,sink}.
+
+2020-04-10 21:03:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/v4l2codecs/gstv4l2codecdevice.c:
+       * sys/v4l2codecs/gstv4l2codecdevice.h:
+         v4l2codecs: fix v4l2codecdevice get type
+         Currently the GType of v4l2codecdevice is hardcoded to zero, but it
+         rather should be delivered by the GType system.
+
+2020-04-10 18:22:21 +0300  Jordan Petridis <jpetridis@gnome.org>
+
+       * sys/msdk/gstmsdkdec.c:
+         gstmsdkdec: fix logical operation that misses parenthesis
+         in C, & is weaker than the ! operator and clang is giving the following
+         error about it.
+         ```
+         ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
+         if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+         ^                                              ~
+         ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: note: add parentheses after the '!' to evaluate the bitwise operator first
+         if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+         ^
+         (                                                                   )
+         ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: note: add parentheses around left hand side expression to silence this warning
+         if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+         ^
+         (                                             )
+         1 error generated.
+         ```
+
+2020-03-23 14:40:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: Add minimal state validation
+         ... to prevent requesting decoding before the preparation.
+         For instance, baseclass should not request decoding a picture if there
+         is no parsed valid headers, since subclass is most likely
+         not ready to decoding it.
+
+2020-03-30 15:42:35 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Add APIs to allow update VPS/SPS/PPS
+         gst_h265_parser_parse_{vps,sps,pps} APIs were used to parse VPS/SPS/PPS and
+         also in order to update parser's internal state at once. Meanwhile
+         gst_h265_parse_{vps,sps,pps} APIs are to parse VPS/SPS/PPS without state update.
+         This commit introduces new APIs so that only accepted VPS/SPS/PPS by user
+         can be updated to be used by parser.
+
+2020-03-30 15:27:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Add APIs to allow update SPS/PPS
+         gst_h264_parser_parse_{sps,pps} APIs were used to parse SPS/PPS and
+         also in order to update parser's internal state at once. Meanwhile
+         gst_h264_parse_{sps,pps} APIs are to parse SPS/PPS without state update.
+         This commit introduces new APIs so that only accepted SPS/PPS by user
+         can be updated to be used by parser.
+
+2020-04-09 23:12:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/kms/meson.build:
+         meson: kmssink: Allow fallback only on linux
+         Otherwise fallback will waste meson configure time on non-linux
+
+2020-04-08 01:22:07 +0200  Zeid Bekli <zeidb@axis.com>
+
+       * ext/srtp/gstsrtp.c:
+         srtp: Added support for BYE packet
+         SRTCP can't get SSRC from BYE packet, this will make srtpdec element
+         to drop the package. Adding support to get the SSRC from BYE packets.
+
+2020-04-09 16:12:58 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/plugin.c:
+         nvdec: Don't hardcode DPB size
+         Too many decode surface would waste GPU memory. Also it seems to be
+         introducing additional latency depending on stream. Since nvcodec
+         sdk version 9.0, CUVID parser API has been providing the minimum
+         required number of surface. By using it, we can save GPU memory
+         and reduce possible latency.
+
+2020-04-08 14:21:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecdevice.c:
+         v4l2codecs: Fix FD leak during device enumeration
+         This was revealed by Coverity.
+         CID 1461248
+
+2020-04-07 19:28:27 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstmpdclient.c:
+         dash: fix VARARGS coverity error
+         va_end was not called in every code path due to
+         g_return_val_if_fail.
+         API usage errors  (VARARGS)
+         va_end was not called for "myargs".
+         CID: 1461294
+
+2020-04-08 12:10:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+       * meson_options.txt:
+         Meson: Change extra-checks to feature option and make it yielding
+
+2020-04-08 14:00:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Fix content light level value changes
+         Same as for H265, was found by Coverity.
+
+2020-04-07 17:04:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix content light level value changes
+         The comparision was not testing anything meaninful. This fixes the comparision
+         so we now update the caps whenever the value differ. This was detected by
+         coverity.
+         CID 1461291
+
+2020-04-08 18:39:06 +0200  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2: Avoid a deadlock when getting stats
+         We need to do this without holding the lock as the `g_async_queue_pop`
+         waits on the loop thread to deliver the stats. The loop thread might
+         attempt to take the lock as well, leading to a deadlock.
+         Taking a reference to the connection should be enough to keep this
+         safe.
+
+2020-04-08 15:37:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: Add support for inband timecode update
+         Add new property "update-timecode" to allow updating timecode
+         in picture timing SEI depending on timecode meta. Since the picture
+         timing SEI message requires proper VUI setting but we don't support
+         re-writing SPS, this might not work for some streams
+
+2020-04-08 17:07:36 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Don't unconditionally append timecode meta
+         If upstream buffer has its own timecode metatdata, don't append
+         new timecode meta into the buffer.
+
+2020-04-08 16:24:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst/videoparsers/gsth264parse.c:
+         h264parser: Parse all SEI payload type even if it's not handled by parser
+         ... so that user can handle it from outside of parser API
+
+2020-04-07 20:26:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * tests/check/libs/h264parser.c:
+         h264parser: Add support for creating picture timing SEI
+         This new method can make it possible to inject timecode meta into
+         h264 bitstream
+
+2020-04-07 22:30:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/libs/h264parser.c:
+         tests: h264parser: Fix picture timing SEI
+         The payloadSize don't need to include rbsp_trailing_bits()
+
+2020-04-07 19:32:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Make GstH264PicTiming self-containing all the syntax information
+         ... and store all parsed values.
+         We are storing pic_struct_present_flag although it's not part of
+         this SEI message but GstH264PicTiming includes it to clarify
+         following syntax values.
+         In addition to that, by adding CpbDpbDelaysPresentFlag, we don't need to
+         refer to VUI anymore.
+
+2020-04-07 21:17:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: Fix some misleading debug messages
+
+2020-04-07 09:17:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Fix mismatched argument of declaration and definition
+
+2020-04-06 10:25:37 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/sdp/gstsdpdemux.c:
+       * gst/sdp/gstsdpdemux.h:
+         sdpdemux: don't send EOS for unknown SSRC
+         The rtpbin sends signals for all SSRCs. Don't send an EOS when the SSRC
+         does not match the stream SSRC.
+         This avoids problems when an SSRC from another receiver times out.
+
+2020-04-08 08:47:37 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/libs/codecs/index.md:
+       * docs/libs/codecs/sitemap.txt:
+       * docs/meson.build:
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/meson.build:
+         codecs: Add basic documentation stubs
+
+2020-04-07 17:10:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2decoder: Fix file descriptor leak
+         A copy paste error was leading to file descriptor leak. This was detected by
+         Coverity.
+         CID 1461285
+
+2020-04-06 16:40:38 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/debugutils/gstfakevideosink.c:
+       * gst/debugutils/gstfakevideosink.h:
+         fakevideosink: Allow allocation meta flags fine-tuning
+         In some scenarios the fakevideosink shouldn't advertize the overlay-composition
+         meta for instance, so that overlay elements perform subtitles blending
+         themselves.
+
+2020-04-06 10:19:23 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtspacketizer: be more tolerant when parsing the adaptation field
+         According to the specification, the adaptation field length must be 183 if
+         there is no payload data and < 183 if the packet contains an adaptation
+         field and payload data.
+         Unfortunately some payloaders always set the flag for payload data, even if
+         the adaptation field length is 183.
+         Don't return with an error in this case. Clear the payload data flag
+         instead and parse the adaptation field as usual. This avoids visual
+         artefacts for such streams.
+
+2020-04-06 15:06:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+         codecs: h264: Fix DPB size calculation
+         As per specification in A.3.1 h) and A.3.2 f), the maximum size of the DPB is
+         16. Fix the maximum in the fine and fix the formula to use MIN instead of MAX
+         so that we no longer always use the maximum for the profile/level.
+
+2020-04-01 12:33:38 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9dec.c:
+         msdkvp9dec: add support for VP9 12bit
+         The output formats are P012_LE for 12bit 420 and Y412_LE for 12bit 444.
+
+2020-04-03 18:50:16 -0400  worldofpeace <worldofpeace@protonmail.ch>
+
+       * ext/neon/meson.build:
+         meson: build with neon 0.31
+         No API/ABI changes https://github.com/notroj/neon/blob/0.31.0/NEWS#L3
+
+2020-04-03 17:07:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/vulkan/shaders/meson.build:
+       * meson.build:
+       * sys/d3d11/meson.build:
+         meson: Don't use get_option('buildtype')
+         We should directly check the values of the `debug` and `optimization`
+         options instead.
+         `get_option('buildtype')` will return `'custom'` for most combinations
+         of `-Doptimization` and `-Ddebug`, but those two will always be set
+         correctly if only `-Dbuildtype` is set. So we should look at those
+         options directly.
+         For the two-way mapping between `buildtype` and `optimization`
+         + `debug`, see this table:
+         https://mesonbuild.com/Builtin-options.html#build-type-options
+
+2020-03-23 12:56:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * sys/kms/meson.build:
+         kms: add fallback on libdrm project if available.
+
+2020-03-12 13:28:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-444-12, main-444-12-intra profiles
+         The video format is Y412_LE
+
+2020-03-12 13:21:02 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: map Y412_LE to VA_FOURCC_Y416
+         In media driver, VA_FOURCC_Y416 is used for packed 12 bits 4:4:4:4 YUV
+         format, the corresponding RT format is VA_RT_FORMAT_YUV442_12
+
+2020-03-12 13:12:33 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: map MFX_FOURCC_Y416 to VA_FOURCC_Y416
+         Y416 is used for packed 12 bits 4:4:4:4 YUV format in media driver, the
+         RT format is VA_RT_FORMAT_YUV444_12
+
+2020-03-12 12:58:40 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+       * sys/msdk/msdk.c:
+         msdk: map Y412_LE to MFX_FOURCC_Y416
+         MFX_FOURCC_Y416 is used for packed 12 bits 4:4:4:4 YUV format in
+         MediaSDK
+
+2020-03-11 14:55:33 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-422-12, main-422-12-intra profiles
+         The video format is Y212_LE
+
+2020-03-11 14:35:55 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: map Y212_LE to VA_FOURCC_Y216
+         In media driver, VA_FOURCC_Y216 is used for packed 12 bits 4:2:2 YUV
+         format, the corresponding RT format is VA_RT_FORMAT_YUV422_12
+
+2020-03-11 14:09:11 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: map MFX_FOURCC_Y216 to VA_FOURCC_Y216
+         In media driver, Y216 is used for packed 12 bits 4:2:2 format YUV
+         format, so the RT format is VA_RT_FORMAT_YUV422_12.
+
+2020-03-11 13:54:42 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/msdk.c:
+         msdk: map Y212_LE to MFX_FOURCC_Y216
+         MFX_FOURCC_Y216 is used for packed 12 bits 422 YUV format in MediaSDK
+
+2020-04-03 00:42:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: Fix for wrong parser free function
+
+2020-03-18 12:30:51 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Handle instant rate change requests directly
+         Downstream demuxers will first send seek events upstream to us.
+         Do the right thing with instant rate change requests by handling them
+         immediately.
+
+2020-03-17 19:31:22 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: Don't ignore gst_segment_do_seek() return result
+         gst_segment_do_seek() can fail, so don't ignore the return result
+
+2018-11-30 05:18:42 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         tsdemux: Send instant-rate-change event if requested in the SEEK event
+         Convert instant-rate-change seek events into a downstream
+         instant-rate-change event and skip any further local seek handling.
+
+2020-03-31 20:51:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+         msdkh264enc: Configure parser and SEI array only if it's required
+
+2020-03-31 15:25:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: Add support for CEA708 closed caption insertion
+         Functionally identical to that of msdkh264enc
+
+2020-03-19 18:25:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * tests/check/libs/h265parser.c:
+         h265parser: Add a helper method to create SEI nal unit
+         Add an API to create raw SEI nal unit. This would be useful in case
+         an user want to create SEI nal data and inject the SEI nal data
+         into bitstream.
+
+2020-04-01 19:43:51 +0200  Miguel Paris <mparisdiaz@gmail.com>
+
+       * ext/srtp/gstsrtpdec.c:
+         srtpdec: reduce log level for replay cases
+         These are normal cases, so DEBUG level is enough.
+
+2017-04-11 12:41:11 +0200  Miguel París Díaz <mparisdiaz@gmail.com>
+
+       * ext/srtp/gstsrtp.h:
+       * ext/srtp/gstsrtpdec.c:
+         srtpdec: do not warning old replay errors
+         Reordered packets producing decrypting errors are very normal,
+         so we should filter which errors are warning and which not.
+
+2018-05-29 15:00:43 +0200  Miguel Paris <mparisdiaz@gmail.com>
+
+       * ext/srtp/gstsrtpdec.c:
+       * ext/srtp/gstsrtpdec.h:
+         srtpdec: fix reseting RTP sequence number on ROC changes
+         Each srtp_stream_t is tied to an specific SSRC, so a
+         roc_changed flag should be kept per each SSRC in order to
+         properly reset RTP sequence number on ROC changes.
+
+2020-03-13 16:50:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11format.c:
+         d3d11: Update for video-hdr struct change
+         See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:45:12 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh265enc.c:
+         nvh265enc: Update for video-hdr struct change
+         See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:34:01 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: Update for video-hdr struct change
+         See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:17:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/h265parse.c:
+         h264parse,h265parse: Update for video-hdr struct change
+         See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2018-07-28 14:54:42 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Set duration on buffers base on framerate
+
+2018-06-14 16:20:54 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Derive src fps from vui_time_scale & vui_num_units_in_tick
+
+2018-06-13 16:33:21 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Handle interlaced video
+         For interlaced video:
+         * set the interlace mode in the src caps
+         * double the height from SPS in the caps.
+         * set field latency, instead of frame latency.
+         Fix #778
+
+2020-03-27 13:05:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264picture.c:
+         codecs: h264dpb: Don't leak pic_list GArray
+         The contents was cleared, but the array was never released.
+
+2020-03-26 15:57:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/meson.build:
+         v4l2codecs: Only build this plugin on Linux
+         This is not useful on any other OSs, it will also avoid potential build
+         failure as this code uses Linux specific calls.
+
+2020-03-26 15:38:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Add plugin dependency
+         This ensure that the registry cache get updated when a meaningful change is
+         made in /dev for files named media*.
+
+2020-03-20 12:37:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecpool.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+         v4l2codecs: Wait for buffers to come back
+         This code add required mechanism to try and allocate (not implemented yet)
+         otherwise wait for more buffers. This also comes with mechanism to terminate
+         the wait on flush or PAUSED_TO_READY transitions.
+
+2020-03-20 14:14:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Implement flushing sequence
+         This simply consit of cycling through STREAMOFF/STREAMON with stateless
+         decoders.
+
+2020-03-20 12:35:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+       * sys/v4l2codecs/gstv4l2codecallocator.h:
+         v4l2codecs: allocator: Add method to wait for more buffers
+         This add function to wait for buffers to get back into the pool along with a
+         set_flushing() method to allow unblocking this wait.
+
+2020-03-18 17:03:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecpool.c:
+         v4l2codecs: pool: Create new buffer when pool is empty
+         This simply create an empty GstBuffer when the pool is empty. This way it's up
+         to the allocator to grow or wait if we ran out of memory.
+
+2020-03-18 17:00:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Improve end_picture() robustness
+         Use a goto to ensure that for all cases we cleanup the current picture state.
+         And move the src buffer allocation higher, so we don't queue a bitstream
+         buffer if we don't have a picture buffer to decode into.
+
+2020-03-18 16:51:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264: Do not ignore end_picture() return value
+         If decoding failed because end_picture() failed, set the picture to
+         nonexisting, this way output_picture() will be skipped. This avoids confusing
+         special cases in output_picture() implementation.
+
+2020-02-17 18:08:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+       * sys/v4l2codecs/gstv4l2format.c:
+         v4l2slh264dec: Add output format negotiation
+         This allow negotiating the output format through caps. Some drivers can
+         pipeline the decoder buffer through an image processor. This only support
+         colorspace conversion for now.
+
+2020-03-13 16:51:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+         v4l2format: Convert between V4L2 and GST video format
+         This will be needed in the output format negotiation.
+
+2020-03-13 14:23:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+         v4l2codecs: Read driver provided stride
+         This implements driver stride support but only for single allocation buffers.
+         This code is imported from the original v4l2 plugin and adapted to the new
+         helper context.
+
+2020-03-12 16:15:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2h264dec: Copy frames when GstVideoMeta is not supported
+         In some case, when downstream does not support GstVideoMeta, we need to
+         normalize the stride and offset of the buffer so that downstream can render
+         properly with a GstVideoMeta. This code is not called when GstVideoMeta is
+         supported downstream.
+
+2020-03-11 17:45:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecpool.c:
+       * sys/v4l2codecs/gstv4l2codecpool.h:
+         v4l2codec: Add initial GstVideoMeta support
+         In this patch we strictly set the GstVideoMeta width/height to the coded width
+         and height. Further patches will add stride support and frame copying when
+         downstream does not support GstVideoMeta.
+
+2020-03-09 16:44:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Prevent spurious renegotiation
+         Don't let downstream cause a renegotiation at random point in time. This would
+         lead to spurious renegotiation and the decoder state may not be recoverable.
+
+2020-03-03 21:22:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Hold on picture buffers
+         These buffers should not be reused for decoding until they are no longer
+         referenced.
+
+2020-02-16 17:48:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Fix bytesused value
+         Pass the actual amount of bytes we have copied into the bitstream buffer. Also
+         unmap the memory before queuing.
+
+2020-02-16 14:53:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codech264dec: Implement finish frame
+         This enables the request to be processed by the HW (STREAMON) and to be pushed
+         downstream for further processing.
+
+2020-02-16 14:51:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecdecoder: Add support for dequeuing buffers
+         This includings polling of the request and streamon/streamoff.
+
+2020-02-14 22:13:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2codech264dec: Implement queuing
+         We now pass the controls, associated to a request, queue the bitstream, qeueue
+         a picture buffer to decode into and finally queue the request. This now runs
+         until the buffer pool is exhausted. The next step will be to dequeue.
+
+2020-02-14 22:03:17 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2decoder: Add helpers to queue buffer and requests
+
+2020-02-14 21:57:34 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+       * sys/v4l2codecs/gstv4l2codecallocator.h:
+       * sys/v4l2codecs/gstv4l2codecpool.c:
+       * sys/v4l2codecs/gstv4l2codecpool.h:
+         v4l2codec: Add getter for buffer index in allocator and pool
+
+2020-02-13 17:46:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2h264codecdec: Copy bitstream parameter and data
+         In this patch we fill the control structure with the bitstream paramter and
+         copy the bitstream data into V4L2 memory. Slice paramters are only the subset
+         of what Hantro needs, without any support for interlaced content.
+
+2020-02-12 23:50:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+         v4l2slh264dec: Use the newly introduced allocator / pool
+         We now allocate and free the memory needed for streaming.
+
+2020-02-12 23:45:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+       * sys/v4l2codecs/gstv4l2codecallocator.h:
+       * sys/v4l2codecs/gstv4l2codecpool.c:
+       * sys/v4l2codecs/gstv4l2codecpool.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codec: Add allocator and pool implementation
+         This is a pooling allocator and the buffer pool does nothing other then
+         reusing the GstBuffer structure. Note that the pool is an internal pool, so
+         the start/stop/set_config virtual functions are not implemented.
+
+2020-02-12 23:39:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codec: decoder: Add allocation helper
+
+2020-02-10 18:05:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+         v4l2codecs: Implement H264 format negotiation
+
+2020-02-10 18:02:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2format.c:
+       * sys/v4l2codecs/gstv4l2format.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codecs: Add initial formats helpers
+
+2020-02-09 11:31:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.h:
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Add skeleton of H264 decoder
+         This introduces the skeleton of the H264 decoder. The plugin will list the
+         devices and register a subclass of the GstV4L2CodecH264Dec base class. The
+         subclass will pick the required specific information from the GstV4L2Device
+         stored in the subclass structure.
+
+2020-02-05 21:42:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2decoder.c:
+       * sys/v4l2codecs/gstv4l2decoder.h:
+       * sys/v4l2codecs/meson.build:
+         v4l2codec: Add GstV4L2Deocder helper object
+         This is a GstObject which will be used to hold on media and video device file
+         descriptor and provide abstracted ioctl calls with these descriptor. At the
+         moment this helper contains just enough to enumerate the supported format.
+         This part will be used by the plugin to register the CODEC specific elements..
+
+2020-02-05 21:18:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2codecs/linux/h264-ctrls.h:
+       * sys/v4l2codecs/linux/media.h:
+       * sys/v4l2codecs/linux/types-compat.h:
+       * sys/v4l2codecs/linux/v4l2-common.h:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: Copy all needed Linux kernel headers
+         Most of the features we need are very early or not expose yet in the uAPI.
+         Using an internal copy ensure that we everything we need is defined avoiding
+         to add load of checks and conditionnal code.
+
+2020-02-04 15:52:45 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * meson_options.txt:
+       * sys/v4l2codecs/gstv4l2codecdevice.c:
+       * sys/v4l2codecs/gstv4l2codecdevice.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Add device enumeration
+         This introduces a GstV4L2CodecDevice structure and helper to retrieve a
+         list of CODEC device drivers. In order to find the device driver we
+         enumerate all media devices with UDEV. We then get the media controller
+         topology and locate a entity with function encoder or decoder and make
+         sure it is linked to two V4L2 IO entity pointing to the same device
+         node.
+
+2020-02-03 10:06:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/meson.build:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Introdude a V4L2 CODECs Accelerator plugin
+         This plugin will support new CODECs uAPI in the Linux kernel. These
+         consist of an accelerator interface similar to DXVA, NVDEC, VDPAU and
+         VAAPI.
+
+2020-03-30 20:21:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+         msdkh264enc: Port to h264parser API for frame packing SEI injection
+         Create frame packing SEI memory only once per set_format() and
+         reuse it if possible.
+
+2020-03-24 19:23:46 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Print all the syntax elements of frame packing for debugging
+         Other values might be useful for debugging
+
+2020-03-18 10:11:19 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: support 8-bit 422 encoding
+         The media driver can support HEVC 8-bit 422 encoding for non-lowpower
+         mode since ICL[1], so VPP is not needed for this case.
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=YUY2 ! msdkh265enc ! \
+         filesink location=output.h265
+         [1] https://github.com/intel/media-driver#decodingencoding-features
+
+2020-03-17 15:18:37 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add support for Y210 in sink pad
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y210 !
+         msdkh265enc ! filesink location=output.h265
+
+2020-03-20 09:53:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: add a helper function to get codename of the platform
+         The features supported in MSDK vary from platform to platform. We may
+         support some features based on the codename of the platform in future.
+
+2020-03-24 16:00:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: Try to find corresponding codec frame for encoded output buffer
+         The input and output buffers should be matched as much as possible
+         so that various metadata and its ordering to be preserved.
+
+2020-03-22 20:15:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+       * sys/msdk/meson.build:
+         msdkh264enc: Add support for CEA708 closed caption insertion
+         Currently supported caption format is CEA708_RAW
+
+2020-03-25 17:20:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * tests/check/libs/h264parser.c:
+         h264parser: Add a helper method to create and inject raw SEI data
+         Add an API to create raw SEI nal unit. This would be useful in case
+         an user want to create SEI nal data and inject the SEI nal data
+         into bitstream.
+
+2020-03-19 18:25:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/nalutils.c:
+       * gst-libs/gst/codecparsers/nalutils.h:
+       * tests/check/libs/nalutils.c:
+       * tests/check/meson.build:
+         nalutils: Introduce NAL writer helper methods
+         Add helper methods for writing h264 and h265 NAL
+
+2020-03-22 13:59:52 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Expose SEI clear function to public
+         gsth265parser does it already. Although corresponding API of h265parser is
+         gst_h265_sei_free, _clear suffix is more consistent naming for h264parser
+         since there are gst_h264_{sps,pps}_clear().
+
+2020-03-29 17:34:48 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Add support for array of texture DPB
+         DXVA supports two kinds of texture structure for DPB, one is
+         "1) texture array" and the other is "2) array of texture".
+         1) is a type of texture which is single ID3D11Texture2D object having
+         ArraySize greater than one. So the ID3D11Texture2D itself is a set of texture.
+         Each sub texture of this type mush have identical resolution, format and so on,
+         and the number of sub texture in a texture array is fixed.
+         2) is an array of usual ID3D11Texture2D object. That means each
+         ID3D11Texture2D is independent each other and might have different resolution as well.
+         Moreover, we can modify the number of frames of the array dynamically.
+         This type is more flexible than "1) texture array" in terms of dynamic
+         behavior and also this type of texture can be used for shader resource view
+         but "1) texture array" couldn't be.
+         If "2) array of texture" is supported by driver, DXVA spec is saying that
+         it's preferred format over "1) texture array" in terms of performance.
+
+2019-11-26 15:42:03 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: slice size control
+         Add max-slice-size property to set the maximum slice size
+
+2020-03-27 18:05:55 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         Revert "d3d11decoder: Check decoder status report"
+         This reverts commit 418e6991c19ab5ae6bcf1890f9b947c748ca834d.
+         Not all drivers seem to be friendly to this API.
+         Revert to avoid incomprehensible crash with Nvidia.
+
+2020-03-26 21:20:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Always reuse swapchain
+         DXGI format can be updated via ResizeBuffers()
+
+2020-03-09 20:29:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Reorganize display colorspace selection
+         The set of supported color space by DXGI is not full combination of
+         our colorimetry. That means we should convert color space to one
+         of supported color space by DXGI. This commit modifies the color space
+         selection step so that d3d11window can find the best matching DXGI color space
+         first and then the selected input/output color space will be referenced
+         by shader and/or d3d11videoprocessor.
+
+2020-03-27 15:40:00 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2src: Add idle-timeout property
+         Add new property to signalling that there is no incoming data
+         from peer. This can be useful if users want to stop the streaming
+         when the connection is alive but no packet is arriving.
+
+2020-03-27 10:34:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+         dtls/connection: fix EOF handling with openssl 1.1.1e
+         openssl 1.1.1e does some stricker EOF handling and will throw an error
+         if the EOF is unexpected (like in the middle of a record).  As we are
+         streaming data into openssl here, it is entirely possible that we push
+         data from multiple buffers/packets into openssl separately.
+         From the openssl changelog:
+         Changes between 1.1.1d and 1.1.1e [17 Mar 2020]
+         *) Properly detect EOF while reading in libssl. Previously if we hit an EOF
+         while reading in libssl then we would report an error back to the
+         application (SSL_ERROR_SYSCALL) but errno would be 0. We now add
+         an error to the stack (which means we instead return SSL_ERROR_SSL) and
+         therefore give a hint as to what went wrong.
+         [Matt Caswell]
+         We can relax the EOF signalling to only return TRUE when we have stopped
+         for any reason (EOS, error).
+         Will also remove a spurious EOF error from previous openssl version.
+
+2020-03-25 14:46:15 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: mark streams as active on renegotiation as well.
+         Otherwise when bundling, only the changed streams would be considered as
+         to whether the bundled transport needs to be blocked as all streams are
+         inactive.
+         Scenario is one transceiver changes direction to inactive and as that is
+         the only change in transciever direction, the entire bundled transport would
+         be blocked even if there are other active transceivers inside the same bundled
+         transport that are still active.
+         Fix by always checking the activeness of a stream regardless of if the
+         transceiverr has changed direction.
+
+2020-01-13 13:50:26 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: add alternate support
+         Allow downstream elements to negotiate the alternate interlace mode,
+         splitting each input buffer in two fields, each having their own buffer.
+
+2020-02-28 12:31:46 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: factor out interlace_mode_from_pattern()
+
+2020-01-23 15:17:45 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: factor out gst_interlace_push_buffer()
+
+2020-01-23 15:10:36 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: factor out gst_interlace_decorate_buffer_ts()
+
+2020-01-23 14:31:02 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: rename copy_field()
+         It is actually copying both fields (to a single frame/buffer).
+
+2020-03-21 20:16:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/check/libs/h265parser.c:
+         tests: h265parser: Add test for registered user data SEI
+
+2020-03-21 19:41:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Fix registered user data SEI leak
+         ... and add fix for the SEI data in gst_h265_sei_copy()
+
+2020-03-21 18:25:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Do not allocate too large size of memory for registered user data SEI
+         Don't be confused by the unit of payload size (i.e., bits and bytes)
+         Also this need a documentation with Since mark
+
+2020-03-21 18:39:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Do not allocate too large size of memory for registered user data SEI
+         Don't be confused by the unit of payload size (i.e., bits and bytes)
+         Also this need a documentation with Since mark
+
+2020-03-23 12:55:13 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Enable SHM support for new stable WPEBackend-FDO release
+         1.5.0 was the development version.
+
+2020-02-10 18:28:05 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Mouse scroll events support
+
+2020-02-29 22:19:57 -0600  James Westman <james@flyingpimonster.net>
+
+       * sys/applemedia/avfdeviceprovider.m:
+         applemedia: Add some properties to GstAvfDevice
+         Adds properties to the devices listed in GstDeviceMonitor by the
+         applemedia plugin.
+         These properties are:
+         - device.api (always set to "avf")
+         - avf.unique_id
+         - avf.model_id
+         - avf.manufacturer (except on iOS)
+         - avf.has_flash
+         - avf.has_torch
+         Everything except device.api is taken directly from the AVCaptureDevice object
+         provided by AVFoundation.
+
+2020-03-20 20:27:05 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Set mpegversion for AAC ADTS stream based on parsed ADTS header
+         Both 2 and 4 are supported version of AAC ADTS format stream.
+         So we need to set correct version to help negotiation
+         especially for non-autopluggable pipeline.
+
+2020-03-10 15:42:48 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-12, main-12-intra profiles
+         The video format is P012_LE
+
+2020-03-10 16:03:55 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: map P012_LE to VA_FOURCC_P016
+         In media driver, VA_FOURCC_P016 is used for semi-planar 12 bits YUV
+         format, the corresponding RT format is VA_RT_FORMAT_YUV420_12
+
+2020-03-10 15:41:50 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: map MFX_FOURCC_P016 to VA_FOURCC_P016
+         P016 is used for semi-planar 12 bits format in the media driver, so the
+         RT format is VA_RT_FORMAT_YUV420_12
+
+2020-03-10 15:32:43 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/msdk.c:
+         msdk: map P012_LE to MFX_FOURCC_P016
+         MFX_FOURCC_P016 is used for semi planar 12 bits YUV format in MediaSDK
+
+2020-03-20 14:53:40 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdkvp9enc: add support for 10 bits 444 input
+         The input format is Y410 in sink pad and the corresponding profile in
+         src pad is profile 3
+
+2020-03-20 14:38:12 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdkvp9enc: add support for 8 bits 444 input
+         The input format is VUYA in sink pad and the corresponding profile in
+         src pad is profile 1
+
+2020-03-22 22:30:15 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/gstmsdkbufferpool.c:
+         msdkbufferpool: Fix build warning on Windows
+         gstmsdkbufferpool.c(274): warning C4101: 'fd': unreferenced local variable
+
+2020-01-22 11:29:03 +0000  Guillermo Rodríguez <guille.rodriguez@gmail.com>
+
+       * tests/examples/waylandsink/main.c:
+       * tests/examples/waylandsink/wayland-threads.c:
+         examples/wayland: unref GstContext after use
+
+2020-03-19 09:28:28 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: add YV12 format to src pad
+         VPP YV12 output format support added since
+         MFX_VERSION 1032.
+         https://github.com/Intel-Media-SDK/MediaSDK/pull/2027
+
+2020-03-15 19:20:47 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/stub/cuda.h:
+         nvdec: Add fallback for CUDA/OpenGL interop failure
+         It happens when local OpenGL context belongs to non-nvidia GPU.
+
+2020-03-16 17:19:04 +0100  Victor Manuel Jaquez Leal <vjaquez@noite.lan>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+       * gst-libs/gst/codecparsers/gstvp8parser.h:
+         libs: codecparser: add missing unstable api warning
+         mpeg4 and vp8 parsers didn't show that compilation warning as the
+         others parsers.
+
+2020-03-15 12:44:31 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+         webrtcdsp: Fix documentation markup
+
+2020-03-15 10:46:24 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/openni2/gstopenni2src.cpp:
+         openni2: Remove spurious gtk-doc markers
+
+2020-03-15 10:45:25 +0000  Philippe Normand <philn@igalia.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Remove spurious gtk-doc marker
+
+2020-03-13 17:47:46 +0000  Philippe Normand <philn@igalia.com>
+
+       * docs/meson.build:
+         docs: Scan C++ files too
+
+2020-02-12 11:23:18 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/meson.build:
+         msdk: meson: check whether mfxExtVP9Param is defined
+         User reported MFX_VERSION is 1026 however the build is broken[1], so add
+         the check for mfxExtVP9Param to make sure it can be build without
+         compiler error.
+         In addtion, it fixes a stupid typo (#endif') introduced by me.
+         [1] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/988#note_408093
+
+2020-03-12 12:13:10 +0100  rubenrua <rgonzalez@fluendo.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfmux.h:
+       * sys/msdk/gstmsdkcontext.c:
+         asfmux: Fix typo in property description
+         s/milisecs/milliseconds/g
+
+2020-03-11 21:37:27 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Plug a leak
+
+2020-02-01 11:52:04 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegts: Add a property to ignore broken PCR streams
+         Some mpeg-ts (HLS, DVB, ...) streams out there have completely broken
+         PCR streams on which we can't reliably recover correct timestamps.
+         For those, provide a property that will ignore the program PCR stream
+         (by faking that it's not present (0x1fff)).
+
+2020-03-11 17:18:56 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegdemux.h:
+         mpegdemux: Add ignore-scr property to ignore broken SCR
+         Some MPEG-PS streams might not be compliant but the SCR can be ignored
+         if PTS/DTS in PES header is consistently increased.
+
+2020-03-11 17:42:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Remove whitespace
+
+2020-03-10 11:52:23 +0800  yychao <yychao@realtek.com>
+
+       * ext/smoothstreaming/gstmssmanifest.c:
+         smoothstreaming: fix H264 CodecPrivateData parsing
+         Do not pass SPS nal_unit_type (0x67) into gst_h264_parse_sps()
+         Fixes #648
+
+2020-03-10 17:40:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: In-band sps/pps update if only codec_data differs in src caps
+         Apply in-band sps/pps resending implementation to h265parse.
+
+2020-03-10 13:20:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: In-band sps/pps update if only codec_data differs in src caps
+         Initially the case "only codec_data is different" was addressed in
+         https://bugzilla.gnome.org/show_bug.cgi?id=705333 in order for
+         unusual bitstreams to be handled. That's the case where sps and pps
+         are placed in bitstream. When sps/pps are signalled only via caps
+         by upstream, however, the updated codec_data is mandatory for decoder
+         and therefore we shouldn't ignore them.
+
+2020-03-10 16:32:59 +0900  Dong Il Park <dongil.park@lge.com>
+
+       * gst/mpegtsdemux/gstmpegdesc.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Add format_identifier for AC4 codec
+         According to following spec document, add format_identifier for AC4 in tsdemux.
+         ETSI TS 103 190-2 V1.2.1 : Annex D : AC-4 in MPEG-2 transport stream
+
+2020-03-09 17:00:01 +0800  yychao <yychao@gmail.com>
+
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst/mpegtsdemux/gstmpegdefs.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Add support for AC4
+         According to following two specs, add support for AC4 in tsdemux.
+         1. ETSI TS 103 190-2 V1.2.1 (2018-02) : Annex D (normative): AC-4 in MPEG-2 transport streams
+         2. ETSI EN 300 468 V1.16.1 (2019-08) : Annex D (normative):Service information implementation of AC-3, EnhancedAC-3, and AC-4 audio in DVB systems
+
+2020-03-09 21:21:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Use GPtrArrays or store items inline instead of using GArrays of pointers
+
+2020-03-10 05:18:40 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtcbin: Prevent ICE gathering state reaching complete early
+         The ICE gathering state can transition to complete prematurely if the
+         underlying ICE components complete their gathering while the initial
+         ICE gathering state task is queued and still pending.
+         In that situation, the ice gathering state task will report complete
+         while there are still ICE candidates queued for emission.
+         Prevent that by storing ICE candidates in an array and checking if
+         there are any pending before reporting a completed ICE gathering
+         state.
+
+2020-03-10 04:22:57 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+         webrtc: Protect the pending ICE candidates array
+         ICE candidates can be added to the array directly from the application
+         or from the webrtc main loop. Rename it to make it clear that it's
+         holding remote ICE candidates from the peer, and protect it with a
+         new mutex
+
+2020-03-07 19:41:53 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11vp9dec: Add support for internal frame resizing
+         VP9 codec allows resizing reference frame by spec. Handling this case
+         is a bit tricky especially when the resizing happens on non-keyframe,
+         because pre-allocated decoder textures (i.e., dpb) have negotiated
+         resolution and to change resolution meanwhile decoding on non-keyframe,
+         each texture might need to be re-created, copied to new dpb somehow,
+         and re-negotiated with downstream.
+         Due to the complicated requirement of negotiation driven
+         resizing handling, this commit adds shader into d3d11decoder object
+         to resize only corresponding frames. Note that if the resolution change
+         is detected on keyframe, decoder will re-negotiate with downstream.
+
+2020-03-07 19:38:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Set GstVideoAlignment to downstream d3d11 buffer pool
+         To copy decoder output texture to another d3d11 texture, the downstream
+         texture needs to be aligned too.
+
+2020-03-07 16:42:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Use aligned resolution for staging texture
+         Not only any textures for decoder output view, any destination texture
+         which would be copied from decoder output texture need to be aligned too.
+         Otherwise driver sometimes crashed/hung (not sure why).
+
+2020-03-07 18:29:20 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+         d3d11colorconverter: Add support cropping
+         Vertex buffer will be updated if input texture resolution is different
+         from GstVideoInfo or when an user requests specific crop area.
+
+2020-03-07 15:10:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+         d3d11bufferpool: Add padding space for semi-planar YUV formats
+         Resolution of NV12, P010, and P016 formats must be multiple of two.
+         Otherwise texture cannot be created. Instead of doing this alignment
+         per API consumer side, do this in buffer pool for simplicity.
+
+2020-03-08 16:10:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+         h265decoder: Pass max_dpb_size to new_sequence vfunc
+         same as we are doing in h264decoder
+
+2020-03-08 16:03:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+         d3d11h264dec: Make use of max_dpb_size passed by baseclass
+         Most likely this modification can save GPU memory.
+
+2020-02-26 20:24:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h265dec.c:
+         d3d11h265dec: Fix scaling list parsing
+         Scaling list can be signalled via sps or pps. Decoder should check
+         both of them.
+
+2020-02-26 17:44:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h265dec.c:
+         d3d11h265dec: Properly signal the ucNumDeltaPocsOfRefRpsIdx
+         ucNumDeltaPocsOfRefRpsIdx should be the NumDeltaPocs[RefRpsIdx].
+
+2020-02-26 17:33:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+         h265parser: Store NumDeltaPocs of reference for hardware accelerators
+         That's the value of NumDeltaPocs[RefRpsIdx] and we might be able to derive
+         the value from given sps and slice header.
+         Because well known hardware implementations refer to the value, however,
+         storing the value makes things easier.
+         Following is the list of hardware implementations
+         * DXVA2: ucNumDeltaPocsOfRefRpsIdx
+         * NVDEC/VDPAU: NumDeltaPocsOfRefRpsIdx
+
+2020-02-24 20:53:49 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         h265decoder: Fix for output and removal picture from DPB
+         See C.5.2.2 Output and removal of pictures from the DPB.
+         If the number of pictures in the DPB is greater than or equal to
+         sps_max_dec_pic_buffering_minus1[HighestTid] + 1, then the picture
+         should be outputted.
+
+2020-03-06 16:40:50 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/meson.build:
+         meson: codecs: Don't install header
+         This library is not intended to be public. APIs are likely to
+         change over time and should not be disclosed to people yet.
+
+2020-03-05 14:40:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         h264decoder: Rename some internals
+         No more a part of d3d11 implementation
+
+2020-03-05 14:35:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         vp9decoder: Update document
+         s/GstH264Picture/GstVp9Picture/g and minor update since this baseclass
+         is no more d3d11 specific one.
+
+2020-03-05 14:29:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: Change output_picture() to mandatory implementation
+         GstVideoCodecFrame is expected to be consumed by subclass
+         per output_picture(). So the implementation cannot be optional.
+
+2020-03-05 17:23:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+         h265decoder: Port to nal type classification macro
+         ... and remove namespaceless macro methods from baseclass
+
+2020-03-05 15:18:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst/videoparsers/gsth265parse.c:
+       * tests/check/libs/h265parser.c:
+         h265parser: Add helper macro for nal type classification
+         Add some macros to remove code duplication and to make it more readable
+
+2020-03-05 09:17:49 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: Avoid elements name duplication
+         By just letting GStreamer choose a good name
+
+2020-03-03 15:21:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11: Use gst_video_decoder_get_frame()
+         Now that the system_frame_number is saved on the pictures we can use
+         gst_video_decoder_get_frame() helper instead of getting the full list
+         and looping over it.
+
+2020-02-14 21:50:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+         h264picture: Add system_frame_num
+         This allow cross-referencing GstH264Picture and GstVideoCodecFrame.
+
+2020-02-14 21:49:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Add some fixmes
+         Some of the syntax element do not use the spec name, which makes them harder
+         to find in the spec.
+
+2020-02-12 23:48:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+         codecs: Pass the max_dpb_size to new_segment virtual
+         On new_segment, the decoder is expected to negotiate. The decoder may want to
+         pre-allocate the needed buffers. Pass the max_dpb_size as this is needed to
+         determin how many buffers should be allocated.
+
+2020-02-09 11:20:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * gst-libs/gst/codecs/gsth265picture.h:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+         codecs: Add missing auto cleanup funcs
+
+2020-01-31 17:54:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/codecs-prelude.h:
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * gst-libs/gst/codecs/gsth264picture.c:
+       * gst-libs/gst/codecs/gsth264picture.h:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * gst-libs/gst/codecs/gsth265picture.c:
+       * gst-libs/gst/codecs/gsth265picture.h:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+       * gst-libs/gst/codecs/gstvp9picture.c:
+       * gst-libs/gst/codecs/gstvp9picture.h:
+       * gst-libs/gst/codecs/meson.build:
+       * gst-libs/gst/meson.build:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/meson.build:
+         Move CODEC base classes into it's own library
+         This introduce a library which contains a set of base classes which
+         handles the parsing and the state tracking for the purpose of decoding
+         different CODECs. Currently H264, H265 and VP9 are supported. These
+         bases classes are used to decode with low level decoding API like DXVA,
+         NVDEC, VDPAU, VAAPI and V4L2 State Less decoders. The new library is
+         named gstreamer-codecs-1.0 / libgstcodecs.
+
+2020-03-05 04:18:03 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Don't crash in ICE gathering
+         Fix a crash collating ICE gathering states if there are
+         unassociated transceivers in the list with no TransportStream
+
+2020-03-03 14:56:47 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: add converters before filters
+         User doesn't have any guarantee about the actual raw format decodebin will
+         produce so their filters may or may not fit.
+         Fix #1228
+
+2020-03-03 15:21:31 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: fix logs when failing to link filter
+         - Display caps of the pad we actually tried to link.
+         - Use the template caps as the filter is likely to not have any caps set
+         yet.
+         - Log pad name as well.
+
+2020-02-21 13:12:39 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Add seeking support
+         The approach is quite simple and doesn't take all use cases into account,
+         it only implements support when we are using the internal timecode we
+         create ourself.
+         Also the way we compute the sought frame count is naive, but it works
+         for simple cases.
+
+2020-03-03 03:39:50 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportstream.h:
+         webrtc: Unblock transportreceivebin for send-only bundled streams
+         If there is any active mline in a bundle, we need to unblock
+         the transportreceivebin for DTLS setup and RTCP reception,
+         otherwise no data can ever start flowing.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1206
+
+2020-02-29 01:47:52 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportreceivebin.h:
+         webrtc: Remove RECEIVE_STATE_DROP from transportreceivebin
+         As per discussion in the bug, remove the drop state from transportreceivebin.
+         Dropping data is necessary, but for bundled config, needs to happen
+         further downstream after mixed flows have been separated.
+         Also support switching back to BLOCK from PASS state.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1206
+
+2020-02-27 14:54:13 +0100  Dominique Leuenberger <dimstar@opensuse.org>
+
+       * gst-libs/gst/wayland/meson.build:
+         build: Fix build on systems with wayland-client headers in non-default location
+         Add a missing dependency to wl_client_dep for the wayland build. Some distros
+         have the wayland-client headers not installed in /usr/include (which is perfectly
+         valid, the pkg-config .pc file gives the right feedback).
+
+2020-03-02 15:22:49 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstvp9decoder.c:
+         d3d11vp9dec: Add support for reverse playback
+         This commit moves parsing code for superframe and frame header into
+         handle_frame() method, and removes parse() implementation from vp9decoder
+         baseclass.
+         The combination of
+         - multiple frames are packed in a given input buffer (i.e., superframe)
+         - reverse playback
+         seems to be complicated and also it doesn't work as intended in some case
+
+2020-03-03 10:49:08 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2: Only grab stats on close when connection exists
+         If the connection attempt failed, self->connection is NULL.
+
+2020-02-29 12:49:06 +0000  Matthew Read <matthew@ekioh.com>
+
+       * sys/opensles/openslessink.c:
+         openslessink: Allow openslessink to handle 48kHz streams.
+         The most common audio sample rate in AV streams is 48kHz, and the most
+         common device output sample rate is 48kHz. This allows handing of 48kHz
+         input streams without resampling.
+         Remove comments about avoiding the use of 48kHz.
+
+2020-02-27 14:10:16 +0000  Heinrich Kruger <heinrich.kruger@sohonet.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+         decklink: Add support for 2K DCI video modes
+         Extend the video modes supported by the decklink plugin to include 2K
+         DCI video modes.
+
+2020-02-27 11:32:17 +0000  Heinrich Kruger <heinrich.kruger@sohonet.com>
+
+       * sys/decklink/linux/DeckLinkAPI.h:
+       * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+       * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+       * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/linux/DeckLinkAPIModes.h:
+       * sys/decklink/linux/DeckLinkAPITypes.h:
+       * sys/decklink/linux/DeckLinkAPIVersion.h:
+       * sys/decklink/linux/LinuxCOM.h:
+       * sys/decklink/osx/DeckLinkAPI.h:
+       * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+       * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+       * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+       * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/osx/DeckLinkAPIModes.h:
+       * sys/decklink/osx/DeckLinkAPIStreaming.h:
+       * sys/decklink/osx/DeckLinkAPITypes.h:
+       * sys/decklink/osx/DeckLinkAPIVersion.h:
+       * sys/decklink/win/DeckLinkAPI.h:
+       * sys/decklink/win/DeckLinkAPI_i.c:
+         decklink: Update Decklink SDK to 10.11.4
+         This change is needed to support 2K DCI video modes.
+         Version 10.8 of the Decklink SDK supported DCI video modes for output
+         only. This updated version drops that restriction.
+         The current latest version of the Decklink SDK is 11.5, however
+         the gstreamer decklink plugin is not compatible with API changes
+         introduced in version 11 of the SDK. Therefore I have opted to upgrade
+         to the latest 10.x version instead.
+
+2020-03-03 14:27:32 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/dash/meson.build:
+         dash: add build-dep on pbutils
+         Fixes dependency issues:
+         FAILED: subprojects/gst-plugins-bad/ext/dash/8bd0b95@@gstdash@sha/gstdashsink.c.obj
+         cl @subprojects/gst-plugins-bad/ext/dash/8bd0b95@@gstdash@sha/gstdashsink.c.obj.rsp
+         C:\builds\ystreet\gst-plugins-base\gst-build\subprojects\gst-plugins-base\gst-libs\gst/pbutils/pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory
+
+2020-02-18 14:02:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+         vulkan/window/xcb: implement keyboard support
+
+2020-02-17 15:09:58 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+       * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+         vulkan/window/xcb: implement mouse event support
+
+2020-02-17 15:08:47 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vksink.h:
+         vulkan/sink: implement GstNavigation support
+
+2020-02-17 15:07:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkswapper.h:
+         vulkan/swapper: add get_surface_rectangles
+         Retrieve the input, output and covered rectangles.
+
+2020-02-17 15:05:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+         vulkan/display: implement thread-safe find_window()
+
+2020-02-17 15:03:34 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+         vulkan/window: add support for mouse/keyboard events
+
+2020-03-02 20:55:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11videosink: Clarify the meaning of various width and height variables
+         * Remove redundant variables for width/height and par from GstD3D11Window.
+         GstVideoInfo holds all the values.
+         * Don't need to pass par to gst_d3d11_window_prepare().
+         It will be parsed from caps again
+         * Remove duplicated math
+         Fixing regression of the commit 9dada901083fec3276cb2df58785db14b87e8f22
+
+2020-02-28 03:08:23 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * sys/d3d11/gstvp9decoder.c:
+         d3d11vp9dec: Port to GstVP9SuperframeInfo
+         The vp9parser is now exposed new API for parsing superframe info.
+
+2020-03-02 00:43:45 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * tests/check/libs/vp9parser.c:
+       * tests/check/meson.build:
+         tests: vp9parser: Add test parsing superframe
+
+2020-02-28 03:06:47 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gstvp9parser.c:
+       * gst-libs/gst/codecparsers/gstvp9parser.h:
+         vp9parser: Add new API for parsing superframe info
+         Some elements are using their own implementations for superframe parsing.
+         To reduce redundant code, we need to add API to the parser.
+
+2020-02-27 18:31:19 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: mark properties as GST_PARAM_MUTABLE_READY
+         They are all used in the READY to PAUSED transition so should not be
+         changed after.
+
+2020-02-27 17:16:45 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: force decoding if a filter is defined
+         Filter operates on raw data so don't allow decodebin to produce
+         encoded data if one is defined.
+         My use case here is keeping the video stream untouched but apply a filter
+         on the audio one, while keeping the same audio format.
+
+2020-02-27 17:03:42 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: logs when inserting, or not, a filter
+         It's not easy atm to figure out from the logs if a filter has actually be
+         inserted or not.
+
+2020-02-26 16:13:21 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Do not print warning message if retry count is in expected range
+         gst_d3d11_result() will print warning message when HRESULT != S_OK.
+         However, since the retry is trivial stuff, check hr == E_PENDING first
+         and do not warn it.
+
+2020-02-26 15:55:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Check decoder status report
+         ... and if h/w decoder reports error, increase error count.
+
+2020-02-27 18:16:27 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/debugutils/gstfakevideosink.c:
+         fakevideosink: Align max-lateness/processing-deadline to GstVideoSink
+         To emulate correctly the timing video of a real sink, let's set those
+         properties just like a real video sink.
+
+2020-02-14 01:42:34 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/nicetransport.c:
+       * gst-libs/gst/webrtc/dtlstransport.c:
+         webrtc: Use the dtlssrtenc rtp-sync property
+         Instead of synchronising at the ICE transport, do clock sync for the
+         RTP stream at the DTLS transport via the dtlssrtpenc rtp-sync
+         property. This avoids delaying RTCP while waiting until it is time
+         to output an RTP packet when rtcp-mux is enabled.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1212
+
+2020-02-14 01:38:14 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/dtls/gstdtlssrtpenc.c:
+       * ext/dtls/gstdtlssrtpenc.h:
+         gstdtlsrtpenc: Add rtp-sync property
+         Add an rtp-sync property which synchronises RTP streams
+         to the pipeline clock before passing them to funnel for
+         merging with RTCP.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1212
+
+2020-02-27 11:39:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/dash/gstxmlhelper.c:
+         dash: Don't use sscanf + glib format modifiers
+         We do not have a way to know the format modifiers to use with string
+         functions provided by the system. `G_GUINT64_FORMAT` and other string
+         modifiers only work for glib string formatting functions. We cannot
+         use them for string functions provided by the stdlib. See:
+         https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
+         F.ex.
+         ```
+         ../ext/dash/gstxmlhelper.c: In function 'gst_xml_helper_get_prop_unsigned_integer_64':
+         ../ext/dash/gstxmlhelper.c:473:40: error: unknown conversion type character 'l' in format [-Werror=format=]
+         if (sscanf ((gchar *) prop_string, "%" G_GUINT64_FORMAT,
+         ^~~
+         In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32,
+         from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32,
+         from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib.h:30,
+         from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/gstreamer-1.0/gst/gst.h:27,
+         from ../ext/dash/gstxmlhelper.h:26,
+         from ../ext/dash/gstxmlhelper.c:22:
+         /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
+         #define G_GUINT64_FORMAT "llu"
+         ^
+         ../ext/dash/gstxmlhelper.c:473:40: error: too many arguments for format [-Werror=format-extra-args]
+         if (sscanf ((gchar *) prop_string, "%" G_GUINT64_FORMAT,
+         ^~~
+         ```
+         In the process, we're also following the DASH MPD spec more closely
+         now, which specifies that ranges must follow RFC 2616 section 14.35.1:
+         https://tools.ietf.org/html/rfc2616#page-138
+
+2020-02-26 21:11:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlscertificate.c:
+         dtls: Set a random serial number and issuer/subject in the self-signed certificates
+         This is also what Chrome and Firefox are doing, citing privacy concerns.
+         Also putting OpenWebRTC from Sweden as issuer/subject is rather
+         confusing.
+
+2020-02-26 09:08:03 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: consider 'any' as no restriction
+         gstreamer-rs set 'any' as default restriction which actually means 'no
+         restriction' so handle it as the absence of restriction.
+
+2020-02-26 13:11:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Set DXGI_PRESENT_ALLOW_TEARING only in fullscreen mode
+         The DXGI_PRESENT_ALLOW_TEARING flag might cause unexpected tearing
+         side effect. Setting it in fullscreen mode only seems to be
+         the correct usage as in the Microsoft's direct3d examples.
+
+2020-02-25 21:03:06 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/transcode/gsttranscodebin.c:
+         transcodebin: fix caps leak
+         encodecaps was leaked if the profile has restrictions.
+
+2020-02-25 14:58:23 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2locationhandler.c:
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+         rtmp2: Allow setting flash-version
+         In case the application has to deal with fussy servers. User agent
+         sniffing is so last decade.
+         Adds a property to set the Flash version on both the sink and the src.
+         The default stays the same (IIRC, Flash plugin for Linux from 2009).
+
+2020-02-15 04:18:07 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Skip unused bits in an SEI.
+         Alternative approach to 18b54f8d347030c73d8afbeaf55df57aa5acbb96
+         that skips all bits in a broken SEI correctly.
+
+2020-02-12 17:37:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         Revert "h265parser: Skip unused SEI bits differently"
+         This reverts commit 18b54f8d347030c73d8afbeaf55df57aa5acbb96.
+
+2020-02-11 12:21:29 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/libs/h265parser.c:
+         tests: add picture timing SEI parsing
+
+2020-02-07 00:13:49 -0800  Dylan Yip <dylan.yip@xilinx.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parse: Fix offset by one error in pic timing SEI
+         Offset by one error causes a free/malloc error when parsing pic timing
+         SEI messages.
+
+2020-02-21 21:02:47 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Ensure the written bitstream buffer size is 128 bytes aligned
+         DXVA spec is saying that the size of bitstream buffer provided by hardware decoder
+         should be 128 bytes aligned. And also the host software decoder should
+         align the size of written buffer to 128 bytes. That means if the slice
+         (or frame in case of VP9) size is not aligned with 128 bytes,
+         the rest of non 128 bytes aligned memory should be zero-padded.
+         In addition to aligning implementation, some variables are renamed
+         to be more intuitive by this commit.
+
+2020-02-12 10:24:55 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: libva: Don't set the hint if MFX_VERSION is lower than 1025
+         MFX_MEMTYPE_VIDEO_MEMORY_ENCODER_TARGET is defined since MFX_VERSION
+         1025.
+
+2020-01-27 15:13:58 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2: Expose connection stats as property
+         Save the stats before we destroy the connection, so we can still
+         retrieve them afterwards.
+
+2020-02-14 14:53:46 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+         rtmp2: Add gst_rtmp_connection_get_stats and _get_null_stats
+         The former uses a thread-safe way of getting statistics from the
+         connection without having to protect the fields with a lock.
+         The latter produces a zeroed statistics structure for use when no
+         connection exists.
+
+2020-02-14 12:34:44 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Count outgoing bytes and acked bytes
+         For statistics.
+
+2020-01-27 16:30:20 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2sink: Add a property for the outgoing chunk size
+
+2020-02-14 12:34:19 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+         rtmp2: Add gst_rtmp_connection_set_chunk_size
+
+2020-01-27 16:22:20 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Handle outgoing set chunk/window size properly
+         Apply outgoing sizes only after writing the chunk to the peer. This is
+         important particularly for the set chunk size and allows exposing it
+         without threading issues.
+
+2020-01-27 14:05:31 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Chunk messages as buffers in loop thread
+         Move output chunking from gst_rtmp_connection_queue_message into
+         gst_rtmp_connection_start_write, which effectively moves it from the
+         streaming thread into the loop thread.
+         This allows us to handle the outgoing chunk-size message (which is
+         generated by changing the future chunk-size property) properly, which
+         could come from any other thread.
+
+2020-02-12 16:55:15 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Consistently use GstBuffer for RTMP chunks
+
+2020-02-12 16:47:30 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpchunkstream.h:
+         rtmp2: Add gst_rtmp_chunk_stream_serialize_all
+         Serializes an RTMP message into a series of chunks, all in one buffer.
+         Similar to what gst_rtmp_connection_queue_message does to serialize
+         into a GByteArray.
+
+2020-02-12 16:43:30 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmputils.c:
+       * gst/rtmp2/rtmp/rtmputils.h:
+         rtmp2: Add gst_rtmp_output_stream_write_all_buffer_async
+         Similar to gst_rtmp_output_stream_write_all_bytes_async, but takes a
+         GstBuffer instead of a GBytes. It can also return the number of bytes
+         written, which might be lower in case of an error.
+
+2020-02-14 12:28:43 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpchunkstream.h:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+         rtmp2: Improve handling incoming set chunk/window size
+         Reject out-of-spec sizes and warn about suspiciously small sizes.
+
+2020-02-14 14:26:27 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2src.c:
+         rtmp2: Lock self->lock before OBJECT_LOCK
+         OBJECT_LOCK is used to protect property access only. self->lock is
+         used to access the RtmpConnection, mostly between the streaming thread
+         and the loop thread.
+         To avoid deadlocks involving these two locks, we obey a lock order:
+         If both self->lock and OBJECT_LOCK are needed, self->lock must be locked
+         first. Clarify this.
+
+2020-02-14 12:20:32 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpmessage.h:
+         rtmp2: Reject oversized messages
+         We only have 24 bits for the size, so reject anything larger.
+
+2020-02-14 11:49:23 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Count in_bytes_acked instead of in_bytes_unacked
+         This is nicer for statistics.
+
+2020-02-12 18:27:56 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: rtmpconnection: Use more appropriate size types
+         - guint32 for chunk size and window size
+         - guint64 for running counters
+
+2020-02-12 16:55:45 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Add a g_return_val_if_fail
+
+2020-02-12 16:49:45 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Replace explicit unref with g_main_context_invoke_full
+
+2020-01-27 15:27:28 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: rtmpconnection: Use GST_*_OBJECT logging
+         GstRtmpConnection isn't a GstObject with a name or path, but we still
+         get the GObject's type and address.
+
+2020-02-21 11:33:35 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rist/gstristsink.c:
+         rist: fix two minor memory leaks
+
+2020-02-19 17:07:35 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.c:
+         rtpmanagerbad: fix two minor memory leaks
+
+2020-02-19 17:07:23 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.c:
+         rtpmanagerbad: reduce lock in rtpsink
+
+2020-02-19 17:06:18 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtpmanagerbad: documentation comment fix
+
+2020-02-21 03:39:14 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/transportsendbin.c:
+         webrtc: Configure transportsendbin latency internally
+         Add latency configuration logic to transportsendbin to
+         isolate it from the overall pipeline latency. That means that
+         it configures minimum latency internally based on the
+         latency query, and sends a latency event upstream that
+         matches.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1209
+
+2020-02-20 16:19:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Add padding space on decoder output view when it's not aligned
+         Most H/W decoders have required alignment and dxva is also the case.
+
+2020-02-15 01:23:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11vp9dec.h:
+       * sys/d3d11/plugin.c:
+         d3d11decoder: Register elements per GPU device with capability check
+         This implementation is similar to what we've done for nvcodec plugin.
+         Since supported resolution, profiles, and formats are device dependent ones,
+         single template caps cannot represent them, so this modification
+         will help autoplugging and fallback.
+         Note that the legacy gpu list and list of resolution to query were
+         taken from chromium's code.
+
+2020-02-17 15:04:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Fix typo
+         s/vender/vendor
+
+2020-02-14 20:27:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Adjust debug level for when _new() fails
+         gst_d3d11_device_new might be used to enumerate device.
+
+2020-02-06 16:39:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vkswapper: keep a reference on the input buffer until present is finished
+         Otherwise, there may be a very small period of time where the buffer can
+         be freed while being presented.
+
+2020-02-14 12:52:30 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Merge ICE candidates to local descriptions
+         When emitting ICE candidates, also merge them to the local and
+         pending description so they show up in the SDP if those are
+         retrieved from the current-local-description and
+         pending-local-description properties.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/676
+
+2020-02-16 17:11:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Ensure upload staging texture to fallback render texture
+         gst_video_frame_copy will copy input frame to stating texture
+         of fallback frame. Then, we need to map fallback texture with GST_MAP_D3D11
+         flag to upload the staging texture to render texture. Otherwise
+         the render texture wouldn't be updated.
+
+2020-02-13 21:19:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Fix copying decoder view to staging
+         Source texture (decoder view) might be larger than destination (staging) texture.
+         In that case, D3D11_BOX structure should be passed to CopySubresourceRegion method
+         in order to specify the exact target area.
+
+2020-02-12 17:50:53 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/transportreceivebin.c:
+         webrtcbin: Block the source pads before dtlssrtpdec inside transportreceivebin
+         Otherwise dropped sticky events are not actually re-sent on the next
+         opportunity and we can end up with data-flow before stream-start/segment
+         events.
+
+2020-02-06 19:40:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctp: Take some socket configurations from Firefox's datachannel code
+         - Do not send ABORTs for unexpected packets are as response to INIT
+         - Enable interleaving of messages of different streams
+         - Configure 1MB send and receive buffer for the socket
+         - Enable SCTP_SEND_FAILED_EVENT and SCTP_PARTIAL_DELIVERY_EVENT events
+         - Set SCTP_REUSE_PORT configuration
+         - Set SCTP_EXPLICIT_EOR and the corresponding send flag. We probably
+         want to split packets to a maximum size later and only set the flag
+         on the last packet. Firefox uses 0x4000 as maximum size here.
+         - Enable SCTP_ENABLE_CHANGE_ASSOC_REQ
+         - Disable PMTUD and set an maximum initial MTU of 1200
+
+2020-02-06 18:43:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+       * ext/sctp/sctpassociation.h:
+         sctp: Start connection synchronously when starting the association
+         Calling bind() only sets up some data structures and calling connect()
+         only produces one packet before it returns. That packet is stored in a
+         queue that is asynchronously forwarded by the encoder's source pad loop,
+         so not much is happening there either. Especially no waiting is
+         happening here and no forwarding of data to other elements.
+         This fixes a race condition during connection setup: the connection
+         would immediately fail if we pass a packet from the peer to the socket
+         before bind() and connect() have returned.
+         This can't happen anymore as bind() and connect() have returned already
+         before both elements reach the PAUSED state, and in webrtcbin there is
+         an additional blocking pad probe before the decoder that does not let
+         any data pass through before that anyway.
+
+2020-02-06 16:42:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+       * ext/sctp/sctpassociation.h:
+         sctp: Switch back to a non-recursive mutex and don't hold it while calling any usrsctp functions
+         The library is thread-safe by itself and potentially calls back into our
+         code, not only from the same thread but also from other threads. This
+         can easily lead to deadlocks if we try to hold our mutex on both sides.
+
+2020-02-12 22:29:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window: Fix for broken dirty rect drawing on Windows 7
+         DXGI_SWAP_EFFECT_DISCARD cannot be used with dirty rect drawing feature
+         of IDXGISwapChain1::Present().
+         Note that IDXGISwapChain1 interface is available on Platform Update for Windows 7
+         and DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL is also the case.
+
+2020-02-11 13:12:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Fix for dxva decoder output view rendering
+         Use resolution specified in caps for input_rect instead of
+         passed width and height value. The width and height might be modified
+         ones by d3d11videosink, then frame resolution might be different.
+
+2020-02-05 21:27:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+         d3d11decoder: Refactor decoding process
+         * Move decoding process to handle_frame
+         * Remove GstVideoDecoder::parse implementation
+         * Clarify flush/drain/finish usage
+         In forward playback case, have_frame() call will be followed by
+         handle_frame() but reverse playback is not the case.
+         To ensure GstVideoCodecFrame, the decoding process should be placed inside
+         of handle_frame(), instead of parse().
+         Since we don't support alignment=nal, the parse() implementation is not worth.
+         In order to fix broken reverse playback, let's remove the parse()
+         implementation and revisit it when adding alignment=nal support.
+
+2020-01-30 20:04:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11vp9dec.h:
+       * sys/d3d11/gsth264decoder.c:
+       * sys/d3d11/gsth265decoder.c:
+       * sys/d3d11/gstvp9decoder.c:
+         d3d11decoder: Move handle_frame implementation to baseclass
+         ... and remove unused start, stop method from subclass.
+         Current implementation does not require subclass specific behavior
+         for the handle_frame() method.
+
+2020-02-05 18:20:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Remove max size condition from pool
+         Actually our buffer pool size and the number of backbuffer are
+         independent. In case of reverse playback, upstream might request
+         a lot of buffers (up to GOP size).
+
+2020-02-12 00:00:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvcodec: Mark class data as may-be-leaked to quiet the leaks tracer
+         The class data with the caps in it will be leaked if the element is
+         registered but never instantiated. There is no way around this. Mark
+         the caps as such so that the leaks tracer does not warn about it.
+         This is the same as pad template caps getting leaked, which are also
+         marked as may-be-leaked. These objects are initialized exactly once,
+         and are 'global' data.
+
+2020-02-08 12:05:03 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpesrc.cpp:
+       * ext/wpe/meson.build:
+         wpe: Add software rendering support support
+         Starting from WPEBackend-FDO 1.6.x, software rendering support is available.
+         This features allows wpesrc to be used on machines without GPU, and/or for
+         testing purpose. To enable it, set the `LIBGL_ALWAYS_SOFTWARE=true` environment
+         variable and make sure `video/x-raw, format=BGRA` caps are negotiated by the
+         wpesrc element.
+
+2020-02-11 12:15:09 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluiddec: Move logging init into plugin_init
+         This is a nicer place to keep it. We also initialize it before touching
+         the drivers.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-02-05 11:17:33 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluiddec: Keep fluidsynth from probing audio drivers
+         It might cause problems and we don't need the drivers anyway. This also
+         avoids a bunch of stderr spam from the drivers.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-02-05 11:17:32 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluiddec: Avoid deprecated fluid_synth_set_sample_rate
+         This function is used to change the rate at runtime, which has issues:
+         https://github.com/FluidSynth/fluidsynth/issues/585
+         Use the settings key instead (which already defaults to 44100, but I did
+         test other rates).
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-01-22 16:20:28 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/mpegtsparse.h:
+         tsparse: Add split-on-rai property
+         If set, buffers sized smaller than the alignment will be sent so that
+         RAI packets are at the start of a new buffer.
+         Fixes: #1190
+
+2020-02-06 14:29:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportsendbin.c:
+         webrtc: In all blocking pad probes except for sink pads also handle serialized events
+         Otherwise it can happen that e.g. the stream-start event is tried to be
+         sent as part of pushing the first buffer. Downstream might not be in
+         PAUSED/PLAYING yet, so the event is rejected with GST_FLOW_FLUSHING and
+         because it's an event would not cause the blocking pad probe to trigger
+         first. This would then return GST_FLOW_FLUSHING for the buffer and shut
+         down all of upstream.
+         To solve this we return GST_PAD_PROBE_DROP for all events. In case of
+         sticky events they would be resent again later once we unblocked after
+         blocking on the buffer and everything works fine.
+         Don't handle events specifically in sink pad blocking pad probes as here
+         downstream is not linked yet and we are actually waiting for the
+         following CAPS event before unblocking can happen.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1172
+
+2020-02-06 14:27:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/sctptransport.h:
+         webrtcbin: Add a blocking pad probe for the receivebin -> sctpdec connection
+         Without this it might happen that received data from the DTLS transport
+         is already passed to sctpdec before its state was set to PLAYING. This
+         would cause the data to be dropped, GST_FLOW_FLUSHING to be returned and
+         the whole DTLS transport to shut down.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1172
+         among other things.
+
+2020-02-06 14:24:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportreceivebin.h:
+         webrtcbin/transportreceivebin: Use actual pad blocks instead of an additional GCond for blocking pads
+         Using a GCond can easily lead to deadlocks and only duplicates the
+         waiting code from gstpad.c in the best case.
+         In this case it actually could lead to a deadlock if both RTP and RTCP
+         were waiting. Only one of them would be woken up because g_cond_signal()
+         was used instead of g_cond_broadcast().
+
+2020-02-06 14:22:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/transportsendbin.c:
+         webrtc/transportsendbin: Clean up pad probe removal
+         We already have a helper function for this so just use it instead of
+         duplicating it.
+
+2020-01-15 16:02:11 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/gstmsdkvp9enc.h:
+       * sys/msdk/meson.build:
+         msdkvp9enc: output raw vp9 stream instead of IVF stream
+         video/x-vp9 is required in the src pad, however the output includes a
+         IVF header, which makes the pipeline below doesn't work
+         gst-launch-1.0 videotestsrc ! msdkvp9enc ! msdkvp9dec ! fakesink
+         Since mfx 1.26, the VP9 encoder supports bitstream without IVF header,
+         so in this patch, the mfx version is checked and msdkvp9enc is enabled
+         only if mfx 1.26+ is available
+
+2020-01-31 02:01:12 +1100  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/gstamcvideoenc.h:
+       * sys/androidmedia/gstjniutils.c:
+       * sys/androidmedia/gstjniutils.h:
+         androidmedia: Support float i-frame-interval
+         Android 25 added support for i-frame-interval to be a floating
+         point value. Store the property as a float and use the newer
+         version when it's available.
+
+2020-01-31 01:33:51 +1100  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/gstamc-codec.h:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/gstamcvideoenc.h:
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+       * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+         androidmedia: Allow dynamic bitrate changes on Android >= 19
+         Android 19 added an API for dynamically changing the bitrate in a running
+         codec.
+         Also make it so that even when not update-able at runtime, parameters will at least
+         be stored so that they take effect the next the codec is restarted.
+
+2020-01-31 01:21:34 +1100  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/gstamc-codec.h:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+       * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+         androidmedia: Handle force-keyunit requests
+         Use API from Android 19 to request a keyframe from the MediaCodec
+         when indicated by the base class.
+
+2020-02-05 21:13:49 +1100  Jan Schmidt <jan@centricular.com>
+
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+         androidmedia: Permit Codec surface to be NULL
+         The AMC encoder wrapper doesn't support input surfaces yet,
+         and passes NULL when configuring the underlying codec.
+         This was broken in commit 7fcf3e
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1102
+
+2020-01-24 10:58:32 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpaafdepay.c:
+         avtp: Build with clang
+         Minor non-conformity on AVTP code made it not compile with clang.
+
+2020-01-24 15:47:56 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpaafpay.c:
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfpay.c:
+       * tests/check/elements/avtpaafdepay.c:
+       * tests/check/elements/avtpaafpay.c:
+       * tests/check/elements/avtpcvfdepay.c:
+       * tests/check/elements/avtpcvfpay.c:
+         avtp: Plug several leaks
+         After finally running tests with valgrind enabled, some leaks were found
+         - both on code and on tests themselves. This patch plugs them all!
+
+2020-02-07 13:24:53 +0000  Ludvig Rappe <ludvig.rappe@axis.com>
+
+       * ext/curl/gstcurlhttpsink.c:
+         gstcurlhttpsink: Update HTTP header for curl 7.66
+         Change how content-length is set for HTTP POST headers, letting curl set
+         the header (given the content-length) instead of manually writing it.
+         This enables curl to know the content-length of the data.
+         In curl 7.66, if curl does not know the content-length (e.g. when
+         manually writing the header) curl will use Transfer-Encoding: chunked,
+         which might not be desired.
+
+2020-01-20 15:22:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Fix crash in decoder on 32-bit Windows
+         Same fix as 1a7ea45ffde40a4bea63562a2cc9892396d9f7eb, but I didn't
+         test the decoder so I missed that the function pointers here weren't
+         using the correct calling convention too.
+
+2020-02-05 16:12:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/ladspa/gstladspautils.c:
+         ladspa: only multiply bounded rate properties by sample rate
+         We don't want to accidentally multiply G_MAXFLOAT or -GMAXFLOAT
+         with the sample rate.
+
+2020-02-05 16:03:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/ladspa/gstladspautils.c:
+         ladspa: fix unbounded integer properties
+         Use a double instead of a plain float for intermediary
+         property values, so we have enough bits to store INT_MAX
+         and it doesn't get rounded and wrapped to -1 when cast
+         back to a 32-bit integer.
+         Fixes criticals like
+         g_param_spec_int: assertion 'default_value >= minimum && default_value <= maximum' failed
+         when loading LADSPA plugins from the Linux Studio Plugins
+         Project (http://lsp-plug.in) in GStreamer.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1194
+
+2019-10-04 11:39:10 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpsink.c:
+       * ext/avtp/gstavtpsink.h:
+       * ext/avtp/meson.build:
+         avtpsink: Implement synchronization mechanism
+         The avtpsink element is expected to transmit AVTPDUs at specific times,
+         according to GstBuffer timestamps. Currently, the transmission time is
+         controlled in software via the rendering synchronization mechanism
+         provided by GstBaseSink class. However, that mechanism may not cope with
+         some AVB use-cases such as Class A streams, where AVTPDUs are expected
+         to be transmitted at every 125 us. Thus, this patch introduces avtpsink
+         own mechanism which leverages the socket transmission scheduling
+         infrastructure introduced in Linux kernel 4.19.  When supported by the
+         NIC, the transmission scheduling is offloaded to the hardware, improving
+         transmission time accuracy considerably.
+         To illustrate that, a before-after experiment was carried out. The
+         experimental setup consisted in 2 PCs with Intel i210 card connected
+         back-to-back running an up-to-date Archlinux with kernel 5.3.1. In one
+         host gst-launch-1.0 was used to generate a 2-minute Class A stream while
+         the other host captured the packets. The metric under evaluation is the
+         transmission interval and it is measured by checking the 'time_delta'
+         information from ethernet frames captured at the receiving side.
+         The table below shows the outcome for a 48 kHz, 16-bit sample, stereo
+         audio stream. The unit is nanoseconds.
+         |   Mean |   Stdev |     Min |     Max |   Range |
+         -------+--------+---------+---------+---------+---------+
+         Before | 125000 │    2401 │  110056 │  288432 │  178376 |
+         After  | 125000 │      18 │  124943 │  125055 │     112 |
+         Before this patch, the transmission interval mean is equal to the
+         optimal value (Class A stream -> 125 us interval), and it is kept the
+         same after the patch.  The dispersion measurements, however, had
+         improved considerably, meaning the system is now consistently
+         transmitting AVTPDUs at the correct time.
+         Finally, the socket transmission scheduling infrastructure requires the
+         system clock to be synchronized with PTP clock so this patches modifies
+         the AVTP plugin documentation to cover how to achieve that.
+
+2019-10-04 11:17:22 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/gstavtpsink.c:
+         avtpsink: Prepare code to new synchronization mechanism
+         This patch refactors gst_avtp_sink_start() by moving all socket
+         initialization code to its own function. This change prepares the code
+         to the next patch which will introduce avtpsink's own rendering
+         synchronization mechanism.
+
+2019-10-04 11:11:23 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/gstavtpsink.c:
+         avtpsink: Remove SOCK_NONBLOCK from avtpsink
+         Current avtpsink code opens the AF_PACKET socket with SOCK_NONBLOCK
+         option. However, we actually want sendto() to block in case there isn't
+         available space in socket buffer.
+
+2019-10-04 10:56:30 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/gstavtpsink.c:
+       * ext/avtp/gstavtpsrc.c:
+         avtp: Refactor if_index code
+         This patch refactors both avtpsink and avtpsrc code so we use the
+         if_nametoindex() helper instead of building a request and issuing an
+         ioctl to get the if_index.
+
+2020-02-05 22:12:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11window: Clear cached buffer per new caps
+         d3d11window holds one buffer to redraw client area per resize event.
+         When the input format is being changed, this buffer should be cleared
+         to avoid mismatch beween newly configured shader/videoprocessor and
+         the format of previously cached buffer.
+
+2020-02-04 11:31:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Don't leak template caps when registering elements with old NVIDIA driver
+
+2020-02-03 22:23:21 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Use consistent resolution between output caps and video meta
+         h264/h265 decoded buffer might have crop area then we need to
+         adjust video meta based on the padding space
+
+2020-02-03 21:55:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Add a method to specify padding space
+
+2020-02-01 17:38:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Add support for zero-copy playback
+         When downstream support d3d11 memory with forward playback case,
+         expose decoder output view memory objects without copying.
+
+2020-02-04 01:00:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Create decoder output view whenever it's required
+         Whatever the reason, buffer in pool might be freed then we need to
+         configure decoder output views again.
+
+2020-02-04 00:55:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Need to zero initilized for g_once
+         A vairable to be used for g_once, it should be zero initialized
+
+2020-01-30 18:11:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11allocator: Work as if buffer pool when running on texture array mode
+         Because the size of texture array cannot be updated dynamically,
+         allocator should block the allocation request. This cannot be
+         done at buffer pool side if this d3d11 memory is shared among
+         multiple buffer objects. Note that setting NO_SHARE flag to
+         d3d11 memory is very inefficient. It would cause most likey
+         copy of the d3d11 texture.
+
+2020-01-31 00:17:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Fix fallback buffer copy
+         Since we don't use dynamic texture now, cpu access to the fallback
+         texture should not happen.
+
+2020-01-30 21:12:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Don't create swapchain again per caps change
+         Creating swapchain is relatively heavy operation. If output dxgi format
+         is not being chagned, we don't need to destroy and create swachain again.
+
+2020-01-10 21:45:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window: Invoke initial resize method from baseclass
+         ... instead of calling from subclass in order for baseclass to handle
+         more things between swapchain creation and resource creation.
+
+2020-01-29 21:10:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Use ID3D11VideoProcessor interface
+         ...for color space conversion if available
+         ID3D11VideoProcessor is equivalent to DXVA-HD video processor
+         which might use specialized blocks for video processing
+         instead of general GPU resource. In addition to that feature,
+         we need to use this API for color space conversion of DXVA2 decoder
+         output memory, because any d3d11 texture arrays that were
+         created with D3D11_BIND_DECODER cannot be used for shader resource.
+         This is prework for d3d11decoder zero-copy rendering and also
+         for conditional HDR tone-map support.
+         Note that some Intel platform is known to support tone-mapping
+         at the driver level using this API on Windows 10.
+
+2020-01-10 23:54:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11videoprocessor.c:
+       * sys/d3d11/gstd3d11videoprocessor.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add video processor object
+         ID3D11VideoProcessor interface provides various image conversion
+         methods. Note that it's analogous to VAAPI VPP.
+
+2020-01-29 17:29:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11format: Add util methods for mapping DXGI color space with ours
+         Move color space mapping and hdr10 metadata conversion methods to
+         d3d11format in order to reuse the code.
+
+2020-02-01 19:18:44 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/fdkaac/gstfdkaacdec.c:
+         fdkaacdec: add support for mpegversion=2
+         Fix for #1199
+
+2020-01-29 18:55:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Query maximum supported API version
+         We've been using NvEncodeAPICreateInstance method to find the supported API
+         version, but that seems to be insufficient since there is a case
+         where plugin failed in opening encoding session even if NvEncodeAPICreateInstance
+         succeeded. Asking driver about the version would be the most certain way.
+
+2020-01-31 17:25:08 -0800  Thiago Santos <thiago@mode.net>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: check if connections are available on media entry before get
+         Otherwise we trigger an assert.
+
+2020-02-01 01:37:08 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/transportreceivebin.c:
+         webrtcbin: fix blocking of receive bin
+         The receive bin should block buffers from reaching dtlsdec before
+         the dtls connection has started.
+         While there was code to block its sinkpads until receive_state
+         was different from BLOCK, nothing was ever setting it to BLOCK
+         in the first place. This commit corrects this by setting the
+         initial state to BLOCK, directly in the constructor.
+         In addition, now that blocking is effective, we want to only
+         block buffers and buffer lists, as that's what might trigger
+         errors, we want to still let events and queries go through,
+         not doing so causes immediate deadlocks when linking the
+         bin.
+
+2020-01-31 09:47:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Fix crash with force-modesetting=1
+         This is a master regression, we would allocate a bo without having
+         created the allocator yet. As of now, we lazily create the allocator.
+
+2020-01-31 08:33:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctpassociation: Add missing return to prevent double unlock
+
+2020-01-30 17:29:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/sctpassociation.c:
+       * ext/sctp/sctpassociation.h:
+         sctpenc: Report errors when sending out data and the association is in error or disconnected state
+
+2020-01-30 17:21:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/sctpassociation.c:
+         sctp: Clean up association state handling and go into error/disconnected state in more circumstances
+
+2020-01-30 16:28:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctpassociation: Use GStreamer logging system instead of g_warning() and g_log()
+
+2020-01-30 16:13:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpenc.c:
+         sctp: Add more logging to the encoder/decoder elements on data processing
+         And convert g_warning()s into normal log output instead.
+
+2020-01-30 16:11:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/sctpassociation.c:
+         sctpenc: Correctly log/handle errors and handle short writes
+
+2020-01-30 16:09:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/sctpassociation.c:
+       * ext/sctp/sctpassociation.h:
+         sctp: Constify buffers in callbacks and functions
+         And free data with the correct free() function in the receive callback
+         by passing it to gst_buffer_new_wrapped_full() instead of
+         gst_buffer_new_wrapped().
+
+2020-01-30 16:06:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/sctpassociation.c:
+       * ext/sctp/sctpassociation.h:
+         sctp: Make receive/packetout callbacks thread-safe
+
+2020-01-30 16:00:33 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpenc.c:
+         sctp: Add logging and missing cleanup on errors when creating pads
+
+2020-01-30 15:59:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpenc.c:
+         sctpenc: Use g_signal_emit() instead of g_signal_emit_by_name()
+         We have all the required information around so make use of it.
+
+2020-01-30 15:58:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/gstsctpenc.h:
+         sctpenc: Propagate downstream flow errors upstream
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1180
+
+2020-01-30 15:56:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpdec.h:
+         sctpdec: Use a flow combiner for the source pad flow returns and propagate errors upstream
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1180
+
+2020-01-17 17:44:34 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Moved dispose function into finalize
+         dispose can be called several times and would double-free the flow
+         combiner in that case.
+
+2020-01-22 13:55:58 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/mpegtsparse.h:
+         mpegtsparse: Added alignment property
+         alignment works like in mpegtsmux, joining several MpegTS packets into
+         one buffer. Default value of 0 joins as many as possible for each
+         incoming buffer, to optimise CPU usage.
+
+2020-01-10 18:00:07 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Set delta unit flag on non-random-access buffers
+         If they don't have the random access flag set, they cannot be decoded
+         independently.
+
+2020-01-10 17:58:34 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Packetize output on default srcpad
+         Align buffer boundaries with mpeg-ts packets, instead of keeping
+         whatever packetization we have from the source (network, file reading).
+
+2020-01-10 17:54:54 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Factor common code into mpegts_packet_to_buffer
+         The same code was used twice for turning an MpegTSPacketizerPacket into
+         a GstBuffer.
+
+2020-01-10 17:52:58 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+         mpegtspacketizer: Fix typo in flag name
+
+2020-01-29 14:10:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Fix GstMsdkContext leak
+
+2020-01-29 14:02:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Clear reference counted object in dispose() method
+         Follow GObject's memory management model
+
+2020-01-28 13:06:59 +0100  Guillermo Rodríguez <guille.rodriguez@gmail.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Clear window when pipeline is stopped
+         When a pipeline is stopped (actually when the waylandsink element
+         state changes from PAUSED to READY) the video surface is cleared, but
+         the opaque black surface behind is not. Fix this by actually clearing
+         both surfaces.
+
+2020-01-09 22:23:17 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: use cached response for DMABuf when the frame size is same
+         User is seeing corrupted display when running `videotestsrc !
+         video/x-raw,format=NV12,width=xxx,height=xxx ! msdkh265enc ! msdkh265dec
+         ! glimagesink` with changed frame size, e.g. from 1920x1080 to 1920x240
+         The root cause is a same dmabuf fd is used for frames with
+         different size, which causes some unexpected result. This patch requires
+         cached response is used for frames with same size only for DMABuf, so a
+         dmabuf fd can't be used for frames with different size any more.
+
+2020-01-25 18:39:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+         d3d11window_win32: Let DXGI choose client area
+         Don't specify the resolution of backbuffer. Then dxgi will let us know the
+         actual client area. When upstream resolution is chagned, updating the size
+         of backbuffer without the consideration for client size would cause mismatch
+         between them.
+
+2020-01-23 11:01:33 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Do not map GStreamer discont to CUVid discont
+         Setting the CUVID_PKT_DISCONTINUITY implies clearing any past information
+         about the stream in the decoder. The GStreamer discont flag is used for
+         discontinuity caused by a seek, for first buffer and if a buffer was
+         dropped. In the first two cases, the parsers and demuxers should ensure we
+         start from a synchronization point, so it's unlikely that delta will be
+         matched against the wrong state.
+         For packet lost, the discontinuity flag will prevent the decoder from doing
+         any concealment, with a result that ca be much worst visually, or freeze the
+         playback until an IDR is met. It's better to let the decoder handle that for
+         us.
+         Removing this flag, also workaround a but in NVidia parser that makes it
+         ignore our ENDOFFRAME flag and increase the latency by one frame.
+
+2020-01-22 10:26:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Tell the parser we have complete pictures
+         This sets the CUVID_PKT_ENDOFPICTURE flag in order to inform the decoder that
+         we have a complete picture. This should remove one frame latency otherwise
+         introduce by NVidia parser.
+
+2020-01-23 18:08:53 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: Fill remainder of the cc_data in CDP packets with empty packets
+         Instead of filling it completely with zeroes. Filling with zeroes is
+         considered invalid by various CC implementations.
+
+2020-01-21 21:25:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+         d3d11window_corewindow: Always call methods of CoreWindow interface from UI thread
+         Like swapchain panel implementation, most methods of CoreWindow
+         should be called from UI thread.
+
+2020-01-21 16:50:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Update the last_ts correctly if we have no DTS
+         If we have no DTS but a PTS then this means both are the same, and we
+         should update the last_ts with the PTS. Only if both are unknown then we
+         don't know the current position and should not update it at all.
+         Previously we would always update the last_ts to GST_CLOCK_TIME_NONE if
+         the DTS is unknown, which caused the position to jump around and to
+         cause spurious gap events to be sent.
+
+2020-01-21 15:14:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Fix compiler warning
+         This patch fixed compiler warning below:
+         [1/4] Compiling C object 'sys/msdk/dc44ea0@@gstmsdk@sha/gstmsdkvpp.c.o'.
+         ../../gst-plugins-bad/sys/msdk/gstmsdkvpp.c: In function
+         ‘gst_msdkvpp_context_prepare’:
+         ../../gst-plugins-bad/sys/msdk/gstmsdkvpp.c:214:7: warning: suggest
+         parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’
+         [-Wparentheses]
+
+2020-01-21 12:14:49 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: connect rtp funnel after updating ptmaps
+         We need the streams' pt maps updated before requesting pads
+         on rtpbin, because this is what will trigger the requesting
+         of FEC encoders, and our handler for this request looks for
+         the payload types in the relevant stream's pt map.
+         Fixes #1187
+
+2020-01-20 16:35:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: Send gap events for late streams whenever updating the SCR
+         Instead of doing it on each packet and doing it based on the distance to
+         the previous SCR instead of based on the DTS.
+         Previously we would send gap events for audio all the time if the SCR
+         distance was 400ms because the threshold for audio is 300ms and by only
+         ever updating the position when the SCR updates we would always be 100ms
+         above the threshold and send needless gap events.
+         This fixes audio glitches on various files caused by gap events.
+
+2020-01-16 13:00:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Do not access to broken encode session
+         If an encode session failed in initializing, the encode
+         session would be broken and the next nvenc API will cause crash.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1179
+
+2020-01-17 11:07:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+         msdk: Fix increasing memory usage in dynamic pipelines
+         Our context is non-persistent, and we propagate it throughout the
+         pipeline. This means that if we try to reuse any gstmsdk element by
+         removing it from the pipeline and then re-adding it, we'll clone the
+         mfxSession and create a new gstmsdk context as a child of the old one
+         inside `gst_msdk_context_new_with_parent()`.
+         Normally this only allocates a few KB inside the driver, but on
+         Windows it seems to allocate tens of MBs which leads to linearly
+         increasing memory usage for each PLAYING->NULL->PLAYING state cycle
+         for the process. The contexts will only be freed when the pipeline
+         itself goes to `NULL`, which would defeat the purpose of dynamic
+         pipelines.
+         Essentially, we need to optimize the case in which the element is
+         removed from the pipeline and re-added and the same context is re-set
+         on it. To detect that case, we set the context on `old_context`, and
+         compare it to the new one when preparing the context. If they're the
+         same, we don't need to do anything.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/946
+
+2020-01-17 10:43:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/msdk/gstmsdkcontextutil.c:
+       * sys/msdk/gstmsdkcontextutil.h:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Reorganize context preparation code
+         Split it out into a separate function with early exits to make the
+         flow clearer, and document what the function is doing clearly.
+         No functional changes.
+
+2020-01-17 10:13:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Fix warning about unused variable on Windows
+
+2020-01-17 13:45:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Use gst_clear_object()
+         `gst_object_replace()` is not supposed to be used for unreffing and
+         NULLing objects.
+
+2020-01-20 16:27:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/nvcodec/gstnvenc.c:
+         nvcodec: Print debug info when initializing nvenc
+         We weren't printing the return value.
+
+2020-01-20 15:22:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/stub/cuda.h:
+         nvcodec: Fix crash on 32-bit Windows
+         We weren't using the correct calling convention when calling CUDA and
+         CUVID APIs. `CUDAAPI` is `__stdcall` on Windows. This was working fine
+         on x64 because `__stdcall` is ignored and there's no special calling
+         convention. However, on x86, we need to use `__stdcall`.
+
+2020-01-20 15:10:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/stub/cuda.h:
+         nvcodec: cuda.h only needs glib.h, not gst.h
+         Just a nitpick. Also, force the compiler to use our stub header
+         instead of searching for it in the include paths.
+
+2020-01-17 11:19:53 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Start datachannel SCTP elements only after the DTLS connection is established
+         Otherwise we would start sending data to the DTLS connection before, and
+         the DTLS elements consider this an error.
+         Also RFC 8261 mentions:
+         o A DTLS connection MUST be established before an SCTP association can
+         be set up.
+
+2020-01-12 17:04:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Add handling of unspecified peer-connection-state situation
+         For us it can happen that the DTLS transports are still in the process
+         of connecting while the ICE transport is already completed. This
+         situation is not specified in the spec but conceptually that means it is
+         still in the process of connecting.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:32:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Return the old state if we ended up being in an unspecified situation
+         Previously we would've returned NEW, which is usually more wrong.
+
+2020-01-09 19:21:08 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix transitions for the peer connection state
+         They're now mapping exactly to what
+         https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum
+         actually specifies.
+         Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-09 18:55:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix transitions for the connection state
+         They're now mapping exactly to what
+         https://www.w3.org/TR/webrtc/#dom-rtciceconnectionstate
+         actually specifies.
+         Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:25:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/dtlstransport.c:
+         webrtc/dtlstransport: Proxy DTLS connection state from the DTLS elements to the transport
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:18:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/dtls/gstdtlssrtpdec.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+         dtls: Keep track of the connection state and signal it through all the layers
+         This allows the application to keep track of the underlying DTLS
+         connection state and act accordingly.
+
+2020-01-12 13:56:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlsenc.c:
+         dtls: Handle errors/close_notify at all steps and propagate through the layers properly
+         Previously we simply logged errors but never reported them to elements
+         or even to the user. Fatal errors are now properly reported.
+         Additionally proper connection closing is implemented based on EOS:
+         - dtlsenc: EOS will cause close_notify to be sent to the peer and only
+         if the peer also sent back close_notify we will forward the
+         EOS event.
+         - dtlsdec: EOS will be forwarded normally, this only means that the
+         unterlying transport was closed. On receiving a DTLS packet
+         containing close_notify, return EOS and send EOS downstream.
+
+2020-01-12 12:48:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/dtls/gstdtlsenc.h:
+         dtls: Propagate write errors backwards through dtlsenc/dtlsconnection
+
+2020-01-12 11:24:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsconnection.h:
+       * ext/dtls/gstdtlsenc.c:
+         dtls: Use a plain function pointer instead of a GClosure for the send callback
+         There's not point in using GClosure and going through all the
+         GValue/libffi infrastructure for each DTLS packet.
+
+2020-01-09 12:32:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Don't consider transceivers without mid as inactive during ICE gathering state updates
+         We don't have any mid before parsing the SDP, which happens after we
+         handled the SDP answer and that usually happens long after ICE candidate
+         gathering is finished.
+         Without this all transceivers are considered inactive and as such ICE
+         gathering is for active transceiver was considered complete from the
+         very beginning.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126
+
+2020-01-09 12:27:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Don't consider RTP receivers stopped
+         We don't support stopping RTP receivers currently so let's not consider
+         them all stopped all the time. This fixes some of the ICE/DTLS state
+         change handling and specifically fixes the ICE gathering state.
+         Previously the ICE gathering state was immediately going from NEW to
+         COMPLETE because it considered all transceivers stopped and as such all
+         activate transceivers were finished gathering ICE candidates.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126
+
+2020-01-09 12:26:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Improve logging related to ICE/DTLS state changes
+
+2019-12-31 02:41:40 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/yadif/meson.build:
+         yadif: Re-renable MMX asm on x86_64 with meson
+         The meson build doesn't automatically set HAVE_CPU_* defines
+         like autotools did, so the yadif plugin was being built without
+         the MMX assembler support
+
+2020-01-19 14:50:12 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/yadif/vf_yadif.c:
+       * gst/yadif/yadif.c:
+         yadif: Only build inline Asm with gcc/clang
+
+2019-11-06 04:45:09 -0800  Josep Torra <jtorra@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: align frame list using decoded timestamp
+         Before this change decoder used the oldest frame in the list to pair it
+         with the decoded surface. This only works when there's a perfect stream
+         like HEADERS,SYNCPOINT,DELTA...
+         When playing RTSP streams we can get imperfect streams like HEADERS,
+         DELTA,SYNCPOINT,DELTA... In this case decoder drops the frames
+         between HEADERS and SYNCPOINT which leads into using wrong PTS on
+         the output frames.
+         With this change we inject the input PTS into the bitstream and use it
+         to align the internal frame list with the actually decoded position.
+         Fixes playback with:
+         ```
+         gst-launch-1.0 rtspsrc location=... latency=0 drop-on-latency=1 ! ...
+         ```
+
+2019-11-28 21:30:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Query supported minimum resolution
+         Hard-coded 16x16 resolution is likely to differ from the device's support
+         in most cases. If we can use NV_ENC_CAPS_WIDTH_MIN and NV_ENC_CAPS_HEIGHT_MIN,
+         update pad template with returned value.
+
+2019-11-28 20:47:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/cuviddec.h:
+       * sys/nvcodec/nvEncodeAPI.h:
+       * sys/nvcodec/nvcuvid.h:
+         nvcodec: Bump SDK header to version 9.1
+         Update header to query minimum resolution of encoder and to control
+         the number of reference frame if it's supported
+
+2019-12-18 18:01:30 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/mxf/meson.build:
+       * gst/mxf/mxf.c:
+       * gst/mxf/mxfprores.c:
+       * gst/mxf/mxfprores.h:
+         mxfdemux: add support for Apple ProRes
+
+2019-11-27 12:23:58 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * tests/examples/meson.build:
+       * tests/examples/msdk/meson.build:
+       * tests/examples/msdk/test-roi.c:
+         examples: add test-roi for gst-msdk
+         Copied and pasted from gstreamer-vaapi and did a few changes for gst-msdk.
+
+2019-11-27 15:16:17 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: support transform_meta virtual method
+         Allow the base class to copy GstVideoRegionOfInterestMeta data to the
+         output buffer when calling gst_video_decoder_finish_frame
+
+2019-11-27 16:00:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdkh264enc.h:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkenc: set ROI region for msdk{h264, h265}enc
+         A reconfig is needed when ROI is changed, otherwise the ROI parameters won't
+         take effect
+
+2019-12-03 10:48:21 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkenc: add set_extra_params virtual method
+         set_extra_params is added to allow sub class to add extra mfx parameters
+         for changed input frame or meta data
+
+2019-11-28 14:54:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkenc: add need_reconfig virtual method
+         need_reconfig is added to allow sub class requires a reconfig when
+         the input frame or the MetaData (e.g. GstVideoRegionOfInterestMeta)
+         attached to the input frame is changed.
+
+2020-01-13 17:20:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gsth265decoder.c:
+         d3d11h265dec: Fix wrong NoRaslOutputFlag setting
+         ... and handle EOS and EOB nals.
+         Only the first CRA picture should be associated with NoRaslOutputFlag
+         as the comment in code.
+
+2020-01-12 08:07:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in:
+         pkgconfig: Remove unused substitution in uninstalled.pc.in
+         `@videolibdir@` isn't used anymore.
+
+2020-01-12 07:49:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/meson.build:
+       * tests/examples/ipcpipeline/ipcpipeline1.c:
+       * tests/examples/mpegts/meson.build:
+       * tests/examples/opencv/meson.build:
+       * tests/examples/waylandsink/meson.build:
+       * tests/examples/webrtc/meson.build:
+         tests: Fix minor bugs in usage of config.h
+
+2020-01-12 07:41:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/ipcpipeline/gstipcpipelinecomm.c:
+       * sys/ipcpipeline/gstipcpipelinesrc.c:
+         ipcpipeline: Minimal fixes that allow building with MSVC
+
+2020-01-11 14:47:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/ipcpipeline/meson.build:
+       * tests/examples/ipcpipeline/meson.build:
+         ipcpipeline: Rework compiler checks
+         `pipe()` isn't used since 15927b6511bc8304ae144a45c9fbfca88e5dd641,
+         and `socketpair()` from `#include <sys/socket.h>` is used only in the
+         examples. In practice, you can use probably also use anything that
+         allows you to create fd pairs, such as named pipes or anonymous pipes.
+         We use the cross-platform GstPollFD API in the plugin.
+
+2020-01-13 17:10:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Add property to set the extra latency to introduce for waiting for LTC timecodes
+         Default to 150ms instead of 8 frames, which seems to work in the
+         majority of cases.
+
+2020-01-13 12:54:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Add some more debug output
+
+2020-01-11 18:24:02 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11memory: Always use native DXGI format if device support it
+         Use consistent memory layout between dxva and other shader use case.
+         For example, use DXGI_FORMAT_NV12 texture format instead of
+         two textures with DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8G8_UNORM.
+
+2020-01-10 20:44:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         Revert "d3d11: Add support for D3D11_USAGE_DYNAMIC"
+         This reverts commit ddd13fc7c061a9873b181d0de32aaf9546e7d0af
+         Dynamic usage can reduce the number of copy per frame but make
+         things complicated and the benefit seems to not significant.
+         Also since we don't provide _map() method for the dynamic usage,
+         application cannot read buffers which make "last-sample" property
+         unusable in case of d3d11videosink.
+
+2020-01-13 02:30:07 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         WebRTC: Support non-trickle ICE candidates in the SDP
+         Add any ICE candidates from the SDP before adding pending
+         trickle ICE candidates to support non-trickle peers
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/678
+
+2020-01-11 00:01:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11vp9dec.h:
+       * sys/d3d11/plugin.c:
+         d3d11: Don't register decoders if unavailable
+         DXVA requires a hardware interface but may not be available,
+         such as in the case of VMs or when the GPU vendor does not provide a decoder interface.
+
+2020-01-10 23:57:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.c:
+         d3d11decoder: Don't return not initialized object from _new() method
+         ... and change some debug levels since initialization failure might not be fatal.
+
+2019-08-22 16:04:37 +0900  Shinya Saito <ssaito@igel.co.jp>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Fix xdg_shell fullscreen mode
+         xdg_shell fullscreen mode doesn't work for committing
+         xdg_surface without configure acknowledgement.
+         In addition, we can't set different surface setting from
+         acknowledged config in this mode.
+
+2019-11-11 12:40:07 -0800  Josep Torra <jtorra@oblong.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * tests/check/elements/h264parse.c:
+         h264parse: do not push wrong PTS with some raw files
+         Some raw h264 encoded files trigger the assignment of wrong PTS to buffers
+         when some SEI data is provided. This change prevents it to happen.
+         Also ensure this behavior is being tested.
+
+2020-01-10 13:08:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Skip over invalid LTC timecodes immediately
+
+2020-01-10 11:40:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Clean up old LTC timecodes on LTC discontinuity
+         We might have some old timecodes that are in the future now and have to
+         drop those to make sure that our queue is correctly ordered and we don't
+         have multiple timecodes for the same running time.
+
+2020-01-10 11:33:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Fix waiting for the first video frame in case of live video input
+
+2020-01-09 17:41:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Fix up handling/queueing of LTC timecodes
+         Directly read them out of the decoder as soon as we passed audio and
+         then store them in a queue that we handle internally together with their
+         timestamps. This cleans up memory management and gives us proper control
+         over the queue instead of guessing how the queue inside the LTC decoder
+         actually works and when it overflows.
+
+2020-01-09 15:27:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Only allow requesting LTC audio pad in NULL/READY states
+         And don't introduce any latency at all if not LTC audio pad was
+         requested.
+
+2020-01-09 15:23:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: In live mode wait correctly for the latency to pass
+         And also introduce 6 instead of 2 frames of latency compared to the LTC
+         audio input as that seems to be an upper bound for how much the LTC
+         library is lagging behind.
+
+2020-01-09 15:16:02 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Use the internal LTC timecode tracker instead of the last one we retrieved
+         Otherwise we don't interpolate between LTC timecodes but only ever put
+         an LTC timecode on buffers once we actually received one.
+
+2020-01-09 14:23:08 -0500  Nicolas Dufresne <nicolas@nicolas-tpx395.localdomain>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+         decklink: Silence no driver / no SO messages
+         This g_once() is called everywhere, even in provider. This cause
+         spurious error when device monitor is used. Just silence or remove
+         the spurious logs.
+
+2020-01-10 16:03:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/meson.build:
+         hls: Check nettle version to ensure AES128 support
+         AES128 support was added since nettle version 3.0
+         ../subprojects/gst-plugins-bad/ext/hls/gsthlsdemux.h:110:10: error: field ‘ctx’ has incomplete type
+         struct CBC_CTX (struct aes128_ctx, AES_BLOCK_SIZE) aes_ctx;
+
+2020-01-06 12:59:36 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         Revert "msdkdec: make sure to use video memory on Linux"
+         Commit a1584b6 caused big performance drop if the downstream element
+         is not a msdk element because it is very slow to read data from video
+         memory directly.
+         This reverts commit a1584b6f99caaf61812ac6a9654ec0e6da8240da.
+
+2020-01-09 21:00:47 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/d3d11colorconvert.c:
+         tests: d3d11colorconvert: Add test cases for visual validation
+         By default new test cases are disabled since it might be timed out
+         or test environment might not have render device.
+
+2020-01-09 19:39:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+         d3d11colorconverter: Handle P016_LE format
+         P016 format is no different than P010. Not much things to add code.
+
+2020-01-09 19:32:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+         d3d11colorconverter: Add support for YUV to YUV conversion
+
+2020-01-08 23:09:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+         d3d11colorconverter: Add support for RGB to YUV conversion
+         ... and remove code for RGBx since it's not supported format
+         by our d3d11 implementation for now.
+
+2020-01-09 11:14:47 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11format.h:
+         d3d11format: Remove invalid format from supported format list
+
+2020-01-08 07:42:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosink.cpp:
+         decklinkvideosink: Always configure 10 bit YUV for VANC frames
+         If 8 bit are required by the device/mode then it will be converted internally
+         by the SDK, but the SDK won't automatically convert from 8 to 10 bit. As
+         such, always use 10 bit VANC.
+         Some devices require configuring also a 10 bit video format when using
+         10 bit VANC is required but those would fail regardless and the
+         application would have to configure the correct video format.
+         With newer versions of the SDK this information can be retrieved via the
+         BMDDeckLinkVANCRequires10BitYUVVideoFrames flag but we don't use a new
+         enough SDK version yet to extract this information.
+
+2020-01-07 20:17:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtc: Unmap all non-binary buffers received via the datachannel
+         Previously they were only unmapped in case of binary data, causing all
+         of them to be leaked.
+
+2020-01-07 10:05:33 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/zbar/gstzbar.c:
+         zbar: remove useless conditional on passthrough
+         seen that passthrough is never set for this element, no need
+         to allow to remove the 'transform' call
+
+2019-09-27 23:02:38 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/meson.build:
+       * ext/zxing/gstzxing.cpp:
+       * ext/zxing/gstzxing.h:
+       * ext/zxing/gstzxingplugin.c:
+       * ext/zxing/meson.build:
+       * meson_options.txt:
+       * tests/check/elements/zxing.c:
+       * tests/check/meson.build:
+         zxing: initial plugin revision
+         Status:
+         - scan QR code with low resolution
+         - Scan barcode with high resolution
+
+2020-01-03 18:14:48 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/h265parse.c:
+         tests: add h26xparse HDR SEI test
+         Detect caps according to MDCV + CLLI SEI message
+
+2019-12-18 10:05:05 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/elements/h265parse.c:
+       * tests/check/meson.build:
+         test: add h265parse test
+
+2019-12-17 12:08:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+         h26xparse: Handle state change on IDR first slice
+         As the H265/H264 bitstream can support multiple slices,
+         mastering_display_info_state and content_light_level_state
+         should be changed only on first slice segment.
+         Fix #1152
+
+2019-12-05 16:48:05 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: use same algo for MDCV and CLL SEI management
+
+2019-11-28 12:59:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parser: add MDCV and CLL SEI message parsing
+         Allow to parse SEI message for:
+         - mastering display colour volume
+         - Light level infomation
+         Set to caps if necessary.
+         Fix #958
+
+2020-01-07 01:40:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/dash/gstplugin.c:
+         dash: Remove spurious condition check and remove unused debug category
+         Note that uppercase debug category names are used for
+         core modules and should be redefined in lowercase for plugins if necessary.
+
+2020-01-06 16:30:36 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/debugutils/gstfakevideosink.c:
+         fakevideosink: Use our pad template to create pad
+
+2019-12-30 18:58:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.cpp:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/gstd3d11window_corewindow.cpp:
+       * sys/d3d11/gstd3d11window_corewindow.h:
+       * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+       * sys/d3d11/gstd3d11window_swapchainpanel.h:
+       * sys/d3d11/gstd3d11window_win32.cpp:
+       * sys/d3d11/gstd3d11window_win32.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add support for Universal Windows Platform
+         Initial UWP support via new window (CoreWindow and SwapChainPanel) implementation.
+
+2019-12-31 13:36:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+         d3d11decoder: Fix build on non-desktop target
+         Although the target platform of D3D11 decoding API are both desktop and UWP app,
+         DXVA header is blocked by "WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)"
+         which is meaning that that's only for desktop app.
+         To workaround this inconsistent annoyingness, we need to define WINAPI_PARTITION_DESKTOP
+         regardless of target WinAPI partition.
+
+2019-12-25 13:21:11 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdkvp9enc: fix 10bit encoding
+         The codec profile should be consistent with the frame fourcc code, this
+         fixes pipeline below:
+         gst-launch-1.0 videotestsrc ! \
+         video/x-raw,width=320,height=240,format=P010_10LE ! msdkvp9enc ! \
+         fakesink
+
+2019-12-25 10:51:36 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdkvp9enc: fix width and height
+         The frame width and height is rounded up to 128 and 32 since commit
+         8daac1c, so the width, height for initialization should be rounded up to
+         128 and 32 too because the MSDK VP9 encoder will do some check on width
+         and height.
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! \
+         video/x-raw,width=320,height=240,format=NV12 ! msdkvp9enc ! fakesink
+
+2020-01-03 15:27:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+         msdk: make sure the found response meets the request
+         Otherwise the re-used msdk response doesn't have enough frames so it is
+         possible the pipeline will be broken
+
+2019-12-26 13:31:50 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: renegotiate when video info changes
+         Renegotiation was implemented for bitrate change. We can re-use
+         the same sequence when video info changes except that this can be
+         executed right away when receiving the new input format. I.e. no
+         need to wait for the next call to handle_frame.
+
+2020-01-05 16:20:18 +0000  Philippe Normand <philn@igalia.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Fix crash when probing without driver
+         If there is no decklink hardware/driver, the devices list is empty (NULL), so
+         this needs to be checked before iterating over the list.
+
+2019-05-16 19:42:37 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashsink.c:
+       * ext/dash/gstdashsink.h:
+       * ext/dash/gstmpdclient.c:
+       * ext/dash/gstmpdclient.h:
+       * ext/dash/gstmpdhelper.c:
+       * ext/dash/gstmpdhelper.h:
+       * ext/dash/gstplugin.c:
+       * ext/dash/meson.build:
+       * tests/check/elements/dash_mpd.c:
+         dashsink: Add new sink to produce DASH content
+         Add static or dynamic mpd with:
+         - baseURL
+         - period
+         - adaptation_set
+         - representaton
+         - SegmentList
+         - SegmentURL
+         - SegmentTemplate
+         Support multiple audio and video streams.
+         Pass conformance test with DashIF.org
+
+2019-12-09 15:10:00 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstxmlhelper.c:
+         gstxmlhelper: fix xmlOutputBufferFlush ignored ret
+         fix CID #1456553
+
+2019-09-02 14:52:53 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstmpdadaptationsetnode.c:
+       * ext/dash/gstmpdbaseurlnode.c:
+       * ext/dash/gstmpdmultsegmentbasenode.c:
+       * ext/dash/gstmpdperiodnode.c:
+       * ext/dash/gstmpdrepresentationbasenode.c:
+       * ext/dash/gstmpdrepresentationnode.c:
+       * ext/dash/gstmpdrootnode.c:
+       * ext/dash/gstmpdrootnode.h:
+       * ext/dash/gstmpdsegmenttemplatenode.c:
+       * ext/dash/gstmpdsegmenturlnode.c:
+       * ext/dash/gstmpdutctimingnode.c:
+         dash: add set/get property for nodes
+         Add a way to set/get properties for given nodes:
+         - root
+         - baseurl
+         - representation
+
+2019-12-04 17:25:24 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstmpdadaptationsetnode.c:
+       * ext/dash/gstmpdadaptationsetnode.h:
+       * ext/dash/gstmpdbaseurlnode.c:
+       * ext/dash/gstmpdbaseurlnode.h:
+       * ext/dash/gstmpdclient.c:
+       * ext/dash/gstmpdclient.h:
+       * ext/dash/gstmpdcontentcomponentnode.c:
+       * ext/dash/gstmpdcontentcomponentnode.h:
+       * ext/dash/gstmpddescriptortypenode.c:
+       * ext/dash/gstmpddescriptortypenode.h:
+       * ext/dash/gstmpdhelper.c:
+       * ext/dash/gstmpdhelper.h:
+       * ext/dash/gstmpdlocationnode.c:
+       * ext/dash/gstmpdlocationnode.h:
+       * ext/dash/gstmpdmetricsnode.c:
+       * ext/dash/gstmpdmetricsnode.h:
+       * ext/dash/gstmpdmetricsrangenode.c:
+       * ext/dash/gstmpdmetricsrangenode.h:
+       * ext/dash/gstmpdmultsegmentbasenode.c:
+       * ext/dash/gstmpdmultsegmentbasenode.h:
+       * ext/dash/gstmpdnode.c:
+       * ext/dash/gstmpdnode.h:
+       * ext/dash/gstmpdparser.c:
+       * ext/dash/gstmpdparser.h:
+       * ext/dash/gstmpdperiodnode.c:
+       * ext/dash/gstmpdperiodnode.h:
+       * ext/dash/gstmpdprograminformationnode.c:
+       * ext/dash/gstmpdprograminformationnode.h:
+       * ext/dash/gstmpdreportingnode.c:
+       * ext/dash/gstmpdreportingnode.h:
+       * ext/dash/gstmpdrepresentationbasenode.c:
+       * ext/dash/gstmpdrepresentationbasenode.h:
+       * ext/dash/gstmpdrepresentationnode.c:
+       * ext/dash/gstmpdrepresentationnode.h:
+       * ext/dash/gstmpdrootnode.c:
+       * ext/dash/gstmpdrootnode.h:
+       * ext/dash/gstmpdsegmentbasenode.c:
+       * ext/dash/gstmpdsegmentbasenode.h:
+       * ext/dash/gstmpdsegmentlistnode.c:
+       * ext/dash/gstmpdsegmentlistnode.h:
+       * ext/dash/gstmpdsegmenttemplatenode.c:
+       * ext/dash/gstmpdsegmenttemplatenode.h:
+       * ext/dash/gstmpdsegmenttimelinenode.c:
+       * ext/dash/gstmpdsegmenttimelinenode.h:
+       * ext/dash/gstmpdsegmenturlnode.c:
+       * ext/dash/gstmpdsegmenturlnode.h:
+       * ext/dash/gstmpdsnode.c:
+       * ext/dash/gstmpdsnode.h:
+       * ext/dash/gstmpdsubrepresentationnode.c:
+       * ext/dash/gstmpdsubrepresentationnode.h:
+       * ext/dash/gstmpdsubsetnode.c:
+       * ext/dash/gstmpdsubsetnode.h:
+       * ext/dash/gstmpdurltypenode.c:
+       * ext/dash/gstmpdurltypenode.h:
+       * ext/dash/gstmpdutctimingnode.c:
+       * ext/dash/gstmpdutctimingnode.h:
+       * ext/dash/gstxmlhelper.c:
+       * ext/dash/gstxmlhelper.h:
+       * ext/dash/meson.build:
+       * tests/check/elements/dash_mpd.c:
+         dash: Generate an XML content from object.
+         Add mpd node base class to provide
+         xml generation facilities for child
+         objects.
+
+2019-12-26 11:24:37 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: trigger renegotiation if video info changes
+         Useful when framerate changes. Previously it was only checking
+         for resolution change but renego should happen if any video
+         info changes.
+
+2019-12-23 15:17:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/vulkan/vksink.c:
+         vulkansink: Fix null pointer exception
+         context query might happen before creating swapper.
+
+2019-12-17 16:10:53 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: make sure to use video memory on Linux
+         The block that sets use_video_memory flag is after the
+         the condition `if gst_msdk_context_prepare` but it
+         always returns false when there is no other msdk elements.
+         So the decoder ends up with use_video_memory as FALSE.
+         Note that msdkvpp always set use_video_memory as TRUE.
+         When use_video_memory is FALSE then the msdkdec allocates
+         the output frames with posix_memalign (see gstmsdksystemmemory.c).
+         The result is then copied back to the GstVideoPool's buffers
+         (or to the downstream pool's buffers if any).
+         When use_video_memory is TRUE then the msdkdec uses vaCreateSurfaces
+         to create vaapi surfaces for the hw decoder to decode into
+         (see gstmsdkvideomemory.c). The result is then copied to either
+         the internal GstVideoPool and to the downstream pool if any.
+         (vaDeriveImage/vaMapBuffer is used in order to read the surfaces)
+
+2020-01-02 12:22:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Correct return value of GstVideoDecoder::flush()
+         Use boolean instead of GstFlowReturn as declared.
+         Note that since base class does not check return value of GstVideoDecoder::flush(),
+         this would not cause any change of behavior.
+
+2019-12-23 14:09:25 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: free unlocked msdk surface before output buffer allocation
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/924
+         is trying to use video memory for decoding on Linux, which reveals a
+         hidden bug in msdkdec.
+         For video memory, it is possible that a locked mfx surface is not used
+         indeed and it will be un-locked later in MSDK, so we have to check the
+         associated MSDK surface to find out and free un-used surfaces, otherwise
+         it is easy to exhaust all pre-allocated mfx surfaces and get errors below:
+         0:00:00.777324879 27290 0x564b65a510a0 ERROR                default
+         gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to
+         get surface available
+         0:00:00.777429079 27290 0x564b65a510a0 ERROR         msdkbufferpool
+         gstmsdkbufferpool.c:260:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool0>
+         failed to create new MSDK memory
+         Note the sample code in MSDK does similar thing in
+         CBuffering::SyncFrameSurfaces()
+
+2019-12-12 19:02:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/hls/gsthlssink2.c:
+       * ext/hls/gsthlssink2.h:
+       * ext/hls/meson.build:
+         hlssink2: Add signals for allowing custom playlist/fragment handling
+         Instead of always going through the file system API we allow the
+         application to modify the behaviour. For the playlist itself and
+         fragments, the application can provide a GOutputStream. In addition the
+         sink notifies the application whenever a fragment can be deleted.
+
+2019-12-31 12:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/webrtc/webrtcbidirectional.c:
+         webrtc: Actually make use of promise created one line before
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1042
+
+2019-12-30 19:50:29 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: resurrect actual and efficient seeking of all kinds
+         ... by seeking to target offset determined by new seek segment,
+         rather than that of the previous segment.  The latter would typically
+         seek back to start for a non-accurate seek, and lead to a lot
+         of skipping in case of an accurate seek.
+
+2019-12-26 14:28:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h265dec.c:
+       * sys/d3d11/gstd3d11h265dec.h:
+       * sys/d3d11/gsth265decoder.c:
+       * sys/d3d11/gsth265decoder.h:
+       * sys/d3d11/gsth265picture.c:
+       * sys/d3d11/gsth265picture.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add h265 decoder element
+         Some DPB management implementation is taken from gstreamer-vaapi
+
+2019-12-20 23:05:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11vp9dec.c:
+       * sys/d3d11/gstd3d11vp9dec.h:
+       * sys/d3d11/gstvp9decoder.c:
+       * sys/d3d11/gstvp9decoder.h:
+       * sys/d3d11/gstvp9picture.c:
+       * sys/d3d11/gstvp9picture.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add vp9 decoder element
+         Based on gstreamer-vaapi and Chromium implemetation.
+
+2019-12-26 14:24:46 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11decoder.c:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.c:
+       * sys/d3d11/gstd3d11h264dec.h:
+       * sys/d3d11/gsth264decoder.c:
+       * sys/d3d11/gsth264decoder.h:
+       * sys/d3d11/gsth264picture.c:
+       * sys/d3d11/gsth264picture.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add h264 decoder element
+         New decoder implementation based on dxva2 on d3d11 APIs. The DPB
+         management implementation is taken from Chromium.
+
+2019-12-20 22:50:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11: Add support for Array typed texture memory
+         A ID3D11Texture2D memory can consist of multiple planes with array.
+         For array typed memory, GstD3D11Allocator will allocate new GstD3D11Memory
+         with increased reference count to the ID3D11Texture2D but different array index.
+
+2019-12-18 15:37:03 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/neon/gstneonhttpsrc.c:
+       * gst/librfb/gstrfbsrc.c:
+       * sys/directsound/gstdirectsoundsrc.c:
+       * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+         bad: use of g_value_dup_string
+         Use helper method to get string from GValue.
+
+2019-12-30 12:52:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/dtls/gstdtlsenc.c:
+         dtlsenc: Don't warn on GST_FLOW_FLUSHING or GST_FLOW_EOS
+         Only warn if pushing a buffer returns an actual error to not pollute
+         logs with confusing warnings.
+
+2019-12-27 16:56:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Refactor LTC audio waiting and properly handle live inputs
+         If one of the inputs is live, add a latency of 2 frames to the video
+         stream and wait on the clock for that much time to pass to allow for the
+         LTC audio to be ahead.
+         In case of live LTC, don't do any waiting but only ensure that we don't
+         overflow the LTC queue.
+         Also in non-live LTC audio mode, flush too old items from the LTC queue
+         if the video is actually ahead instead of potentially waiting forever.
+         This could've happened if there was a bigger gap in the video stream.
+
+2019-12-26 20:10:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/d3d11colorconvert.c:
+       * tests/check/meson.build:
+         tests: Add simple d3d11colorconvert unit test
+
+2019-12-26 19:55:40 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11: Aggregate d3d11 memory usage query for dynamic-usage type decision
+         Even if one of downstream d3d11 elements can support dynamic-usage memory,
+         another one might not support it. Also, to support dynamic-usage,
+         both upstream and downstream d3d11device must be the same object.
+
+2019-12-26 17:00:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+         d3d11colorconvert: Remove device type dependent behavior
+         If d3d11colorconvert element is configured, do color space conversion
+         regardless of the device type whether it's S/W emulation or real H/W.
+         Since d3d11colorconvert is no more a child of d3d11videosinkbin,
+         we don't need this behavior. Note that previous code was added to
+         avoid color space conversion from d3d11videosink if no hardware
+         device is available (S/W emulation of d3d11 is too slow).
+
+2019-12-26 16:43:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+         d3d11colorconverter: Fix unmatched lock/unlock pair
+
+2019-12-26 16:03:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11upload.c:
+         d3d11upload: Don't hard overwrite caps features to support d3d11 memory passthrough
+         d3d11upload should be able to support upstream d3d11 memory, not only system memory.
+         Fix for following pipeline
+         d3d11upload ! "video/x-raw(memory:D3D11Memory)" ! d3d11videosink
+
+2019-12-26 22:43:35 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/opencv/meson.build:
+         opencv: allow compilation against 4.2.x
+
+2019-12-24 14:00:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Make use of partial presentation with IDXGISwapChain1::Present1
+         Since we might draw on partial area of backbuffer in case of force-aspect-ratio,
+         presenting only updated area is more efficient way.
+         See also https://docs.microsoft.com/ko-kr/windows/win32/direct3ddxgi/dxgi-1-2-presentation-improvements
+
+2019-12-24 15:54:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11overlaycompositor.c:
+       * sys/d3d11/gstd3d11overlaycompositor.h:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11videosink: Add support for overlay composition
+         Add d3d11overlaycompositor object to draw overlay image
+         on render target using Blend method.
+
+2019-12-20 18:56:08 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Enable dxgi debug layer and always try to pop d3d11/dxgi debug message if possible
+         Note that dxgi and d3d11 sdk debug will be enabled on debug build
+
+2019-11-28 18:54:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Refactor plugin initialization
+         Create CUDA context per device, instead of per codec and encoder/decoder.
+         Allocating CUDA context is heavy operation so we should reuse it
+         as much as possible.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1130
+
+2019-12-20 12:37:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+         vulkan/window/win32: Don't post any WinProc message to parent window
+         Posting any message to parent seems to be pointless. That might break
+         parent window.
+         Regardless of the posting, parent window can catch mouse event
+         and also any keyboard events will be handled by parent window by default.
+
+2019-11-11 09:47:00 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/openjpeg/gstopenjpegenc.h:
+         openjpegenc: add support for sub-frame encoding
+         Following the standard for low latency JPEG 2000 encoding
+         https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.222.0-200701-S!Amd1!PDF-E&type=items
+         we divide the image into stripes of a specified height, and encode
+         each stripe as a self-contained JPEG 2000 image. This MR is based on
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/429
+
+2019-03-23 21:01:51 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * ext/meson.build:
+       * ext/svthevcenc/gstsvthevcenc.c:
+       * ext/svthevcenc/gstsvthevcenc.h:
+       * ext/svthevcenc/meson.build:
+       * meson_options.txt:
+       * tests/check/elements/svthevcenc.c:
+       * tests/check/meson.build:
+         svthevcenc: Add new SVT-HEVC encoder element
+         The SVT-HEVC (Scalable Video Technology[0] for HEVC) Encoder is an
+         open source video coding technology[1] that is highly optimized for
+         Intel Xeon Scalable processors and Intel Xeon D processors.
+         [0] https://01.org/svt
+         [1] https://github.com/OpenVisualCloud/SVT-HEVC
+
+2019-09-30 16:29:50 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst/videoparsers/gsth265parse.c:
+         h265parser: Add simple GstH265Profile/string public utilites
+         It makes more simplifies the conversion between GstH265Profile and string.
+
+2019-12-20 00:01:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Use dynamic texture for fallback buffer
+         Upload CPU memory to texture directly by using dynamic usage texture.
+         This will reduce at least one step of staging copy per frame.
+
+2019-12-19 23:58:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11colorconvert: Set TRANSFER_NEED_DOWNLOAD flag to output memory for later cpu access
+         Otherwise CPU cannot access texture via gst_memory_map()
+
+2019-12-19 22:07:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11colorconvert: Use shader resource and render target bind flags together
+         The output of d3d11colorconvert would be used for rendering (i.e., shader resource)
+
+2019-12-19 21:47:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Change aspect-ratio mode from window thread
+         Call DXGI API from window thread as much as possible
+
+2019-12-17 20:49:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/d3d11videosink/d3d11videosink-kb.c:
+       * tests/examples/d3d11videosink/d3d11videosink-kb.h:
+       * tests/examples/d3d11videosink/d3d11videosink.c:
+       * tests/examples/d3d11videosink/meson.build:
+       * tests/examples/meson.build:
+         examples: Add example for d3d11videosink
+         This is fork of win32-videooverlay in -base but more d3d11videosink specific one.
+
+2019-12-15 19:29:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Add support for full screen mode
+         borderless top-most style full screen mode support.
+         Basically fullscreen toggle mode is disabled by default. To enable it
+         use "fullscreen-toggle-mode" property to allow fullscreen mode change
+         by user input and/or property.
+
+2019-12-20 00:17:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11: Use GRecMutex to protect immediate context and dxgi API call
+         In some cases, rendering and dxgi (e.g., swapchain) APIs should be
+         called from window message pump thread, but current design (dedicated d3d11 thread)
+         make it impossible. To solve it, change concurrency model to locking based one
+         from single-thread model.
+
+2019-12-18 20:55:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Prefer to use flip-sequential over discard
+         flip-sequential is more efficient than discard
+
+2019-12-18 20:36:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Don't hold backbuffer interface
+         We don't need to hold it
+
+2019-12-18 14:23:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Use CreateSwapChainForHwnd if available
+         That's recommended way from MS and CreateSwapChainForHwnd supports
+         more options than CreateSwapChain
+
+2019-12-18 13:21:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/meson.build:
+         d3d11: Use configuration file for dxgi header version check
+
+2019-12-17 13:47:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Use allow-tearing mode if device supports it
+         As the recommendation from MS.
+
+2019-12-15 18:30:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Disable fullscreen mode change by alt + enter
+         Disable full screen mode change until proper handling is implemented
+
+2019-12-15 16:23:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Remove resizing window hack and unify resizing flow
+         In earlier implementation of d3d11videosink where no shader was implemented,
+         the aspect ratio and render size were adjusted by manipulating the backbuffer size
+         with unintuitive formula. Since now we do color conversion and resize using
+         shader, we can remove the hack.
+
+2019-12-15 15:50:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11: Pass GstD3D11Memory object to ensure_{shader_resource,render_target}_view methods
+         The method name indicates it should be d3d11memory, so passing
+         GstD3D11Memory seems to make more sense than GstMemory.
+
+2019-12-15 15:44:20 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Don't specify crop meta to allocation query
+         d3d11videosink could not handle it for now
+
+2019-12-19 15:19:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/autoconvert/gstautoconvert.c:
+         autoconvert: Fix lock-less exchange or free condition
+         Before this change, we would free the list we just have saved.
+         Fixes #1158
+
+2019-11-12 12:27:51 +0100  Francisco Javier Velázquez-García (francisv) <fvelazquez@make.tv>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         gstsrtsink: Add `wait-for-connection` property to `srtsink`
+         Add `wait-for-connection` property to `srtsink` element.  This
+         property allows the element to process packets even when no clients
+         are connected.
+
+2019-12-07 09:56:28 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: hold class lock for entire duration of class destruction
+         This avoids a race condition currently when temporarily releasing the
+         lock and then re-acquiring.
+
+2019-12-07 09:54:49 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dhelpers.h:
+         d3dvideosink: improve concurrency on hidden window create/destroy
+
+2019-12-07 14:51:28 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dvideosink.h:
+         d3dvideosink: use thread pool to handle events from hidden window event queue
+         window event queue now does not lock on the class lock, so we can now shut
+         it down without releasing the class lock, thus avoiding a potential race when
+         stopping the sink.
+
+2019-12-07 09:53:20 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: improve concurrency on internal window create/destroy
+         Remove timeout and rely on condition variable instead to indicate thread
+         start.
+
+2019-12-07 09:34:55 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: only warn about HWND already set if new HWND is not NULL
+
+2019-12-07 00:25:05 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: add more null checks
+
+2019-12-07 00:01:47 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: check ref count and device before resetting display
+
+2019-12-07 09:41:32 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dhelpers.h:
+         d3dvideosink: use class lock when checking d3d formats, and cache format list
+
+2019-12-06 23:50:50 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: destroy device just before final d3d release call
+         and free overlays after swap chain is released
+
+2019-12-06 23:26:34 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: add two forward declarations
+
+2019-12-06 23:24:57 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: use class lock when setting pool config
+
+2019-12-06 23:23:45 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: use class lock when allocating pool buffer
+
+2019-12-06 23:19:11 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/gstd3d9overlay.c:
+         d3dvideosink: use class lock when creating overlay textures
+
+2019-12-06 23:16:05 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/gstd3d9overlay.c:
+         d3dvideosinnk: check d3d device exists before creating overlay vertex buffer
+
+2019-12-06 23:14:06 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: pass hidden window hwnd to GST_DEBUG, rather than NULL
+
+2019-12-06 23:11:11 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: fix typo
+
+2019-12-18 03:03:40 +0000  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * tests/check/elements/h264parse.c:
+         h264parse: Align GST_H264_PROFILE_HIGH_422 to H264 standards
+         According to H264 ITU standards from 06/19, GST_H264_PROFILE_HIGH_422
+         (profile_idc = 122) with constraint_set1_flag = 0 and
+         constraint_set3_flag = 0 can be mapped to high-4:2:2 or high-4:4:4.
+         GST_H264_PROFILE_HIGH_422 with constraint_set1_flag = 0 and
+         constraint_set3_flag = 1 can be mapped to high-4:2:2, high-4:4:4,
+         high-4:2:2-intra or high-4:4:4-intra.
+
+2019-12-17 16:44:10 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videoparsers/gstvideoparseutils.c:
+       * gst/videoparsers/gstvideoparseutils.h:
+         Revert "videoparseutils: support two new EIA 608 closed caption formats"
+         This reverts commit f5c1c90122840396f3a34f787bd66a672be21c3b.
+
+2019-12-17 16:43:54 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/closedcaption/gstccextractor.c:
+         Revert "ccextractor: support new CEA 608 formats"
+         This reverts commit 80dd7b2d3d871f1cf456bda249bc90e4eeeb53b1.
+
+2019-05-02 13:20:29 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/closedcaption/gstccextractor.c:
+         ccextractor: support new CEA 608 formats
+
+2019-10-24 22:06:59 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstvideoparseutils.c:
+       * gst/videoparsers/gstvideoparseutils.h:
+         videoparseutils: support two new EIA 608 closed caption formats
+
+2019-11-09 19:37:10 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/wlvideoformat.c:
+         wlvideoformat: clean up video formats
+         It cleans up videoFormat by combining the wl_shm_formats and
+         drm_formats into a single table that represents the same format.
+         In addition, it adds NV61 format to the waylandsink.
+
+2019-12-16 16:59:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Always draw to internal window
+         ... and use SetParent() WIN32 API when external window is used.
+         Depending on DXGI swap effect, the external window might not be
+         reusable by another backend. To preserve the external window's property
+         and setting, drawing to internal window seems to be safer way.
+
+2019-12-14 21:41:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Always set error reason to GError object
+
+2019-12-13 15:33:06 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: call finalize on the parent class
+         Otherwise GstVideoDecoder is not finalized and
+         resources are leaked.
+         Somehow GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7" did not catch it.
+         Valgrind output:
+         ==31645== 22,480 (1,400 direct, 21,080 indirect) bytes in 5 blocks are definitely lost in loss record 5,042 of 5,049
+         ==31645==    at 0x4C2FB0F: malloc
+         ==31645==    by 0x51D9E88: g_malloc
+         ==31645==    by 0x51FA7B5: g_slice_alloc
+         ==31645==    by 0x51FAC68: g_slice_alloc0
+         ==31645==    by 0x58D9984: g_type_create_instance
+         ==31645==    by 0x58BA344: g_object_new_with_properties
+         ==31645==    by 0x58BADA0: g_object_new
+         ==31645==    by 0x8ECA966: gst_video_decoder_init
+         ==31645==    by 0x58D99E7: g_type_create_instance
+         ==31645==    by 0x58BA344: g_object_new_with_properties
+
+2019-12-11 14:17:37 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: element requests camera permissions even with capture-screen property is true
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1137
+         macOS has different dialogs for camera capture and screen capture.
+         No need to request screen capture permissions, the system detect
+         screen capture automatically and create request dialog.
+
+2019-12-11 21:51:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Initialize surface rect with given external window handle
+         Unlike internal window, resize event might not happen with external window.
+
+2019-12-11 20:21:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Report alive d3d11 objects at the end
+         It would be useful for debugging d3d11 object leak.
+
+2019-12-11 20:19:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11shader.c:
+         d3d11: Fix ID3D11SamplerState leak
+
+2019-12-11 10:47:20 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/curl/gstcurlbasesink.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/fdkaac/gstfdkaacenc.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/opencv/gsthanddetect.cpp:
+       * ext/openni2/gstopenni2src.cpp:
+       * ext/resindvd/gstpesfilter.c:
+       * ext/soundtouch/gstbpmdetect.cc:
+       * ext/teletextdec/gstteletextdec.c:
+       * gst-libs/gst/player/gstplayer.c:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/uridownloader/gsturidownloader.c:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst/accurip/gstaccurip.c:
+       * gst/autoconvert/gstautovideoconvert.c:
+       * gst/mpegdemux/gstpesfilter.c:
+       * gst/vmnc/vmncdec.c:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/uvch264/gstuvch264_mjpgdemux.c:
+       * tests/check/elements/curlhttpsrc.c:
+       * tests/check/elements/dash_demux.c:
+       * tests/check/elements/hls_demux.c:
+       * tests/check/elements/mssdemux.c:
+       * tests/check/elements/webrtcbin.c:
+       * tests/examples/playout.c:
+         remove various useless linefeed in logs
+
+2019-11-07 15:54:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkvp8dec.c:
+       * sys/msdk/gstmsdkvp9dec.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdk: ignore MFX_ERR_UNDEFINED_BEHAVIOR when loading a plugin
+         An issue can be seen when using msdkh265enc with bitrate change in
+         playing state. The root cause is the corresponding plugin is loaded
+         again.
+         Returning MFX_ERR_UNDEFINED_BEHAVIOR from MSDK just means the plugin has
+         been loaded, so we may ignore this error when doing configuation again
+         in the sub class, otherwise the pipeline will be interrupted
+
+2019-12-09 21:01:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Fix broken fallback rendering
+         Make fallback rendering work
+
+2019-12-09 19:54:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Add debug message for fallback reason
+
+2019-12-09 00:14:53 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11window: Do not check shader resource view if not doing conversion
+         If d3d11window does not convert format internally, shader resource view
+         is not required. Note that shader resource view is used for
+         color conversion using shader but when conversion is not required,
+         we just copy input input texture to backbuffer.
+
+2019-12-05 21:19:13 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: check mfx surface nullity for the input buffer
+         In theory it should not happen but it happened to me
+         in some cases where it failed to allocate some video
+         buffers so this was a consequence of a corner case.
+         Better to be safe than sorry.
+
+2019-12-08 16:39:16 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Clear old swapchain per prepare
+         _prepare() might be called multiple times for given window, so clear
+         old swapchain if any.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1138
+
+2019-12-09 15:35:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srtp/gstsrtpdec.c:
+         srtp: Remove %z as it doesn't work on Windows
+
+2019-12-09 17:54:02 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/debugutils/gsttestsrcbin.c:
+         gsttestsrcbin: Avoid not-linked errors when switching tracks
+         The previous implementation had a very high reproducibility race where
+         if after a track switch, the ex-active track pad completed a buffer
+         chain (now returning not-linked) the flow combiner had all their pads in
+         non-linked state, propagating it as an error and stopping the pipeline.
+         By resetting the flow combiner in response to RECONFIGURE events that
+         race is made impossible.
+
+2019-12-06 08:50:05 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: fix assertion 'frame->ref_count > 0' failed
+         Can happen if the oldest frame is the current frame
+         and if gst_video_decoder_finish_frame failed in which
+         case the current is unref and then drop instead of
+         just drop.
+         This patch also removes some assumptions, it was strange
+         to call unref and finish_frame in gst_msdkdec_finish_task.
+         In principle when owning a frame, the code should either
+         unref, or drop or finish.
+
+2019-12-08 17:25:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Always set dxgi colorspace if possible
+         Not only for the 10 bits RGB case with HDR metadata, set proper color space
+         to swapchain in order to make color representaion correct
+
+2019-09-03 13:56:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * meson.build:
+       * sys/applemedia/corevideobuffer.c:
+       * sys/applemedia/iosurfacevulkanmemory.c:
+       * sys/applemedia/iosurfacevulkanmemory.h:
+       * sys/applemedia/meson.build:
+       * sys/applemedia/metal-helpers.h:
+       * sys/applemedia/videotexturecache-vulkan.h:
+       * sys/applemedia/videotexturecache-vulkan.mm:
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtdec.h:
+         vtdec: add support for outputing vulkan images
+
+2019-09-03 13:42:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+         vulkan/image: expose initialization function for subclasses
+
+2019-09-03 00:30:31 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan/macos: link directly to MoltenVK
+         It's currently the only sane way we can use MoltenVK functions to
+         integrate with Metal API.
+         It also removes the need to specify the VK_ICD_FILENAMES environment
+         variable pointing to MoltenVK_icd.json.
+
+2019-09-02 15:00:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/corevideobuffer.c:
+       * sys/applemedia/iosurfaceglmemory.c:
+       * sys/applemedia/iosurfaceglmemory.h:
+       * sys/applemedia/iosurfacememory.h:
+       * sys/applemedia/meson.build:
+       * sys/applemedia/videotexturecache-gl.m:
+         applemedia: rename IOSurfaceMemory -> IOSurfaceGLMemory
+
+2019-08-28 18:59:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/corevideobuffer.c:
+       * sys/applemedia/meson.build:
+       * sys/applemedia/videotexturecache-gl.h:
+       * sys/applemedia/videotexturecache-gl.m:
+       * sys/applemedia/videotexturecache.h:
+       * sys/applemedia/videotexturecache.m:
+       * sys/applemedia/vtdec.c:
+         videotexturecache: implement GL specifics as a subclass
+
+2019-08-26 16:51:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/videotexturecache.h:
+       * sys/applemedia/videotexturecache.m:
+       * sys/applemedia/vtdec.c:
+         applemedia/videocache: make a GObject subclass
+
+2019-08-28 20:09:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: don't leak texture caches
+         If decide_allocation is called multiple times, then we would continually
+         overwrite the previous cache without freeing
+
+2019-12-05 22:06:41 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11window.c:
+         d3d11: translate windows error codes to human readable strings
+         This will help with debugging.
+
+2019-09-16 13:15:59 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/magicleap/mlaudiosink.c:
+         mlaudiosink: Fix crash when stopping pipeline
+         This is a bug in LuminOS 0.97.0.
+
+2019-04-09 15:22:19 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/magicleap/meson.build:
+       * sys/magicleap/mlaudiosink.c:
+       * sys/magicleap/mlaudiosink.h:
+       * sys/magicleap/mlaudiowrapper.cpp:
+       * sys/magicleap/mlaudiowrapper.h:
+       * sys/magicleap/plugin.c:
+       * sys/meson.build:
+         Add mlaudiosink element
+
+2019-09-05 16:48:19 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: keep the headers
+         be able to resend the headers on demand after a key-unit request
+
+2019-12-05 21:22:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Return new references to the devices from get_devices()
+         Otherwise the caller will free the devices we store internally.
+
+2019-05-24 16:24:00 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstdashdemux.h:
+       * ext/dash/gstmpdadaptationsetnode.c:
+       * ext/dash/gstmpdadaptationsetnode.h:
+       * ext/dash/gstmpdbaseurlnode.c:
+       * ext/dash/gstmpdbaseurlnode.h:
+       * ext/dash/gstmpdclient.c:
+       * ext/dash/gstmpdclient.h:
+       * ext/dash/gstmpdcontentcomponentnode.c:
+       * ext/dash/gstmpdcontentcomponentnode.h:
+       * ext/dash/gstmpdhelper.c:
+       * ext/dash/gstmpdhelper.h:
+       * ext/dash/gstmpdmetricsnode.c:
+       * ext/dash/gstmpdmetricsnode.h:
+       * ext/dash/gstmpdmetricsrangenode.c:
+       * ext/dash/gstmpdmetricsrangenode.h:
+       * ext/dash/gstmpdparser.c:
+       * ext/dash/gstmpdparser.h:
+       * ext/dash/gstmpdperiodnode.c:
+       * ext/dash/gstmpdperiodnode.h:
+       * ext/dash/gstmpdprograminformationnode.c:
+       * ext/dash/gstmpdprograminformationnode.h:
+       * ext/dash/gstmpdrepresentationnode.c:
+       * ext/dash/gstmpdrepresentationnode.h:
+       * ext/dash/gstmpdrootnode.c:
+       * ext/dash/gstmpdrootnode.h:
+       * ext/dash/gstmpdsegmentlistnode.c:
+       * ext/dash/gstmpdsegmentlistnode.h:
+       * ext/dash/gstmpdsegmenttemplatenode.c:
+       * ext/dash/gstmpdsegmenttemplatenode.h:
+       * ext/dash/gstmpdsegmenttimelinenode.c:
+       * ext/dash/gstmpdsegmenttimelinenode.h:
+       * ext/dash/gstmpdsegmenturlnode.c:
+       * ext/dash/gstmpdsegmenturlnode.h:
+       * ext/dash/gstmpdsnode.c:
+       * ext/dash/gstmpdsnode.h:
+       * ext/dash/gstmpdsubrepresentationnode.c:
+       * ext/dash/gstmpdsubrepresentationnode.h:
+       * ext/dash/gstmpdsubsetnode.c:
+       * ext/dash/gstmpdsubsetnode.h:
+       * ext/dash/gstmpdutctimingnode.c:
+       * ext/dash/gstmpdutctimingnode.h:
+       * ext/dash/meson.build:
+       * tests/check/elements/dash_mpd.c:
+         dash: move parser nodes/types to separated files
+         Rename GstMpdClient to GstMPDClient and use GObject model.
+         Move nodes to file from gstmpdparser.c:
+         - GstMPDRootNode
+         - GstMPDBaseURLNode
+         - GstMPDUTCTimingNode
+         - GstMPDMetricsNode
+         - GstMPDMetricsRangeNode
+         - GstMPDSNode
+         - GstMPDSegmentTimelineNode
+         - GstSegmentTemplateNode
+         - GstMPDSegmentURLNode
+         - GstMPDSegmentListNode
+         - GstMPDPeriodNode
+         - GstMPDRepresentationNode
+         - GstMPDsubRepresentationNode
+         - GstMPDAdaptationSetNode
+         - GstMPDContentComponentNode
+         - GstMPDSubsetNode
+         - GstMPDProgramInformationNode
+         Move types to gstmpdhelper from gstmpdparser.c:
+         - GstURLType
+         - GstDescriptorType
+         - GstSegmentBaseType
+         - GstMPDMultSegmentBaseType
+         - GstMPDRepresentationBaseType
+         Cleanup naming when possible.
+
+2019-05-20 18:48:23 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstdashdemux.h:
+       * ext/dash/gstmpdclient.c:
+       * ext/dash/gstmpdclient.h:
+       * ext/dash/gstmpdhelper.c:
+       * ext/dash/gstmpdhelper.h:
+       * ext/dash/gstmpdparser.c:
+       * ext/dash/gstmpdparser.h:
+       * ext/dash/gstxmlhelper.c:
+       * ext/dash/gstxmlhelper.h:
+       * ext/dash/meson.build:
+       * tests/check/elements/dash_mpd.c:
+         dash: split mpdparser, mpdclient and xmlhelper
+         provide a separate namespace for mpd helper
+         for xml parsing and the real mpd parsing.
+
+2019-12-04 15:33:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: Fix warning for unhandled enum in switch
+         d3dhelpers.c:135:3: warning: enumeration value 'D3DFMT_D32_LOCKABLE' not handled in switch [-Wswitch]
+
+2019-12-04 19:29:38 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkviewconvert.c:
+         vulkanviewconvert: clear the cached uniforms on caps change
+         Caps changes can change the output/input layout which needs to be
+         reflected in the input uniforms to the shader.
+
+2019-12-05 00:53:40 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/plugin.c:
+         d3d11: Initialize debug categories of non-GstElement implementation in plugin init
+         That's the way to expose debug category to --gst-debug-help
+
+2019-12-04 23:23:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Invoke resize task with high priority
+         On resize event, swapchain should be configured with higher priority
+         than the other tasks since it's directly related to visual artifacts.
+
+2019-12-04 23:20:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+         d3d11device: Add gst_d3d11_device_thread_add_full method
+         I would be used to invoke GPU task with specified priority.
+
+2019-12-04 14:15:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11videosinkbin.h:
+         d3d11videosinkbin: Drop d3d11 color convert element
+         d3d11videosink can convert color space now, so the conversion element
+         seems to be redundant.
+
+2019-12-03 22:54:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Add color conversion support
+         Draw to back buffer texture directly. It would reduce the number of
+         copy at least once when color conversion is required.
+
+2019-12-03 22:29:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11converter: Skip setup converter if input and output formats are equal
+
+2019-12-03 20:35:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+       * sys/d3d11/gstd3d11colorconverter.c:
+       * sys/d3d11/gstd3d11colorconverter.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11colorconvert: Split color space converter to reuse code
+
+2019-12-02 20:24:05 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+       * sys/d3d11/gstd3d11shader.c:
+       * sys/d3d11/gstd3d11shader.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Split shader to reuse code
+
+2019-12-02 23:27:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Draw window with cached texture on resize
+         This would render nicer than presenting scene with broken aspect ratio,
+         especially in case of low framerate.
+
+2019-11-30 20:26:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11: Add support for D3D11_USAGE_DYNAMIC
+         D3D11 dynamic texture is a special memory type, which is mainly used for
+         frequent CPU write access to the texture. For now, this texture type
+         does not support gst_memory_{map,unmap}
+
+2019-12-02 14:23:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Add debug message for CreateTexture2D failure
+
+2019-12-02 14:03:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11device: Fix misreading debug message
+
+2019-12-01 16:13:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+         d3d11colorconvert: Disable color conversion with software rasterizer
+         It's much slower than our CPU based color-converter in most case.
+
+2019-07-18 23:12:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Handle context query
+         Propagate d3d11device via context query.
+
+2019-10-06 21:59:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11colorconvert.c:
+         d3d11colorconvert: Avoid copy in/out texture if possible
+         When input and/or output d3d11memory has its own view, use them for
+         rendering to avoid texture copy
+
+2019-10-06 21:35:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11memory: Allocate texture with required views
+         Store required resource views with d3d11 texture when it requested.
+
+2019-11-06 19:39:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosinkbin.c:
+       * sys/d3d11/gstd3d11videosinkbin.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add d3d11videosinkbin element
+         New wrapper element to support d3d11 memory upload, color conversion, and
+         rendering at once.
+
+2019-08-18 21:01:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11colorconvert.c:
+       * sys/d3d11/gstd3d11colorconvert.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Add color space conversion element using shader
+         Add d3d11colorconvert element for color space conversion.
+         Currently {RGB, YUV} to RGB conversion is supported.
+
+2019-10-06 20:59:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+         d3d11memory: Register mininal compare function for GstD3D11AllocationParams
+         The d3d11 allocation param is stored in GstStructure so it should
+         provide compare function for later use such as gst_structure_is_equal()
+
+2019-10-03 21:24:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Set render target whenever drawing
+         Device context's render target might be updated for offscreen rendering
+
+2019-08-24 17:43:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11videosink: Specify d3d11 memory caps feature on sinkpad template
+
+2019-11-06 19:38:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11basefilter.c:
+       * sys/d3d11/gstd3d11basefilter.h:
+       * sys/d3d11/gstd3d11download.c:
+       * sys/d3d11/gstd3d11download.h:
+       * sys/d3d11/gstd3d11upload.c:
+       * sys/d3d11/gstd3d11upload.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.c:
+         d3d11: Introduce d3d11 upload/download element
+         That's equivalent to glupload and gldownload elements but for d3d11
+
+2019-11-06 19:37:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11_fwd.h:
+       * sys/d3d11/gstd3d11bufferpool.c:
+       * sys/d3d11/gstd3d11bufferpool.h:
+       * sys/d3d11/gstd3d11format.c:
+       * sys/d3d11/gstd3d11format.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/meson.build:
+         d3d11: Refactor d3d11 memory and dxgi format usage
+         * Create staging texture only when the CPU access is requested.
+         Note that we should avoid the CPU access to d3d11 memory as mush as possible.
+         Incoming d3d11upload and d3d11download will take this GPU memory upload/download.
+         * Upload/Download texture memory from/to staging only if it needed, similar to
+         GstGL PBO implementation.
+         * Define more dxgi formats for future usage (e.g., color conversion, dxva2 decoder).
+         Because I420_* formats are not supported formats by dxgi, each plane should
+         be handled likewise GstGL separately, but NV12/P10 formats might be supported ones.
+         So we decide the number of d3d11memory per GstBuffer for video memory depending on
+         OS version and dxgi format. For instance, if NV12 is supported by OS,
+         only one d3d11memory with DXGI_FORMAT_NV12 texture can be allocated by this commit.
+         One use case of such texture is DXVA. In case DXVA decoder, it might need to produce decoded data
+         to one DXGI_FORMAT_NV12 instead of seperate Y and UV planes.
+         Such behavior will be controlled via configuration of GstD3D11BufferPool and
+         default configuration is separate resources per plane.
+
+2019-08-24 17:14:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11memory.h:
+         d3d11: Add method for querying d3d11 memory type
+         ... and fix misreading "private" annotation.
+
+2019-09-25 20:34:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+         d3d11device: Store selected d3d feature level
+         Depending on selected feature level, d3d11 API usage can be different.
+         Instead of querying the selected feature level by user whenever required,
+         store it once by d3d11device.
+
+2019-08-23 21:41:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11utils.h:
+       * sys/d3d11/gstd3d11videosink.c:
+         d3d11: Don't share d3d11 device context unconditionally without checking adapter
+         Do not accept any GstD3D11Device context which has different adapter
+         index from the required one. For example, if a d3d11 element is expecting
+         d3d11 device with adapter 1 (i.e., the second GPU), any d3d11 device
+         context having different adapter could not be shared with
+         the d3d11 element.
+
+2019-09-24 20:32:47 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+         d3d11device: Don't allow auto adapter selection
+         Change to d3d11device to be created with explicit target adapter index,
+         and expose some readonly device properties
+
+2019-08-18 20:56:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/gstd3d11device.h:
+       * sys/d3d11/gstd3d11memory.c:
+       * sys/d3d11/gstd3d11utils.c:
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.c:
+         d3d11: Rename native handle getter and context utils functions
+         Make them consistent with cuda context utils functions.
+         Put in-only parameter before all in-out parameters, and add _handle()
+         suffix to native handle getter functions.
+
+2019-12-02 11:13:11 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: use parent buffer pool to release buffers
+         In certain cases, the sink's buffer pool will not call the parent's
+         release_buffer method, so the pool does not clean up properly
+         after the buffer is released.
+
+2019-11-29 13:45:42 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+       * ext/vulkan/vkelementutils.c:
+       * ext/vulkan/vkelementutils.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkimageidentity.h:
+       * ext/vulkan/vkshader.c:
+       * ext/vulkan/vkshader.h:
+       * ext/vulkan/vkviewconvert.c:
+       * ext/vulkan/vkviewconvert.h:
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+       * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkutils.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+       * tests/check/libs/vkimage.c:
+         vulkan: move fullscreenquad object to library
+         It's useful and extensible enough to be used by us and other elements
+
+2019-11-29 11:05:50 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+         vulkan: fix up some gir annotations
+
+2019-12-03 15:45:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Store unsigned integers in unsigned integer types
+         And add some assertions to guard against overflows and out of bounds
+         reads.
+
+2019-12-03 15:35:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Increment phase_index before checking if we're at the end of the phase
+         Incrementing it afterwards will always have to phase_index >= 1 and we
+         will never be at the beginning (0) of the phase again, and thus never
+         reset timestamp tracking accordingly.
+         This was broken in bea13ef43b719aad96e28766cd4d23652a891a20 in 2010, and
+         causes interlace to run into integer overflows after 2^31 frames or
+         about 5 hours at 29.97fps. Due to usage of wrong types for the integers
+         this then causes negative numbers to be used in calculations and all
+         calculations spectacularly fail, leading to all following buffers to
+         have the timestamp of the first buffer minus one nanosecond.
+
+2019-11-27 15:38:50 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2sink: Only apply @setDataFrame to onMetaData messages
+         Only the metadata needs to be made "sticky". Custom data messages should
+         be passed on unmodified.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:38:39 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+       * gst/rtmp2/rtmp/rtmpmessage.h:
+         rtmp2: Add gst_rtmp_message_is_metadata
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:38:20 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+         rtmp2: Add gst_rtmp_connection_set_data_frame
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:37:45 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/amf.c:
+       * gst/rtmp2/rtmp/amf.h:
+         rtmp2: Add single-value AMF0 parsing and serializing
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:36:07 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/amf.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Minor changes
+         - Remove an unneeded initialization to zero from AmfParser
+         - Add missing initialization to gst_amf_serialize_command_valist
+         - Add a g_return_if_fail to gst_rtmp_connection_request_window_size
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-12-03 14:19:05 +1100  Matthew Waters <matthew@centricular.com>
+
+       * meson.build:
+         build: use -fvisibility=hidden for objc code
+
+2019-12-03 14:18:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+       * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+         vulkan: priviatise _invoke_on_main()
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1132
+
+2019-11-21 16:59:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkdeviceprovider.cpp:
+       * sys/decklink/gstdecklinkdeviceprovider.h:
+       * sys/decklink/meson.build:
+         decklink: Add simple device provider for Decklink devices
+
+2019-12-01 17:04:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/openexr/meson.build:
+         openexr: Fix check for when to pass -std=c++98
+         commit 6adfb120ab0e1bb0b3439ad725a362cfe4fbe733 added this flag to fix
+         builds with `-Werror`, and afterwards it was changed to use a version
+         check when newer versions of openexr moved over to C++11.
+         However, some distros have backported patches to older openexr
+         versions which make it require C++11, which makes the version check
+         incorrect and causes an error because we passed `-Werror -std=c++98`.
+         Instead, directly check when usage of the header requires `-std=c++98`
+         with `-Werror` and override the `cpp_std` setting on the target.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1117
+
+2019-11-30 14:08:06 +0100  o0Ignition0o <jeremy.lempereur@gmail.com>
+
+       * sys/applemedia/avfvideosrc.m:
+         avfvideosrc: Explicitly request device video permissions for macOS 10.14+
+         Since macOS Mojave (10.14), video permissions have to be explicitly
+         granted by a user in order to open a video device such as a camera.
+         This commit adds a check for the current permission status, and tries
+         to request for permission if applicable.
+
+2019-11-27 00:25:16 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenquad.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache-private.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkfence.h:
+       * gst-libs/gst/vulkan/gstvkhandlepool.c:
+       * gst-libs/gst/vulkan/gstvkhandlepool.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+       * gst-libs/gst/vulkan/gstvktrash.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+       * meson.build:
+       * meson_options.txt:
+         vulkan: implement caching and reuse of a couple of vulkan resources
+         Includes a new GstVulkanHandlePool base class for pooling different
+         resources togther.  The descriptor cache object is ported to
+         GstVulkanHandlePool with the exact same functionality.
+         A new GstVulkanFenceCache is also implemented for caching fences
+         which is used internally by GstVulkanDevice for creating or reusing
+         fences.
+         The existing GstVulkanTrashFenceList object now caches trash objects.
+
+2019-11-26 18:29:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvktrash.c:
+       * gst-libs/gst/vulkan/gstvktrash.h:
+         vulkan/trash: remove free functions covered by GstVulkanHandle
+
+2019-11-26 18:27:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+         vulkancolorconvert: disable YUY2 conversion
+         It doesn't work and never seemed to
+
+2019-11-26 18:11:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/shaders/ayuv_to_rgb.frag:
+       * ext/vulkan/shaders/identity.frag:
+       * ext/vulkan/shaders/nv12_to_rgb.frag:
+       * ext/vulkan/shaders/rgb_to_ayuv.frag:
+       * ext/vulkan/shaders/rgb_to_nv12.frag:
+       * ext/vulkan/shaders/rgb_to_yuy2.frag:
+       * ext/vulkan/shaders/swizzle.frag:
+       * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+       * ext/vulkan/shaders/uyvy_to_rgb.frag:
+       * ext/vulkan/shaders/view_convert.frag:
+       * ext/vulkan/shaders/yuy2_to_rgb.frag:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+       * ext/vulkan/vkfullscreenquad.c:
+       * ext/vulkan/vkfullscreenquad.h:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkfullscreenrender.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkimageidentity.h:
+       * ext/vulkan/vkshader.c:
+       * ext/vulkan/vkshader.h:
+       * ext/vulkan/vkviewconvert.c:
+       * ext/vulkan/vkviewconvert.h:
+       * gst-libs/gst/vulkan/gstvkvideofilter.c:
+       * gst-libs/gst/vulkan/gstvkvideofilter.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+         vulkan: split vkfullscreenrender into two
+         Part 1 is a base class (vkvideofilter) that handles instance, device,
+         queue retrieval and holding that has been moved to the library
+         Part 2 is a fullscreenrenderquad that is still in the plugin that
+         performs all of the previous vulkan-specific functionality.
+
+2019-11-26 16:26:41 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+         vulkan/upload: allocate from the correct pool
+         Only relevant when upstream does not use our provided pool.
+
+2019-11-26 16:25:43 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkhandle.c:
+       * gst-libs/gst/vulkan/gstvkhandle.h:
+         vulkan/handle: add some handle types
+
+2019-11-18 20:29:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkimageview.c:
+       * tests/check/libs/vkimage.c:
+       * tests/check/meson.build:
+         vulkan/image: don't rely on weak-ref notifies for views
+         Weak refs don't quite work here correctly as there is always a race with
+         taking the lock between find_view() and remove_view().  If find_view()
+         returns a view that is going to removed by remove_view() then we have an
+         interesting situation.
+         In theory, the number and type of views for an image are relatively
+         constant and should not change one they've been set up which means that
+         it is actually practical to perform pool-like reference counting here
+         where the image holds a pool of different views that it can give out
+         as necessary.
+
+2019-11-18 15:20:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan: add a couple of missing fence unrefs
+
+2019-10-04 16:05:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+         vulkan/colorconvert: zero out sampler create struct
+
+2019-11-26 11:39:32 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+         wasapisrc: Correctly handle BUFFERFLAGS_SILENT
+         We need to ignore the data we get from WASAPI in this case and write
+         out silence (zeroes).
+         Initially reported at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
+
+2019-11-25 21:25:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+         wasapisrc: Try harder to avoid debug output in the hot loop
+         The whole `src_read()` function is a hot loop since the ringbuffer
+         thread is waiting on us, and printing to the console from inside it
+         can easily cause us to miss our deadline.
+         F.ex., if you had GST_DEBUG=3 and we accidentally missed a device
+         period, we'd trigger the "reported glitch" warning, which would cause
+         us to miss another device period, and so on. Let's reduce the log
+         level so that GST_DEBUG=3 is more usable, and only print buffer flag
+         info when it's actually relevant.
+
+2019-11-25 21:19:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapisrc.h:
+         wasapisrc: Fix capturing from some buggy audio drivers
+         Some audio drivers return varying amounts of data per ::GetBuffer
+         call, instead of following the device period that they've told us
+         about in `src_prepare()`.
+         Previously, we would just drop those extra buffers hoping that the
+         extra buffers were temporary (f.ex., a startup 'burst' of audio data).
+         However, it seems that some audio drivers, particularly on older
+         Windows versions (such as Windows 10 1703 and older) consistently
+         return varying amounts of data.
+         Use GstAdapter to smooth that out, and hope that the audio driver is
+         locally varying but globally periodic.
+         Initially reported in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
+
+2019-11-25 21:16:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+         wasapisrc: Clarify that nBlockAlign is actually bpf
+         bpf = bytes per frame.
+
+2019-11-25 21:00:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapiutil.c:
+         wasapisrc: Fix glitching and clock skew issues
+         We were miscalculating the device period, i.e. the number of frames
+         we'll get from WASAPI in each IAudioClient::GetBuffer call, due to
+         a calculation mistake (truncate instead of round).
+         For example, on my machine when the aux input is set to 44.1KHz, the
+         reported device period is 101587, which comes out to 447.998 frames
+         per ::GetBuffer call. In reality we will, of course, get 448 frames
+         per call, but we were truncating, so we expected 447 and were
+         discarding one frame every time. This led to glitching, and skew over
+         time.
+         Interestingly, I can only see this with 44.1Khz. 48Khz/96Khz are fine,
+         because the device period is a more 'even' number.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/806
+
+2019-11-27 15:41:26 +0100  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+         atscmux: Add missing break in switch
+         CID: 1455515
+
+2019-11-27 12:24:46 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/msdk.c:
+         msdk: Fix mixed declarations warning
+         msdk.c:194:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
+
+2019-11-26 13:05:38 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: buffer mismatch in map/unmap
+
+2019-11-19 15:35:20 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: log an error if leaking surfaces in finalize
+         The for loop in gst_msdkdec_handle_frame is error prone
+         about how it manages surfaces. Because sometimes it sets
+         the surface variable to NULL and sometimes it needs to free
+         it right away. So better to print an error if surfaces are
+         leaked to help with any change around the loop.
+
+2019-11-25 19:08:48 +0800  Jeffy Chen <jeffy.chen@rock-chips.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Commit the parent after creating subsurface
+         We should commit the parent to activate new subsurface, this is
+         documented in the protocol.
+         Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
+
+2018-07-20 21:33:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/ttml/gstttmlparse.c:
+       * ext/ttml/ttmlparse.c:
+       * ext/ttml/ttmlparse.h:
+         ttmlparse: Collect buffers until detecting complete xml document
+         Given buffer could be fragmented and we might need to
+         collect buffers until end tag is detected. And/or, a buffer
+         can consist of multiple ttml documents.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/494
+
+2019-11-20 13:19:02 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/msdk.c:
+         msdk: query hardware when checking MFX availability
+         msdk plugin is not used for sofware encode/decode as there are better
+         solutions available. Also, with MFX_IMPL_AUTO_ANY, if software decode
+         is not supported, the plugin will still load, but will then fail when trying to
+         run the (autoplugged) pipeline. With MFX_IMPL_HARDWARE_ANY,
+         the plugin fails and a better software decoder is auto-plugged.
+
+2019-11-20 13:09:34 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/msdk.c:
+         msdk: query platform when opening session
+
+2019-11-14 19:00:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Fix crash when nvenc was reused then freed without encoding
+         GstNvBaseEnc::n_bufs was set from the previous encoding session
+         but it wasn't cleared after stop. That might result to invalid memory
+         access at the next start (no encoded data) and then stop sequence.
+         Instead of defining a variable for array length, use GArray::len
+         directly to avoid such confusion.
+
+2019-11-14 18:57:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Remove unused code path
+         refilling queue would not happen
+
+2019-11-21 16:38:35 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtcdatachannels: Don't leak strings
+         They would leak in error cases
+         CID: 1455480
+
+2019-11-21 16:24:38 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Fix memory leak
+         The structure is not used after this block
+         CID: 1455481
+
+2019-11-19 19:29:26 -0800  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+         adaptivedemux: fix 'utc now' gdatetime creation
+         It broke after removal of usage of GTimeVal that was deprecated,
+         it requires seconds in this unix-based creation instead of microseconds.
+         The downside here is that it will create an extra object just to be
+         discarded in order to add the microsecond part to it.
+         It would end up segfaulting as it would return a NULL value
+
+2019-11-18 16:15:21 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtobject: allow passing SRT Stream ID in stream URI
+         Based on Stream ID, the application can accept or reject the connection,
+         select the desired data stream, or set an appropriate passphrase for the
+         connection. Example usage:
+         srt://127.0.0.1:1234?streamid=mystream
+
+2019-11-20 11:34:15 +0100  Linus Svensson <linussn@axis.com>
+
+       * ext/curl/meson.build:
+         curl: Require libcurl 7.55.0
+         CURLINFO_CONTENT_LENGTH_DOWNLOAD_T is available from libcurl version
+         7.55.0.
+
+2019-11-18 14:26:31 -0800  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: fix surface leak in msdkdec_handle_frame
+         Can be reproduced with:
+         videotestsrc ! x264enc key-int-max=$N ! \
+         h264parse ! msdkh264dec ! fakesink sync=1
+         It happens with any gop size but the smaller is the distance N
+         between key frames, the quicker it is leaking.
+         Fixes #1023
+
+2019-11-18 15:54:42 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/dash/meson.build:
+         dash: Fix typo in meson.build
+
+2019-11-01 15:58:47 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfdepay.c:
+       * tests/check/elements/avtpcvfdepay.c:
+         avtpcvfdepay: Don't hide gst_pad_push return
+         avtpcvfdepay was effectively hiding any return from gst_pad_push, so no
+         errors or GST_FLOW_EOS would be propagated upstream.
+         Tests also added.
+
+2019-11-01 15:39:25 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+       * tests/check/elements/avtpcvfpay.c:
+         avtpcvfpay: Do not hide or modify gst_pad_push errors
+         Current code would change any non-ok return from gst_pad_push to
+         GST_FLOW_ERROR, thus hiding meaningful returns such as GST_FLOW_EOS.
+         Tests also added.
+
+2019-10-30 15:24:40 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfdepay.c:
+         avtpcvfdepay: Tone down some log messages
+         Most of avtpcvfdepay messages are currently logged as warnings, which can
+         make some scenarios - such as receiving two AVTP streams on the same
+         pipeline - too verbose.
+         This patch tones those message down to INFO or DEBUG level - more in
+         sync with avtpaafdepay logging.
+
+2019-11-18 15:42:35 +0100  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsink.h:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/rtp/gstrtpsrc.h:
+         rtpmanagerbad: allow setting multicast-iface
+         Allowing the UDP elements to bind on an interface is needed in more
+         complex networks where there are mutiple networks interfaces without
+         default gateway
+
+2019-11-19 12:18:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Create LTC sink pad with the correct name according to the template
+         Should be "ltc_sink" and not just "ltc"
+
+2019-10-11 16:19:26 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstvc1parse.c:
+         videoparsers: Disable gst_base_parse_set_infer_ts
+         From the documentation of gst_base_parse_set_infer_ts, it should be
+         disabled for non-audio data. Currently just disabling for all video
+         parsers that have reordered data: h264, h265, mpeg, mpeg4, vc1. Was
+         already disabled in h263.
+
+2019-11-18 23:38:49 +0100  Andrew Branson <andrew.branson@jolla.com>
+
+       * sys/androidmedia/gst-android-hardware-camera.c:
+       * sys/androidmedia/gst-android-hardware-camera.h:
+         androidmedia: Add new effects and scene modes to Camera parameters
+
+2019-10-10 18:18:26 +0200  Andrew Branson <andrew.branson@jollamobile.com>
+
+       * gst-libs/gst/interfaces/photography.c:
+       * gst-libs/gst/interfaces/photography.h:
+       * tests/check/elements/camerabin.c:
+         photography: Add additional settings relevant to Android
+         Exposure mode property, extra colour tone values (aqua, emboss, sketch, neon), extra scene modes (backlight, flowers, AR, HDR).
+         Missing vmethods for exposure mode, analog gain, lens focus, colour temperature, min & max exposure time
+         Contribs by Mohammed Sameer <msameer@foolab.org>, Adam Pigg <adam@piggz.co.uk>
+
+2019-09-05 03:16:28 +0200  Kyrylo Polezhaiev <kirushyk@gmail.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: Fix copying of buffer region
+
+2019-11-15 13:12:48 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/gstd3d9overlay.c:
+         d3dvideosink: use sink dimensions when calculating overlay scaling
+
+2019-11-14 22:06:09 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: use explicit system memory feature in overlay composition caps
+
+2019-11-05 13:46:59 +0100  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * sys/msdk/meson.build:
+         msdk: Fixes for meson include directory setup
+         In case of pkg-config we need to create the include directories object
+         from the path using include_directories(). For INTELMEDIASDKROOT or
+         MFX_HOME we need to add the alternate include path ./include/mfx as
+         Intel MediaSDK now puts the headers there.
+
+2019-09-23 10:30:40 +0200  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsrc.c:
+         rtpmanagerbad: name the element children
+         As discussed with RIST, it is best to name the children of the elements
+         since these are now created at the element initialisation.
+
+2019-05-24 17:33:33 +0100  Alex Ashley <alex.ashley@youview.com>
+
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/curl/gstcurlhttpsrc.h:
+       * tests/check/elements/curlhttpsrc.c:
+         curlhttpsrc: add support for range GET
+         To allow curlhttpsrc to support DASH streams that use the on-demand
+         profile, it needs to support HTTP Range GETs. In GStreamer, the RANGE
+         is specified by issuing a GST_FORMAT_BYTES seek to set the start and
+         end of the range. curlhttpsrc needs to implement seek and set the
+         appropriate curl options to make it add the Range header to the
+         request.
+
+2019-10-11 17:25:04 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Always issue a DTS even when it's equal to PTS
+         Currently tsdemux timestamps only the PTS, and only issues the DTS if
+         it's different. In that case, parsers tend to estimate the next DTS
+         based on the previous DTS and the duration, which can accumulate
+         rounding errors.
+
+2019-11-14 10:00:35 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan/queue: be sure to take a lock around command submission
+         This ensures that only one thread is submitting commands at a time as
+         required by the Vulkan specification.
+
+2019-11-14 09:56:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkfullscreenrender.c:
+         vulkan/render: fix indent command comment typo
+
+2019-11-13 20:17:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Fix subclass procedure recursion
+         subclass window precedure should be cleared if it's no more used.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1115
+
+2019-11-13 12:14:02 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkimageidentity.c:
+         vulkan: NULL check destruction of vulkan resources
+         If the element fails to start up, any number of vulkan resources could
+         have not been created.
+
+2019-11-13 12:07:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+         vulkan: make new trash objects ref the fence
+         Avoids gst_vulkan_fence_ref at each call site of the trash object
+         creation
+
+2019-11-13 12:05:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+         vulkan/wayland: advertise the current surface size
+         Avoids vkswapper from creating a 0x0 output VkSurface and failing
+
+2019-11-12 22:06:45 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/switchbin/gstswitchbin.c:
+         switchbin: Free path objects on finalize
+         Clean up path objects nicely when shutting down,
+         first by dropping pointers to elements during dispose,
+         and then by making sure to drop the ref to the path object
+         when finalizing the switch bin.
+         Fixes valgrind checks in the unit test.
+
+2018-07-03 00:30:12 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/elements/switchbin.c:
+       * tests/check/meson.build:
+         switchbin: Add a basic unit-test
+         Test the basic function of a switchbin - that it correctly
+         selects between 2 processing paths based on caps
+
+2018-07-03 00:25:51 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/switchbin/gstswitchbin.c:
+       * gst/switchbin/gstswitchbin.h:
+         switchbin: Add current-path property
+         Returns the index of the currently selected processing
+         path, or MAX-UINT if none
+
+2019-11-05 01:40:10 +1100  Jan Schmidt <jan@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/switchbin/gstswitchbin.c:
+         switchbin: Add docs
+         Add documentation clauses and enrol switchbin to generate
+         plugin docs
+
+2019-11-05 01:40:04 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/meson.build:
+       * gst/switchbin/gstswitchbin.c:
+       * gst/switchbin/gstswitchbin.h:
+       * gst/switchbin/meson.build:
+       * gst/switchbin/plugin.c:
+       * meson_options.txt:
+         switchbin: Initial checkin
+         Add code from Stream Unlimited implementing a bin
+         which switches between different internal decoding/processing
+         chains based on input caps
+
+2019-11-12 19:54:46 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11videosink: only destroy loop if external_win_id is false
+         Loop was created with this condition, so it should also be
+         destroyed under the same condition
+
+2019-09-06 19:13:46 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/opencv/meson.build:
+       * meson.build:
+         meson: Fix plugin symbol export for C++ sources/plugins
+         The symbol visibility=hidden flag was only being applied to C
+         compilation, so plugins implemented in C++ would leak extra symbols
+         than the 2 _get_desc() and _register().
+         That also showed that the gst-libs opencv C++ lib was not marking
+         symbols for export correctly because the BUILDING_GST_OPENCV define
+         wasn't in the C++ args, so fix that too.
+
+2019-11-12 12:04:48 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+         rtmp2: Fix NULL check in gst_rtmp_meta_transform
+         Coverity rightly complains that checking a pointer for NULL after
+         dereferencing it is pointless.
+         Remove the check, and to be safe, assert that gst_buffer_add_meta
+         returns non-NULL.
+         CID 1455485
+
+2019-11-12 11:46:21 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+         rtmp2: Check for missing GstRtmpMeta
+         The message buffers are created using `gst_rtmp_message_new` and thus
+         always contain a GstRtmpMeta. Add checks to appease Coverity's static
+         analysis.
+         CID 1455596
+         CID 1455384
+
+2019-11-12 12:31:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/rtmp2/gstrtmp2sink.c:
+         rtmp2sink: Add a check that meta isn't NULL before accessing
+         It really can't be NULL, this is just to convince coverity
+         CID 1455553
+
+2019-11-08 18:00:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Do not drain if imported buffer are from KMS
+         This adds a check to avoid draining when the imported buffers are in
+         fact own by kmssink. This happens since we export our kms buffer as
+         DMABuf. They are not really imported back as we pre-fill the cache,
+         but uses the same format as if they were external. This fixes
+         performance issues seen with videocrop2-test (found in -good).
+
+2019-11-08 17:57:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+       * sys/kms/gstkmssink.h:
+         kmssink: Avoid drain on caps changes
+         Draining systematically on caps changes was a hack. Instead, properly
+         save the render information used to render last_render, and use that
+         information to drain. This fixes performance issues met with video crop
+         meta and per frame caps changes.
+
+2019-11-08 17:48:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Ensure we have an allocator before importing
+         This fixes cases where the kms allocator API was called with a null
+         pointer.
+
+2019-07-12 20:39:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstvc1parse.c:
+         vc1parse: Avoid division by zero assertion
+         A framerate of 0/1 is valid, but we cannot calculate the frame duration
+         in this context. Simply protect against this case.
+         Related to #660
+
+2018-02-17 19:38:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videoparsers/gstvc1parse.c:
+         vc1parser: Relax ASF Binding Byte validation
+         According to the spec, the least significant bit is reserved and should
+         always we set to 1. Though, some wrong file has been found. Considering
+         how low important this reserved bit is, relax the validation.
+         Related to #660
+
+2019-11-11 09:36:48 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         vc1parser : fix a miswrite
+
+2019-11-11 10:50:58 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkhandle.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+         vkhandle: expose a printf format specifier for a vulkan handle
+
+2019-11-11 10:33:23 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+         vkdescriptor: set the GError on the 'too many allocations' case
+
+2019-10-17 23:25:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vkswapper: add inherit support
+         Used on android
+
+2019-10-17 22:27:44 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vkswapper: output specific values when swapchain flags fail
+
+2019-10-16 17:17:51 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/android/gstvkdisplay_android.c:
+       * gst-libs/gst/vulkan/android/gstvkdisplay_android.h:
+       * gst-libs/gst/vulkan/android/gstvkwindow_android.c:
+       * gst-libs/gst/vulkan/android/gstvkwindow_android.h:
+       * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan: add android WSI integration
+
+2019-11-10 18:31:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+         vulkan: Fix build on ios
+         These little bits were missed during the refactor in
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/821
+
+2019-10-24 15:27:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/meson.build:
+         amc: Change plugin name if it's built for Magic Leap
+
+2018-11-19 13:40:35 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson_options.txt:
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+       * sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
+       * sys/androidmedia/magicleap/gstamc-format-ml.c:
+       * sys/androidmedia/magicleap/gstamc-internal-ml.h:
+       * sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
+       * sys/androidmedia/magicleap/gstamc-surfacetexture-ml.h:
+       * sys/androidmedia/meson.build:
+         amc: Add MLSDK implementation
+
+2019-11-08 23:42:08 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+         vulkan: Fix build on Windows
+         gstvkwindow_win32.c(166): error C2065: 'msg_source': undeclared identifier
+
+2019-11-06 15:07:44 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/hls/gsthlsdemux.c:
+       * ext/hls/gsthlsdemux.h:
+         hlsdemux: Don't use deprecated SSL methods
+         And instead use the fixed-size variants (which aren't deprecated)
+
+2019-11-06 14:36:11 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/opencv/gstmotioncells.cpp:
+       * ext/opencv/gstmotioncells.h:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/uridownloader/gsturidownloader.c:
+       * gst/asfmux/gstasfobjects.c:
+       * gst/mxf/mxftypes.c:
+         bad: Avoid using deprecated API
+         GTimeval is deprecated
+
+2019-11-07 18:45:55 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkvp8enc.c:
+       * sys/msdk/gstmsdkvp8enc.h:
+       * sys/msdk/meson.build:
+         msdk: remove msdkvp8enc
+         MediaSDK doesn't support vp8 encode which is not going to be
+         implemented [1], so remove msdkvp8enc from this plugin
+         [1]: https://github.com/Intel-Media-SDK/MediaSDK/issues/947
+
+2019-11-07 02:41:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * gst-libs/gst/vulkan/gstvkbufferpool.h:
+       * gst-libs/gst/vulkan/gstvkcommandpool.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkinstance.h:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkswapper.h:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+         vulkan: remove the private struct from the public struct
+         Remove any references to CamelTypePrivate from the public CamelType
+         struct.  They can be accessed as needed using
+         camel_type_get_instance_private().
+
+2019-11-06 22:19:42 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkfullscreenrender.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkimageidentity.h:
+       * ext/vulkan/vkviewconvert.c:
+       * ext/vulkan/vkviewconvert.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache-private.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorcache.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+       * gst-libs/gst/vulkan/gstvkdescriptorset.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: implement proper descriptor set handling
+         The major functionality gain this provides is proper reference counting
+         for a descriptor set.  Overall this allows us to create descriptor sets
+         when they are needed (or reused from a cache) without violating any of
+         vulkan's object synchronisation requirements.
+         As there are a fixed number of sets available in a pool, the number of
+         descriptors in elements is currently hardcoded to 32.  This can be extended
+         in a future change to create pools on the fly if that limit is ever overrun.
+
+2019-11-06 09:34:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkfence.h:
+         vulkan/fence: add always-signalled fence type
+         Allows a cleaner control flow when there is no fence available for use
+         with the trash list.  An always signalled fence type will always return
+         TRUE for gst_vulkan_fence_is_signalled.
+
+2019-11-06 09:29:51 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkhandle.c:
+       * gst-libs/gst/vulkan/gstvkhandle.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: add handle type for arbitrary vulkan handles
+         Serve two purposes:
+         1. refcounting of vulkan handles with associated destruction.  When
+         combined with the trash list, the user can ensure destruction at
+         the correct time according to the vulkan rules.
+         2. avoids polluting our API with 32-bit vs 64-bit integer/pointers
+         differences as exposed through the vulkan API.  on 32-bit, vulkan
+         non-dispatchable handles are 64-bit integers and on 64-bit, they
+         are pointers.
+
+2019-11-06 22:09:02 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkviewconvert.c:
+         vulkanviewconvert: fix typo of output image view name
+
+2019-10-16 17:47:33 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvktrash.c:
+         vulkan: fix non-dispatchable handles on 32-bit platforms
+         non-dispatchable handles are 64-bit integers on 32-bit platforms
+
+2019-10-16 17:42:33 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkshader.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+         vulkan: use VK_NULL_HANDLE in more places
+         Fixes compiler warnings on 32-bit platforms assigning a void * to a
+         64-bit integer value.
+
+2019-10-16 17:27:16 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+         vulkan: use the provided VKAPI_ATTR for the debug callback
+         Ensures that we get the calling convention correct for the platform we
+         are using.
+
+2019-11-03 21:50:39 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdebug.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan: dump surface information
+
+2019-10-30 19:33:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+         vulkan: print criticals/warnings for vulkan errors/warnings
+         Simplifies finding the erronous cases in using the Vulkan API
+         incorrectly.
+
+2019-10-30 00:57:55 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan/image: use the full video info for returning vulkan formats
+         We may need some colorspace information for returning sRGB vs no sRGB.
+
+2019-11-06 14:22:07 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle continuity mismatch in more cases
+         Packets of a given PID are meant to have sequential continuity counters
+         (modulo 16). If there are not sequential, this is the sign of a broken
+         stream, which we then consider as a discontinuity.
+         But if that new packet is a frame start (PUSI is true), then we can resume
+         from that packet without any damage.
+
+2019-11-01 14:22:46 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * ext/vulkan/meson.build:
+         vulkan: Fix build error when gstvulkan is not installed
+         The following build error occurs:
+         vkdeviceprovider.h:30:10: fatal error: gst/vulkan/vulkan.h: No such file or directory
+         #include <gst/vulkan/vulkan.h>
+         ^~~~~~~~~~~~~~~~~~~~~
+
+2019-10-23 10:11:46 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/gstclockselect.c:
+       * gst/debugutils/gstclockselect.h:
+       * gst/debugutils/meson.build:
+       * tests/check/elements/clockselect.c:
+       * tests/check/meson.build:
+         debugutils: clockselect, a pipeline that enables clock selection
+         Sometimes, one wants to force a clock on some pipelines - for instance,
+         when testing TSN related pipelines, one usually uses GstPtpClock or
+         CLOCK_REALTIME (assuming system realtime clock is in sync with network
+         one). Until now, one needs to write an application for that - not
+         difficult, but quite boring if one just wants to test something. This
+         patch presents a new element to help that: clockselect.
+         clockselect is a pipeline with two properties to select a clock. One
+         property, "clock-id", enables one to choose between "monotonic",
+         "realtime", "ptp" or "default" clock - where default keeps pipeline
+         behaviour of choosing a clock based on its elements. The other property,
+         "ptp-domain" gives one the choice of which PTP domain should be used.
+         Some very simple tests also added for this new element.
+
+2019-08-27 07:59:27 +0200  Niels De Graef <nielsdegraef@gmail.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlsenc.c:
+       * ext/dtls/gstdtlssrtpenc.c:
+       * ext/resindvd/rsninputselector.c:
+       * ext/sctp/gstsctpdec.c:
+       * ext/sctp/gstsctpenc.c:
+       * ext/sctp/sctpassociation.c:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * ext/webrtc/sctptransport.c:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/wpe/gstwpesrc.cpp:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/webrtc/icetransport.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/dvb/dvbbasebin.c:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/ipcpipeline/gstipcpipelinesink.c:
+       * sys/ipcpipeline/gstipcpipelinesrc.c:
+       * sys/shm/gstshmsink.c:
+         Don't pass default GLib marshallers for signals
+         By passing NULL to `g_signal_new` instead of a marshaller, GLib will
+         actually internally optimize the signal (if the marshaller is available
+         in GLib itself) by also setting the valist marshaller. This makes the
+         signal emission a bit more performant than the regular marshalling,
+         which still needs to box into `GValue` and call libffi in case of a
+         generic marshaller.
+         Note that for custom marshallers, one would use
+         `g_signal_set_va_marshaller()` with the valist marshaller instead.
+
+2019-10-28 13:42:15 +0900  Justin Kim <jeongseok.kim@sk.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: split incoming buffer up into srt chunk
+
+2019-11-02 16:29:02 +0100  Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+         wasapi: minor cleanup
+
+2019-08-27 15:14:31 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/sdp/gstsdpsrc.c:
+         sdp: don't leak the ghost pad
+         The peer is already gone when pad_removed_cb() called, so the ghost cannot
+         be removed. Use g_object_set_data() instead to remember the ghost pad.
+         Copied from similar code in GstRTPBin.
+
+2019-10-22 14:10:30 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dhelpers.h:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/d3dvideosink/gstd3d9overlay.c:
+       * sys/d3dvideosink/gstd3d9overlay.h:
+       * sys/d3dvideosink/meson.build:
+         d3dvideosink: support OverlayComposition for GPU overlay compositing
+
+2019-11-04 20:42:19 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: allow null J2K profile
+         Since we are not requiring that profile equals GST_JPEG2000_PARSE_PROFILE_BC_SINGLE,
+         (as the standard requires) we can allow profile to be null. We relax this condition because
+         OpenJPEG can't create broadcast profiles.
+
+2019-11-03 05:56:12 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: fail caps negotiation if caps are NOT fixed
+
+2019-08-08 15:27:11 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: use pre_push_frame to reset parser
+
+2019-08-08 15:26:22 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: parse_event: call base class at end
+         derived class should do it's work first before calling base
+
+2019-08-05 21:53:54 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: do hard reset if gst_base_parse_finish_frame fails
+
+2019-08-05 17:15:57 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: initialize some variables to make valgrind happy
+
+2019-08-09 09:29:22 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * tests/check/elements/jpeg2000parse.c:
+       * tests/check/meson.build:
+         jpeg2000parse: add unit test
+
+2019-08-09 09:28:53 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: use GST_INT in caps for profile
+         Negotiation failed with GST_UINT
+
+2019-08-05 15:38:08 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+       * gst/videoparsers/gstjpeg2000parse.h:
+         jpeg2000parse: make explicit that codec_format is for src caps
+
+2019-08-05 15:24:49 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: refactor
+         1. only recalculate src codec format if sink caps change
+         2. use correct value for "jp2c" magic in J2C box ID
+         3. only parse J2K magic once, and store result
+         4. more sanity checks comparing caps to parsed codec
+
+2019-08-05 15:34:08 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: set parsed to TRUE in src caps
+
+2019-08-05 15:33:33 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: only cache caps parameters when caps have in fact changed
+
+2019-08-05 15:23:24 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+         jpeg2000parse: fix typos in media format
+
+2019-08-05 15:19:12 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstjpeg2000parse.c:
+       * gst/videoparsers/gstjpeg2000parse.h:
+         jpeg2000parse: add reset method
+         Also add three new struct members, currently unused.
+
+2019-09-02 15:08:44 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * NEWS:
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/aom/gstav1enc.c:
+       * ext/assrender/gstassrender.c:
+       * ext/closedcaption/gstcea708decoder.c:
+       * ext/closedcaption/gstceaccoverlay.c:
+       * ext/closedcaption/raw_decoder.c:
+       * ext/closedcaption/sliced.h:
+       * ext/colormanagement/gstlcms.c:
+       * ext/curl/gstcurlhttpsrc.h:
+       * ext/dash/gstdashdemux.c:
+       * ext/dash/gstmpdparser.c:
+       * ext/directfb/dfbvideosink.c:
+       * ext/dtls/gstdtlsconnection.h:
+       * ext/hls/gsthlsdemux.c:
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateenc.c:
+       * ext/ladspa/gstladspa.c:
+       * ext/libmms/gstmms.c:
+       * ext/lv2/gstlv2filter.c:
+       * ext/lv2/gstlv2utils.c:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mpeg2enc/gstmpeg2encoptions.cc:
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/opencv/MotionCells.cpp:
+       * ext/opencv/gstcvdilate.cpp:
+       * ext/opencv/gstcvdilateerode.cpp:
+       * ext/opencv/gstcverode.cpp:
+       * ext/opencv/gstcvsmooth.cpp:
+       * ext/opencv/gstdewarp.cpp:
+       * ext/opencv/gstdisparity.cpp:
+       * ext/opencv/gstedgedetect.cpp:
+       * ext/opencv/gstfaceblur.cpp:
+       * ext/opencv/gstfacedetect.cpp:
+       * ext/opencv/gstgrabcut.cpp:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstsegmentation.cpp:
+       * ext/opencv/gstskindetect.cpp:
+       * ext/opencv/gsttextoverlay.cpp:
+       * ext/resindvd/gstmpegdemux.c:
+       * ext/resindvd/resindvdsrc.c:
+       * ext/resindvd/rsninputselector.c:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/soundtouch/gstpitch.cc:
+       * ext/spandsp/gstdtmfdetect.c:
+       * ext/spandsp/gsttonegeneratesrc.c:
+       * ext/srt/gstsrtobject.c:
+       * ext/srtp/gstsrtpdec.c:
+       * ext/srtp/gstsrtpenc.c:
+       * ext/ttml/subtitle.h:
+       * ext/ttml/ttmlparse.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkshader.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+       * ext/wayland/gstwaylandsink.c:
+       * ext/wayland/wlbuffer.c:
+       * ext/webp/gstwebpdec.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/webrtcsdp.c:
+       * ext/webrtcdsp/gstwebrtcdsp.cpp:
+       * ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+       * ext/webrtcdsp/gstwebrtcechoprobe.h:
+       * ext/wildmidi/gstwildmididec.c:
+       * ext/wpe/gstwpesrc.cpp:
+       * ext/x265/gstx265enc.c:
+       * ext/zbar/gstzbar.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+       * gst-libs/gst/codecparsers/gstvp9parser.c:
+       * gst-libs/gst/codecparsers/gstvp9parser.h:
+       * gst-libs/gst/interfaces/photography.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/player/gstplayer-media-info.h:
+       * gst-libs/gst/player/gstplayer.c:
+       * gst-libs/gst/uridownloader/gstfragment.c:
+       * gst-libs/gst/uridownloader/gsturidownloader.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+       * gst-libs/gst/wayland/wayland.c:
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfobjects.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/autoconvert/gstautovideoconvert.c:
+       * gst/autoconvert/plugin.c:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/camerabin2/camerabin2-src.txt:
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/gstdebugspy.c:
+       * gst/dvbsuboverlay/dvb-sub.c:
+       * gst/dvbsuboverlay/dvb-sub.h:
+       * gst/dvdspu/Notes.txt:
+       * gst/dvdspu/gstspu-vobsub-render.c:
+       * gst/festival/gstfestival.c:
+       * gst/frei0r/frei0r.h:
+       * gst/frei0r/gstfrei0r.c:
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstdodge.c:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstgaussblur.c:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/geometrictransform/gstbulge.c:
+       * gst/geometrictransform/gststretch.c:
+       * gst/geometrictransform/gsttunnel.c:
+       * gst/id3tag/id3tag.c:
+       * gst/ivfparse/gstivfparse.c:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/librfb/rfbdecoder.c:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegpsmux/psmux.c:
+       * gst/mpegpsmux/psmuxstream.c:
+       * gst/mpegpsmux/psmuxstream.h:
+       * gst/mpegtsdemux/TODO:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mxf/mxfdms1.c:
+       * gst/netsim/gstnetsim.c:
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pnm/gstpnmdec.c:
+       * gst/removesilence/gstremovesilence.c:
+       * gst/rist/gstristrtxsend.c:
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstroundrobin.c:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/h263parse.c:
+       * gst/vmnc/vmncdec.c:
+       * hooks/pre-commit.hook:
+       * sys/androidmedia/gstahcsrc.c:
+       * sys/androidmedia/gstamcvideodec.c:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/gstjniutils.c:
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/vtenc.c:
+       * sys/d3d11/gstd3d11device.c:
+       * sys/d3d11/meson.build:
+       * sys/d3dvideosink/d3dhelpers.c:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/directsound/gstdirectsoundsrc.c:
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/dshowdecwrapper/gstdshowvideodec.h:
+       * sys/dshowsrcwrapper/gstdshow.cpp:
+       * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+       * sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/dshowvideosink/dshowvideosink.cpp:
+       * sys/dvb/camtransport.c:
+       * sys/dvb/dvbbasebin.c:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/ipcpipeline/gstipcpipelinesink.c:
+       * sys/ipcpipeline/gstipcslavepipeline.c:
+       * sys/kms/gstkmssink.c:
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkbufferpool.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh264enc.c:
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvc1dec.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpputil.c:
+       * sys/msdk/msdk.c:
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/uvch264/gstuvch264_src.c:
+       * sys/uvch264/gstuvch264deviceprovider.c:
+       * sys/wasapi/gstwasapisink.c:
+       * sys/winks/gstksvideodevice.c:
+       * sys/winks/ksvideohelpers.c:
+       * sys/winscreencap/gstdx9screencapsrc.c:
+       * sys/winscreencap/gstgdiscreencapsrc.c:
+       * tests/check/elements/adaptive_demux_engine.h:
+       * tests/check/elements/avtpcvfpay.c:
+       * tests/check/elements/dash_mpd.c:
+       * tests/check/elements/hlsdemux_m3u8.c:
+       * tests/check/elements/jifmux.c:
+       * tests/check/elements/nvdec.c:
+       * tests/check/libs/insertbin.c:
+       * tests/check/libs/player.c:
+       * tests/check/pipelines/ipcpipeline.c:
+       * tests/examples/ipcpipeline/ipc-play.c:
+       * tests/examples/playout.c:
+       * tools/gst-transcoder.c:
+       * tools/utils.c:
+         documentation: fixed a heap o' typos
+
+2019-11-05 13:52:55 +0000  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/meson.build:
+       * gst/rtmp2/TODO:
+       * gst/rtmp2/gstrtmp2.c:
+       * gst/rtmp2/gstrtmp2locationhandler.c:
+       * gst/rtmp2/gstrtmp2locationhandler.h:
+       * gst/rtmp2/gstrtmp2sink.c:
+       * gst/rtmp2/gstrtmp2sink.h:
+       * gst/rtmp2/gstrtmp2src.c:
+       * gst/rtmp2/gstrtmp2src.h:
+       * gst/rtmp2/meson.build:
+       * gst/rtmp2/rtmp/amf.c:
+       * gst/rtmp2/rtmp/amf.h:
+       * gst/rtmp2/rtmp/rtmpchunkstream.c:
+       * gst/rtmp2/rtmp/rtmpchunkstream.h:
+       * gst/rtmp2/rtmp/rtmpclient.c:
+       * gst/rtmp2/rtmp/rtmpclient.h:
+       * gst/rtmp2/rtmp/rtmpconnection.c:
+       * gst/rtmp2/rtmp/rtmpconnection.h:
+       * gst/rtmp2/rtmp/rtmphandshake.c:
+       * gst/rtmp2/rtmp/rtmphandshake.h:
+       * gst/rtmp2/rtmp/rtmpmessage.c:
+       * gst/rtmp2/rtmp/rtmpmessage.h:
+       * gst/rtmp2/rtmp/rtmputils.c:
+       * gst/rtmp2/rtmp/rtmputils.h:
+       * meson_options.txt:
+         Add files from gst-rtmp
+         For master, without autotools.
+
+2019-10-06 22:46:52 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/aom/gstav1enc.h:
+         av1enc: Add tile-{columns,rows} properties
+         It provides to set tile-columns and tile-rows configurations. The av1
+         codec allows an input image frame be partitioned into separate vertical
+         or horizontal tile which can be encoded or decoded independently. It
+         helps to encode/decode parallel.
+
+2019-10-06 17:20:12 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: Enable row-mt by default
+         Enabling row-mt property can help to increase cpu utilization and reduce
+         encoding speed, so set it to on by default.
+
+2019-07-23 18:24:11 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * ext/curl/gstcurlhttpsrc.c:
+         curlhttpsrc: Hook up libcurl logging message to gstreamer
+         CURLOPT_DEBUGFUNCTION option replaces the standard debug function
+         used when CURLOPT_VERBOSE is in effect. This callback receives various debug information.
+
+2019-09-20 14:52:15 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Apply BINDTODEVICE to socket created by udpsrc too
+
+2019-11-03 09:54:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstccconverter.c:
+       * tests/check/elements/ccconverter.c:
+         ccconverter: Instead of erroring out on too big input drop additional data
+
+2019-10-30 14:56:41 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
+
+       * sys/applemedia/vtdec.c:
+         vtdec: fix leak of CMFormatDescription
+         There was consideration for replacing the CMFormatDescription used
+         on format changes in `set_format()` however on shutdown, we were
+         leaking the CMFormatDescription at the end of processing.
+         'https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1106'
+
+2019-10-12 04:04:59 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix wrong NALU minimum length check
+         Fixes a problem where an EOS/EOB NALU placed at the end of
+         an AU is detected as an other AU and create a buffer that
+         does not have valid pts.
+
+2019-10-12 03:49:33 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Fix wrong NALU minimum length check
+         Fixes a problem where an EOS/EOB NALU placed at the end of
+         an AU is detected as an other AU and create a buffer that
+         does not have valid pts.
+
+2019-11-02 16:51:09 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/openexr/meson.build:
+         openexr: Fix compilation with OpenEXR 2.4
+         It uses modern C++; adding -std=c++98 breaks the build.
+
+2019-10-31 15:14:21 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
+
+       * sys/applemedia/vtdec.c:
+         vtdec: memory leaks bugfix
+         release 'videoDecoderSpecification' variable in 'gst_vtdec_create_session' function.
+         release 'extensions' variable in 'create_format_description_from_codec_data' function.
+
+2019-10-11 14:48:11 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkmjpegenc.c:
+         msdkmjpegenc: convert UYVY to YUY2 instead of NV12
+         Before this fix, the chroma subsampling of the output is 4:2:0. It is
+         4:2:2 with this fix, which is better for UYVY input
+
+2019-10-11 13:05:33 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkmjpegenc.c:
+         msdkmjpegenc: don't need conversion for BGRA and YUY2
+         jpeg encoder in MSDK can accept BGRA and YUY2 input.
+
+2019-10-11 12:50:02 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkenc: add need_conversion method
+         In future, a sub class of GstMsdkEncClass may decide a native format by
+         using this method, e.g. JPEG encoder may accept YUY2 input, however the
+         current implemation needs a conversion from YUY2 to NV12 before encoding.
+         In addtion, a sub class may choose a format for encoding if the input
+         format is not supported by MSDK, e.g. the current implemation does
+         UYVY->NV12 if the input format is UYVY. We may do UYVY->YUY2 for JPEG
+         encoder in future
+
+2019-10-09 13:41:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: support for MFX_FOURCC_BGR4 frame allocation
+         MFX_FOURCC_BGR4 is mapped to VA_FOURCC_ABGR and JPEG encoder needs a
+         MFX_FOURCC_BGR4 frame for internal usage when the input format is
+         MFX_FOURCC_RGB4
+         This is a preparation for supporting native formats of JPEG encoder
+
+2019-09-26 17:45:31 +0200  Edward Hervey <edward@centricular.com>
+
+         mpegtsmux: Add SCTE-35 support
+         This adds two properties:
+         * scte-35-pid: If not 0, enables the SCTE-35 support for the current
+         program. This will write the proper PMT and send SCTE-35 NULL
+         commands (i.e. heartbeats) at a regular interval
+         * scte-35-null-interval: This specifies the interval at which the
+         NULL commands should be sent
+         Sending SCTE-35 commands is done by creating the appropriate SCTE-35
+         GstMpegtsSection and then sending them on the muxer. See the
+         associated example
+
+2019-09-26 17:28:27 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.h:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * tests/check/libs/mpegts.c:
+       * tests/examples/mpegts/ts-parser.c:
+         mpegts: Add support for SCTE-35 sections
+         Not all commands are supported, but the most common ones are.
+         Both parsing and packetizing is supported
+
+2019-09-26 17:43:57 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: Disable bluray-isms from PMT
+         We were unconditionally adding top-level descriptors in the PMT which
+         were only related to bluray support for PS3 (from 10 years ago).
+         These should be re-added conditionally
+
+2019-09-26 17:13:30 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtspacketizer: Fix off-by-one error
+         This went un-noticed for 6 years :( The issue is that for short
+         sections (without subtables and CRC), we would always fail when
+         checking whether we had enough data or not and then default to the
+         long section checking.
+         Use the long section checking would then cause interesting side-effects
+         for short sections (such as believing they were already seen and therefore
+         would be dropped/ignored).
+
+2019-10-28 13:28:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+       * sys/msdk/gstmsdkvc1dec.c:
+         msdkdec: use decoder base class packetized flag
+         Instead of using a proxy of `is_packetized` flag this patch
+         replaces it with the accessor to that flag in decoder base class,
+         avoiding probable mismatches.
+
+2019-09-27 10:50:18 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkvc1dec.c:
+         msdkdec: add parse callback for non-packetized input
+         commit 55c0d720 added the capability to handle non-packetized bitstream,
+         and there is a loop to handle multiple frames in a non-packetized buffer
+         in gst_msdkdec_handle_frame. However it is possible that a
+         non-packetized buffer still contains valid data but there is no long any
+         pending unfinished frame. Currently gst_video_decoder_decode_frame is
+         invoked to send a new frame with new input data, the situaltion is
+         repeated till an EOS is received. An application has to exit when
+         receiving an EOS, however there is still valid data in a
+         non-packetezied input buffer, hence some frames are dropped.
+         This fix adds a parse callback for non-packeteized input, a new frame
+         will be sent to the subclass as soon as the input buffer has valid data
+         This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/665
+
+2019-10-28 11:25:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstccextractor.c:
+         ccextractor: Remove unused set/get_property() functions
+
+2019-10-28 11:22:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstccextractor.c:
+         ccextractor: Always forward all sticky events to the caption pad
+         And only update the caps and stream-start event accordingly. This
+         ensures that we'll always forward sticky events that arrive after the
+         caption pad was created, and especially updates to existing sticky
+         events like the segment event.
+         Also create a proper stream id based on the upstream stream id for the
+         stream-start event, and make sure that all the sticky events we know are
+         already on the caption pad at the time it is added to the element.
+
+2019-10-28 02:27:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkimageidentity.c:
+         vulkanimage: move fence creation earlier
+         Fixes a critical:
+         GStreamer-CRITICAL **: 02:26:34.698: gst_mini_object_ref: assertion 'mini_object != NULL' failed
+
+2019-10-28 02:18:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkviewconvert.c:
+         vulkan: change to clamp to edge rather than clamp to border
+         clamp-to-border will return the border color which is typically black,
+         white or transparent.  When linear filtering the edge pixels will
+         typeically be combined with the border color which is not typically what
+         we want.  Especially when color converting, this removes a green box
+         around the edge when converting YUV->RGB.
+
+2019-10-24 15:26:33 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkh265enc.h:
+         msdkh265enc: Add support for tiled encoding
+         Add num-tile-rows and num-tile-cols properties to set the number of rows
+         and columns
+
+2019-10-24 16:42:23 -0700  Julien Isorce <jisorce@oblong.com>
+
+       * ext/srtp/gstsrtpenc.c:
+         srtpenc: also insert ssrc(s) from rtp buffers
+         This fixes a regression from commit "srtp: Support libsrtp2"
+         e9aa11720071f8a1d22b336395e66dd8cbca0c00 where an internal
+         set of ssrc(s) was added because the libsrtp v2 keeps its
+         internal streams as private. But the change prevented that
+         ssrc(s) that not in the caps from being added to the stats.
+         This patch ensures that all ssrc(s) are inserted to this set
+         instead of only inserting those from the caps.
+
+2019-10-18 12:26:26 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+         msdk: support P010_10LE in DMABuf mode for VP9/HEVC encoding
+
+2019-10-24 19:10:30 +0800  Cheng-Chang Wu <ccwu660601@mapacode.tw>
+
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+         androidmedia: Make sure that the first member of GstAmcSurfaceTextureJNI is correct
+         It's a subclass of GstAmcSurfaceTexture so should have that as first
+         struct member or otherwise it won't work.
+         Fixes #1105
+
+2019-10-24 19:14:58 +0800  Cheng-Chang Wu <ccwu660601@mapacode.tw>
+
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+         androidmedia: Call JNI method with the actual Java object instead of our wrapper struct
+         Fixes #1105
+
+2019-10-24 15:40:25 +0200  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * ext/opencv/meson.build:
+         opencv: Don't error when unable to detect OpenCV data dir
+         Instead, mark OpenCV as not found. We error out later if OpenCV was
+         explicitly enabled.
+
+2019-10-11 23:54:55 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: add support Y410 and Y210 formats
+         And clean up some macros
+
+2019-10-16 11:59:32 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+       * sys/msdk/gstmsdkvpputil.c:
+         msdkvpp: allow cropping via properties
+         Add crop-left, crop-right, crop-top and crop-bottom
+         properties to msdkvpp and apply to input surface at
+         vpp transform run-time.
+         Implements #1097
+
+2019-10-22 18:33:18 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Get rid of un-necessary frameComplete dispatchs
+         frameComplete() should be called only if there's a new commited frame.
+
+2019-10-19 12:48:55 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+         wpe: Run frameComplete outside of images mutex scope
+         If the mutex is locked while running frameComplete there is a potential deadlock
+         bound to happen when we get a new exported images from the backend.
+         Fixes #1101
+
+2019-10-23 16:47:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Add properties to time out cached upstream/LTC timecodes after a while
+         By default we never time them out and simply continue couting up with
+         each frame forever.
+
+2019-10-23 15:03:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Add new auto-resync boolean property
+         This allows selecting whether we continue updating our last known
+         upstream timecode whenever a new one arrives or instead only keep the
+         last known one and from there on count up.
+
+2019-10-23 14:31:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+         timecodestamper: Add last-known-or-zero mode
+         This uses the last known upstream timecode (counted up per frame), or
+         otherwise zero if none was known.
+         The normal last-known timestamp uses the internal timecode as fallback
+         if no upstream timecode was ever known.
+
+2019-10-23 14:29:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Don't initialize upstream timecode with zero if none was seen
+         Instead keep it unset and use the internal timecode wherever needed as
+         fallback.
+
+2019-10-23 14:28:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Update set-tc property documentation with latest version of reality
+
+2019-10-22 09:30:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/pnm/gstpnmdec.c:
+         pnmdec: Return early on ::finish() if we have no actual data to parse
+         Otherwise we'd be working with a NULL buffer and cause various critical
+         warnings along the way.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1104
+
+2019-09-24 08:55:07 +0300  Jordan Petridis <jpetridis@gnome.org>
+
+       * ext/lv2/gstlv2utils.c:
+         lv2: fix build without the debug system
+         ```
+         FAILED: subprojects/gst-plugins-bad/ext/lv2/b8a2ebe@@gstlv2@sha/gstlv2utils.c.o
+         ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c: In function 'lv2_log_printf':
+         ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c:50:3: error: attempt to use poisoned "gst_debug_log_valist"
+         50 |   gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+         |   ^
+         ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c:50:25: error: 'lv2_debug' undeclared (first use in this function); did you mean 'g_debug'?
+         50 |   gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+         |                         ^~~~~~~~~
+         |                         g_debug
+         ```
+
+2019-08-29 21:20:37 +0700  Ratchanan Srirattanamet <peathot@hotmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: preview: remove redundant property setting on appsink
+         Commit 8a56a7de6d5f2cf70dbe6efbd7c8ed74600c8565 (camerabin2: preview:
+         Appsink doesn't need to sync) add a line that set the "sync" property on
+         the appsink. However, the author seems to forget that there's another
+         property setting on appsink a few lines below.
+         It's very likely that the added line is required because the original
+         line doesn't take effect (maybe because it's too late). But for whatever
+         reason, the original line is now redundant. So, I remove it in this
+         commit.
+
+2019-10-19 13:52:54 +0100  Alistair Buxton <a.j.buxton@gmail.com>
+
+       * gst-libs/gst/transcoder/meson.build:
+         meson: use gir_init_section in GstTranscoder
+         GstTranscoder adds extra_args for gir which call gst_init() during
+         introspection. These extra arguments are the same as the standard
+         ones defined in the top level meson.build as "git_init_section",
+         However, the top level definition also ensures an empty plugin
+         repository is used.
+         Because GstTranscoder does not use the standard args, plugins get
+         loaded when it is introspected. Since some of the plugins fail
+         without specific hardware, this causes #1100.
+         This patch makes it use gir_init_section.
+         Fixes #1100.
+
+2019-10-18 00:39:12 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: build gir even when cross-compiling if introspection was enabled explicitly
+         This can be made to work in certain circumstances when
+         cross-compiling, so default to not building g-i stuff
+         when cross-compiling, but allow it if introspection was
+         enabled explicitly via -Dintrospection=enabled.
+         See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+2019-09-24 16:57:54 -0700  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpesrc.cpp:
+         wpesrc: Implement load-bytes action signal
+
+2019-08-07 17:07:21 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpesrc.cpp:
+       * ext/wpe/gstwpesrc.h:
+         wpe: Rewrite wpesrc as a glbasesrc subclass
+         And since it no longer allocates memories itself, this fixes issues with
+         fakevideosink. A lot of code previously copied from gltestsrc is no longer
+         needed thanks to the glbasesrc super-class.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1046
+
+2019-10-09 14:55:55 +0200  Javier Celaya <javier.celaya@flexvdi.com>
+
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+         Fix get_supported_types function name
+
+2019-10-09 14:55:29 +0200  Javier Celaya <javier.celaya@flexvdi.com>
+
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+         Fix releasing local refs
+
+2019-10-09 14:55:05 +0200  Javier Celaya <javier.celaya@flexvdi.com>
+
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+         Fix names of MediaCodecInfo inner classes
+
+2019-10-09 14:54:24 +0200  Javier Celaya <javier.celaya@flexvdi.com>
+
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+         Fix getting MediaCodecList static methods
+
+2019-10-11 09:51:24 -0700  Julien Isorce <jisorce@oblong.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: close encoder upon bitrate change
+         Upon bitrate change, make sure to close the encoder otherwise
+         the encoder is not re-initialized and the target bitrate is
+         never reached, and the encoder was flushed at each frame
+         from this moment.
+         Regression introduced in f2b35abcab which replaced the call
+         that was closing the encoder by an early return to avoid
+         re-initialization.
+
+2019-09-17 20:32:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/wasapi/gstwasapiutil.c:
+         wasapi: Fix build warnings
+         gstwasapiutil.c(173) : warning C4715: 'gst_wasapi_device_role_to_erole': not all control paths return a value
+         gstwasapiutil.c(188) : warning C4715: 'gst_wasapi_erole_to_device_role': not all control paths return a value
+
+2019-09-17 20:29:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/wasapi/gstwasapidevice.c:
+       * sys/wasapi/gstwasapiutil.c:
+       * sys/wasapi/gstwasapiutil.h:
+         wasapi: Don't cast GstDeviceProvider to GstElement
+         The GstDeviceProvider isn't subclass of GstElement.
+         (gst-device-monitor-1.0:49356): GLib-GObject-WARNING **: 20:21:18.651:
+         invalid cast from 'GstWasapiDeviceProvider' to 'GstElement'
+
+2019-10-13 14:22:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * .gitignore:
+       * .gitmodules:
+       * Makefile.am:
+       * README:
+       * autogen.sh:
+       * common:
+       * configure.ac:
+       * docs/.gitignore:
+       * ext/Makefile.am:
+       * ext/aom/Makefile.am:
+       * ext/assrender/Makefile.am:
+       * ext/avtp/Makefile.am:
+       * ext/bs2b/Makefile.am:
+       * ext/bz2/Makefile.am:
+       * ext/chromaprint/Makefile.am:
+       * ext/closedcaption/Makefile.am:
+       * ext/colormanagement/Makefile.am:
+       * ext/curl/Makefile.am:
+       * ext/dash/Makefile.am:
+       * ext/dc1394/Makefile.am:
+       * ext/directfb/.gitignore:
+       * ext/directfb/Makefile.am:
+       * ext/dtls/Makefile.am:
+       * ext/dts/Makefile.am:
+       * ext/faac/Makefile.am:
+       * ext/faad/Makefile.am:
+       * ext/fdkaac/Makefile.am:
+       * ext/flite/Makefile.am:
+       * ext/fluidsynth/Makefile.am:
+       * ext/gme/Makefile.am:
+       * ext/gsm/Makefile.am:
+       * ext/hls/Makefile.am:
+       * ext/iqa/Makefile.am:
+       * ext/kate/Makefile.am:
+       * ext/ladspa/Makefile.am:
+       * ext/libde265/Makefile.am:
+       * ext/libmms/Makefile.am:
+       * ext/lv2/Makefile.am:
+       * ext/modplug/Makefile.am:
+       * ext/mpeg2enc/Makefile.am:
+       * ext/mplex/.gitignore:
+       * ext/mplex/Makefile.am:
+       * ext/musepack/Makefile.am:
+       * ext/neon/Makefile.am:
+       * ext/ofa/Makefile.am:
+       * ext/openal/Makefile.am:
+       * ext/opencv/Makefile.am:
+       * ext/openexr/Makefile.am:
+       * ext/openh264/Makefile.am:
+       * ext/openjpeg/Makefile.am:
+       * ext/openmpt/Makefile.am:
+       * ext/openni2/Makefile.am:
+       * ext/opus/Makefile.am:
+       * ext/resindvd/Makefile.am:
+       * ext/rsvg/Makefile.am:
+       * ext/rtmp/Makefile.am:
+       * ext/sbc/Makefile.am:
+       * ext/sctp/Makefile.am:
+       * ext/smoothstreaming/Makefile.am:
+       * ext/sndfile/Makefile.am:
+       * ext/soundtouch/Makefile.am:
+       * ext/spandsp/Makefile.am:
+       * ext/srt/Makefile.am:
+       * ext/srtp/.gitignore:
+       * ext/srtp/Makefile.am:
+       * ext/teletextdec/Makefile.am:
+       * ext/ttml/Makefile.am:
+       * ext/voaacenc/Makefile.am:
+       * ext/voamrwbenc/Makefile.am:
+       * ext/wayland/.gitignore:
+       * ext/wayland/Makefile.am:
+       * ext/webp/Makefile.am:
+       * ext/webrtc/Makefile.am:
+       * ext/webrtcdsp/Makefile.am:
+       * ext/wildmidi/Makefile.am:
+       * ext/wpe/Makefile.am:
+       * ext/x265/Makefile.am:
+       * ext/zbar/Makefile.am:
+       * gst-libs/Makefile.am:
+       * gst-libs/gst/Makefile.am:
+       * gst-libs/gst/adaptivedemux/Makefile.am:
+       * gst-libs/gst/audio/Makefile.am:
+       * gst-libs/gst/basecamerabinsrc/Makefile.am:
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/insertbin/Makefile.am:
+       * gst-libs/gst/interfaces/.gitignore:
+       * gst-libs/gst/interfaces/Makefile.am:
+       * gst-libs/gst/isoff/Makefile.am:
+       * gst-libs/gst/mpegts/.gitignore:
+       * gst-libs/gst/mpegts/Makefile.am:
+       * gst-libs/gst/opencv/Makefile.am:
+       * gst-libs/gst/player/Makefile.am:
+       * gst-libs/gst/sctp/Makefile.am:
+       * gst-libs/gst/uridownloader/Makefile.am:
+       * gst-libs/gst/vulkan/.gitignore:
+       * gst-libs/gst/wayland/Makefile.am:
+       * gst-libs/gst/webrtc/Makefile.am:
+       * gst/Makefile.am:
+       * gst/accurip/Makefile.am:
+       * gst/adpcmdec/Makefile.am:
+       * gst/adpcmenc/Makefile.am:
+       * gst/aiff/Makefile.am:
+       * gst/asfmux/Makefile.am:
+       * gst/audiobuffersplit/Makefile.am:
+       * gst/audiofxbad/Makefile.am:
+       * gst/audiolatency/Makefile.am:
+       * gst/audiomixmatrix/Makefile.am:
+       * gst/audiovisualizers/Makefile.am:
+       * gst/autoconvert/Makefile.am:
+       * gst/bayer/Makefile.am:
+       * gst/camerabin2/Makefile.am:
+       * gst/coloreffects/Makefile.am:
+       * gst/debugutils/Makefile.am:
+       * gst/dvbsuboverlay/Makefile.am:
+       * gst/dvdspu/.gitignore:
+       * gst/dvdspu/Makefile.am:
+       * gst/faceoverlay/Makefile.am:
+       * gst/festival/Makefile.am:
+       * gst/fieldanalysis/Makefile.am:
+       * gst/freeverb/Makefile.am:
+       * gst/frei0r/Makefile.am:
+       * gst/gaudieffects/Makefile.am:
+       * gst/gdp/Makefile.am:
+       * gst/geometrictransform/Makefile.am:
+       * gst/id3tag/Makefile.am:
+       * gst/inter/.gitignore:
+       * gst/inter/Makefile.am:
+       * gst/interlace/Makefile.am:
+       * gst/ivfparse/Makefile.am:
+       * gst/ivtc/Makefile.am:
+       * gst/jp2kdecimator/Makefile.am:
+       * gst/jpegformat/Makefile.am:
+       * gst/librfb/Makefile.am:
+       * gst/midi/Makefile.am:
+       * gst/mpegdemux/Makefile.am:
+       * gst/mpegpsmux/Makefile.am:
+       * gst/mpegtsdemux/Makefile.am:
+       * gst/mpegtsmux/Makefile.am:
+       * gst/mpegtsmux/tsmux/Makefile.am:
+       * gst/mxf/Makefile.am:
+       * gst/netsim/Makefile.am:
+       * gst/onvif/Makefile.am:
+       * gst/pcapparse/Makefile.am:
+       * gst/pnm/Makefile.am:
+       * gst/proxy/Makefile.am:
+       * gst/rawparse/Makefile.am:
+       * gst/removesilence/Makefile.am:
+       * gst/rist/Makefile.am:
+       * gst/rtp/Makefile.am:
+       * gst/sdp/Makefile.am:
+       * gst/segmentclip/Makefile.am:
+       * gst/siren/Makefile.am:
+       * gst/smooth/.gitignore:
+       * gst/smooth/Makefile.am:
+       * gst/speed/.gitignore:
+       * gst/speed/Makefile.am:
+       * gst/subenc/Makefile.am:
+       * gst/timecode/Makefile.am:
+       * gst/videofilters/Makefile.am:
+       * gst/videoframe_audiolevel/Makefile.am:
+       * gst/videoparsers/Makefile.am:
+       * gst/videosignal/Makefile.am:
+       * gst/vmnc/Makefile.am:
+       * gst/y4m/Makefile.am:
+       * gst/yadif/Makefile.am:
+       * m4/.gitignore:
+       * m4/Makefile.am:
+       * m4/README:
+       * m4/a52.m4:
+       * m4/aalib.m4:
+       * m4/as-ffmpeg.m4:
+       * m4/as-liblame.m4:
+       * m4/as-slurp-ffmpeg.m4:
+       * m4/check-libheader.m4:
+       * m4/freetype2.m4:
+       * m4/gconf-2.m4:
+       * m4/gst-fionread.m4:
+       * m4/gst-sdl.m4:
+       * m4/gst-sid.m4:
+       * m4/libgcrypt.m4:
+       * m4/libmikmod.m4:
+       * m4/lrint.m4:
+       * m4/lrintf.m4:
+       * pkgconfig/Makefile.am:
+       * po/.gitignore:
+       * po/Makevars:
+       * po/POTFILES:
+       * sys/Makefile.am:
+       * sys/androidmedia/Makefile.am:
+       * sys/applemedia/Makefile.am:
+       * sys/bluez/Makefile.am:
+       * sys/d3dvideosink/Makefile.am:
+       * sys/decklink/Makefile.am:
+       * sys/directsound/Makefile.am:
+       * sys/dshowdecwrapper/Makefile.am:
+       * sys/dshowsrcwrapper/Makefile.am:
+       * sys/dshowvideosink/Makefile.am:
+       * sys/dvb/Makefile.am:
+       * sys/fbdev/Makefile.am:
+       * sys/ipcpipeline/Makefile.am:
+       * sys/kms/Makefile.am:
+       * sys/msdk/Makefile.am:
+       * sys/nvcodec/Makefile.am:
+       * sys/opensles/Makefile.am:
+       * sys/shm/Makefile.am:
+       * sys/tinyalsa/Makefile.am:
+       * sys/uvch264/Makefile.am:
+       * sys/wasapi/Makefile.am:
+       * sys/winks/Makefile.am:
+       * sys/winscreencap/Makefile.am:
+       * tests/Makefile.am:
+       * tests/check/.gitignore:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/generic/.gitignore:
+       * tests/check/libs/.gitignore:
+       * tests/check/pipelines/.gitignore:
+       * tests/examples/Makefile.am:
+       * tests/examples/audiomixmatrix/Makefile.am:
+       * tests/examples/avsamplesink/.gitignore:
+       * tests/examples/avsamplesink/Makefile.am:
+       * tests/examples/camerabin2/.gitignore:
+       * tests/examples/camerabin2/Makefile.am:
+       * tests/examples/codecparsers/Makefile.am:
+       * tests/examples/directfb/.gitignore:
+       * tests/examples/directfb/Makefile.am:
+       * tests/examples/ipcpipeline/Makefile.am:
+       * tests/examples/mpegts/Makefile.am:
+       * tests/examples/mxf/.gitignore:
+       * tests/examples/mxf/Makefile.am:
+       * tests/examples/opencv/Makefile.am:
+       * tests/examples/uvch264/Makefile.am:
+       * tests/examples/waylandsink/Makefile.am:
+       * tests/examples/webrtc/Makefile.am:
+       * tests/files/Makefile.am:
+       * tests/icles/.gitignore:
+       * tests/icles/Makefile.am:
+       * tools/Makefile.am:
+         Remove autotools build system
+
+2019-10-14 02:22:18 -0500  Matthew Waters <matthew@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+         decklink: fix timestamp tracking when pausing
+         play->pause->sleep()->play would result in late frames being scheduled
+
+2019-09-04 16:48:29 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: record pic_order_cnt elements size
+         Some hardware decoders, for example Hantro G1, have to be told the
+         size of the pic_order_cnt related syntax elements pic_order_cnt_lsb,
+         delta_pic_order_cnt_bottom, delta_pic_order_cnt[0], and
+         delta_pic_order_cnt[1] in bits.
+
+2019-09-04 15:57:30 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: record dec_ref_pic_marking() size
+         Some hardware decoders, for example Hantro G1, have to be told the size
+         of the dec_ref_pic_marking() syntax element in bits. Record the size so
+         it can be passed on to the hardware.
+
+2019-09-20 20:14:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Calculate short term RPS size in slice header
+         The calculated size of short_term_ref_pic_set is not a part of
+         HEVC syntax but the value is used by some stateless decoders
+         (e.g., vaapi, dxva, vdpau and nvdec) for the purpose of skipping
+         parsing the syntax by the accelerator.
+
+2019-10-07 10:36:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Add H265 slice segment header documentation
+         Adding brief description for each value.
+
+2019-09-11 17:59:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Expose parsed GstH264PPS::pic_scaling_matrix_present_flag
+
+2019-08-27 20:34:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Expose all parsed flags of slice header
+         Add num_ref_idx_active_override_flag and sp_for_switch_flag to
+         member of GstH264SliceHdr. No reason to hiding them and
+         some decoder implementations (e.g., DXVA) rely on externally parsed header
+         data which can be provided by h264parser.
+
+2019-10-09 14:00:01 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: return the right pointer
+         The first channel in memory for MFX_FOURCC_RGB4 (VA_FOURCC_ARGB or
+         GST_VIDEO_FORMAT_BGRA) is B, not A. In MSDK, channle B is used to access
+         data for RGB4 surface. In addition, the returned pointers for
+         MFX_FOURCC_AYUV and MFX_FOURCC_Y410 in gst_msdk_video_memory_map_full
+         were wrong too before this fix.
+
+2019-10-07 08:39:06 -0700  Josep Torra <jtorra@oblong.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: handle bitrate changes in playing state
+         When the bitrate is changed in playing state the encoder issues a reconfig
+         that drains and recreates the underlaying hw encoder instance.
+         With this set of changes we ensure that all this work is only made when
+         the bitrate did actually change. It also tries to reuse the vpp buffer
+         pool and fixes the pool leak spotted when testing this feature.
+
+2019-09-17 01:52:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/mdns/gstmicrodns.c:
+       * ext/mdns/gstmicrodnsdevice.c:
+       * ext/mdns/gstmicrodnsdevice.h:
+       * ext/mdns/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         ext: add libmicrodns-based mdns device provider
+         The provider for now only detects and handles rtsp devices, but
+         more protocols should be easy to add.
+
+2019-10-08 09:40:06 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add the missing profile string
+
+2019-10-07 14:21:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/gsthlssink2.c:
+         hlssink2: Respect requested max-files property for decision on removing old fragments from disk
+         hlssink2 defined "max-files" property to decide the maximum number
+         of fragments which should be stored in disk. But we've not used
+         the property. Instead, the size has been maintained by "playlist-length".
+         Since "max-files" and "playlist-length" have different meaning,
+         the decision should be done by "max-files" property.
+         For example, an user might want expose only 3 fragments via playlist
+         but might want to keep more files than 3 in disk.
+
+2019-10-07 00:05:08 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/assrender/gstassrender.c:
+         ass: avoid infinite unref loop with bad data
+         A classic case of not updating the next item to iterate after deleting
+         it from the singly linked list.
+         Only ever hit with a text buffer with GST_CLOCK_TIME_NONE for either the
+         timestamp or duration.
+
+2019-09-17 19:56:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11window.c:
+         d3d11window: Protect registration/creation of WIN32 window
+         Querying existing window class info and creation of window object
+         should be protected since they are not thread safe.
+
+2019-10-04 21:15:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Don't try to post error message by d3d11window self
+         The d3d11window isn't GstElement. To post error message, proxy it
+         to d3d11videosink instead.
+
+2019-10-04 01:32:34 +0200  Alexandru Băluț <alexandru.balut@gmail.com>
+
+       * pkgconfig/meson.build:
+         pkgconfig: Fix gstreamer-bad-transcoder-1.0.pc generation
+
+2019-10-01 11:00:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkenc: guard MFX_FOURCC_Y410 with MFX version 1027
+
+2019-10-01 15:36:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/gsthlssink.c:
+       * ext/hls/gsthlssink.h:
+       * ext/hls/gsthlssink2.c:
+       * ext/hls/gsthlssink2.h:
+       * ext/hls/gstm3u8playlist.h:
+         hlssink,hlssink2: Ensure writing ENDLIST tag at the end
+         hlssink* elements could be finalized without EOS event, and in that case
+         the final playlist might not include the EXT-X-ENDLIST tag.
+         Since missing ENDLIST tag means it's live stream, but we did't intend it,
+         hlssink* elements should put the tag at the end.
+
+2019-09-26 09:52:14 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: set lockable flag
+         When postpone_free_surface is TRUE, the output buffer is not writable,
+         however the base decoder needs a writable buffer as output buffer,
+         otherwise it will make a copy of the output buffer. As the underlying
+         memory is always lockable, so we may set the LOCKABLE flag for this buffer
+         to avoid buffer copy in the base class.
+         The refcount of the output buffer is 1 when postpone_free_surface is
+         FALSE, so needn't set the LOCKABLE flag for this case.
+
+2019-09-30 10:13:56 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add support for Y410 in sink pad
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y410 !
+         msdkh265enc low-power=1 ! filesink location=output.h265
+
+2019-09-30 09:48:26 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkh265enc: add support for VUYA in sink pad
+         sample pipelie:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=VUYA !
+         msdkh265enc low-power=1 ! filesink location=output.h265
+
+2019-09-30 08:57:42 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkenc: clean up code by using switch
+         It is convenient for us to add support for new formats in future, there
+         is no change in functionality.
+
+2019-09-30 09:09:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvc1dec.c:
+         msdk: remove some dead code
+
+2019-08-06 21:08:12 +0100  olivier.crete@collabora.com <Olivier Crête>
+
+       * ext/wayland/wlvideoformat.c:
+         wayland: Add more DRM formats
+         Add DRM format equivalents that we were missing compared
+         to our caps.
+
+2019-08-06 19:09:54 +0100  olivier.crete@collabora.com <Olivier Crête>
+
+       * ext/wayland/wlvideoformat.c:
+       * ext/wayland/wlwindow.c:
+         wayland: Drop big-endian version of the DRM formats
+         They were a big in some big-endian implementations
+
+2019-08-23 13:41:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11window.c:
+         d3d11videosink: Use pixel aspect ratio to setup window draw area
+         ... instead of calculated display ratio from given PAR and DAR.
+         d3d11window calculates output display ratio
+         to decide padding area per window resize event. In the formula,
+         actual PAR is required to handle both 1:1 PAR and non-1:1 PAR.
+
+2019-09-24 20:29:21 +0200  Fabian Greffrath <fabian@greffrath.com>
+
+       * ext/fluidsynth/gstfluiddec.c:
+         fluidsynth: add sf3 to soundfont search path
+         In Debian, soundfonts in SF3 format (i.e. the same as SF2 format but
+         with Ogg/Vorbis-compressed samples) are installed into
+         /usr/share/sounds/sf3. Soundfonts in SF3 format are supported since
+         FluidSynth 1.1.7 (released in Feb 2018).
+
+2019-09-25 21:36:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan: Fix build on Windows
+         * Fix meson build script for Windows. Since the Vulkan dependency
+         object was declared by us in case of Windows, the dependency object
+         shouldn't be used for finding header
+         * Fix build error by including Windows specific header
+         gstvkdisplay.c(563): error C2065: 'VK_KHR_WIN32_SURFACE_EXTENSION_NAME': undeclared identifier
+
+2019-09-24 17:24:38 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+       * ext/vulkan/vkelementutils.c:
+       * ext/vulkan/vkelementutils.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkimageview.c:
+       * gst-libs/gst/vulkan/gstvkimageview.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: remove VkImageView from the memory
+         There can be multiple views per image for different subresource ranges
+         or planes in multi-planer images.
+
+2019-09-24 13:53:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * tests/check/libs/vkmemory.c:
+         vkbuffer: remove buffer view from the memory
+         It's only really useful for texture buffers which we currently do not
+         use.
+
+2019-09-24 13:52:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+         build/vulkan: fix copy-paste error in gstvkconfig.h
+
+2019-09-18 23:49:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+       * gst-libs/gst/vulkan/gstvkapi.h:
+       * gst-libs/gst/vulkan/gstvkcommandpool-private.h:
+       * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.h:
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.h:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+         vulkan: remove the winsys-specific headers from gst/vulkan/vulkan.h
+         Allows not having wayland, xcb, Cocoa, UIKit, windows.h included in the
+         public GstVulkan API.
+
+2019-09-24 11:25:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/debugutils/gsterrorignore.c:
+         errorignore: Added convert-error signal
+         The convert-error signal is emitted whenever we get a GstFlowReturn
+         other than GST_FLOW_OK. The handler can then decide what to convert that
+         into - for instance, return the same GstFlowReturn to not convert it.
+         The default handler will act according to the ignore-error,
+         ignore-notlinked, ignore-notnegotiated and convert-to properties. If a
+         handler is connected, these properties are ignored.
+
+2019-09-24 10:29:44 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rtp/gstrtpsink.c:
+         build: fix werror build with newer gcc
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstbin.h:27,
+         from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:35,
+         from ../gst/rtp/gstrtpsink.h:23,
+         from ../gst/rtp/gstrtpsink.c:49:
+         In function ‘gst_rtp_sink_start’,
+         inlined from ‘gst_rtp_sink_change_state’ at ../gst/rtp/gstrtpsink.c:509:11:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstelement.h:422:18: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         422 |   gchar *__txt = _gst_element_error_printf text;                        \
+         ../gst/rtp/gstrtpsink.c:476:3: note: in expansion of macro ‘GST_ELEMENT_ERROR’
+         476 |   GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+         |   ^~~~~~~~~~~~~~~~~
+         ../gst/rtp/gstrtpsink.c: In function ‘gst_rtp_sink_change_state’:
+         ../gst/rtp/gstrtpsink.c:477:37: note: format string is defined here
+         477 |       ("Could not resolve hostname '%s'", remote_addr),
+         |                                     ^~
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstbin.h:27,
+         from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:35,
+         from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/rtp/gstrtpdefs.h:27,
+         from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/rtp/rtp.h:25,
+         from ../gst/rist/gstristsink.c:72:
+         In function ‘gst_rist_sink_setup_rtcp_socket’,
+         inlined from ‘gst_rist_sink_start’ at ../gst/rist/gstristsink.c:658:10,
+         inlined from ‘gst_rist_sink_change_state’ at ../gst/rist/gstristsink.c:801:13:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstelement.h:422:18: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         422 |   gchar *__txt = _gst_element_error_printf text;                        \
+         ../gst/rist/gstristsink.c:595:3: note: in expansion of macro ‘GST_ELEMENT_ERROR’
+         595 |   GST_ELEMENT_ERROR (sink, RESOURCE, NOT_FOUND,
+         |   ^~~~~~~~~~~~~~~~~
+         ../gst/rist/gstristsink.c: In function ‘gst_rist_sink_change_state’:
+         ../gst/rist/gstristsink.c:596:37: note: format string is defined here
+         596 |       ("Could not resolve hostname '%s'", remote_addr),
+         |                                     ^~
+
+2019-09-09 13:40:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkcontext.h:
+       * sys/msdk/gstmsdkvideomemory.c:
+       * sys/msdk/gstmsdkvideomemory.h:
+         msdk: fix for mfx frame alloc response
+         Both MSDK and this plugin use mfxFrameAllocResponse for video and DMABuf
+         memory, it is possible that some GST buffers are still in use when calling
+         gst_msdk_frame_free, so add a reference count in the wrapper of
+         mfxFrameAllocResponse (GstMsdkAllocResponse) to make sure the underlying
+         mfx resources are still available if the corresponding buffer pool is in
+         use.
+         In addtion, currently all allocators for input or output share the same
+         mfxFrameAllocResponse pointer in an element, so it is possible that
+         the content of mfxFrameAllocResponse is updated for a new caps then all
+         GST buffers allocated from an old allocator will use this new content of
+         mfxFrameAllocResponse, which will result in unexpected behavior. In this
+         fix, we save the the content of mfxFrameAllocResponse in the corresponding
+         tructure to avoid such issue
+         Sample pipeline:
+         gst-launch-1.0 filesrc location=vp9_multi_resolutions.ivf ! ivfparse ! msdkvp9dec !
+         msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
+
+2019-09-11 10:49:10 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/gstmsdkcontext.h:
+         msdk: don't cache mfxFrameAllocResponse pointer
+         Otherwise it is possible that different wrappers share the same
+         mfxFrameAllocResponse pointer, so instead of caching the pointer, we may
+         cache the content of mfxFrameAllocResponse
+
+2019-07-02 15:21:24 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+       * sys/msdk/gstmsdkvc1dec.c:
+         msdkdec: postpone surface free for VC1
+         For a skipped frame in VC1, MSDK returns the mfx surface of the reference
+         frame, so we have to make sure the corresponding surface for the
+         reference frame is not freed. In this fix, we postpone surface free because
+         we don't know whether a surface is referenced
+         Before this fix, the error is like as below:
+         New clock: GstSystemClock
+         0:00:00.181793130 23098 0x55f8a9d622d0 ERROR                msdkdec
+         gstmsdkdec.c:622:gst_msdkdec_finish_task:<msdkvc1dec0> Couldn't find the
+         cached MSDK surface
+         Sample pipeline:
+         gst-launch-1.0 filesrc location=input_has_skipped_frame.wmv ! asfdemux !
+         vc1parse ! msdkvc1dec ! glimagesink
+
+2019-09-17 14:42:51 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: release the surface if this surface is not in use
+         If the surface is not in use, we may release it even if GST_FLOW_OK is going
+         to be returned, which may avoid the issue of failing to get surface
+         available
+         This fixes the regression caused by commit c05acf4
+
+2019-08-01 13:48:54 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: adjust the stride align
+         GstAllocationParams::align is set to 31 in msdkdec/msdken/msdkvpp, hence
+         the stride align should be greater than or equal to 31, otherwise it
+         will result in issue
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/861
+         (msdk: "GStreamer-CRITICAL: gst_buffer_resize_range failed" SPAM),
+         In addition, the stride should match the pitch alignment in the media driver,
+         otherwise it will result in some issues when a buffer is shared between
+         different elements, e.g. the NV12 issue mentioned in commit 3f2314a, which
+         can be reproduced by `gst-launch-1.0 vidoetestsrc ! msdkvpp !
+         video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink`
+         Fixed https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/861
+
+2019-09-20 15:35:09 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/rtp/gstrtpsrc.h:
+       * tests/check/elements/rtpsink.c:
+       * tests/check/elements/rtpsrc.c:
+         rtpmanagerbad: allow creation of elements at initialisation
+
+2019-09-17 22:24:04 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkviewconvert.c:
+       * gst-libs/gst/vulkan/gstvkcommandbuffer.c:
+       * gst-libs/gst/vulkan/gstvkcommandbuffer.h:
+       * gst-libs/gst/vulkan/gstvkcommandpool-private.h:
+       * gst-libs/gst/vulkan/gstvkcommandpool.c:
+       * gst-libs/gst/vulkan/gstvkcommandpool.h:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+       * gst-libs/gst/vulkan/gstvktrash.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+       * tests/check/libs/vkcommandpool.c:
+       * tests/check/meson.build:
+         vulkan: implement command buffer reuse
+         Using a similar design for reference counting as
+         GstBuffer/GstBufferPool.
+
+2019-09-18 16:27:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Fix comment about odd/even ports
+         It is the RTP port that is even, and the RTCP port being +1 (hence odd).
+
+2019-09-18 18:43:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11device.c:
+         d3d11: Use g_cond_broadcast() to wake up waiting threads
+         gst_d3d11_device_thread_add() can be called concurrently from different
+         threads so the cond signal should reach to all waiting threads.
+
+2019-09-16 15:29:26 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkdeviceprovider.c:
+       * ext/vulkan/vkdeviceprovider.h:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * tests/check/elements/vkdeviceprovider.c:
+       * tests/check/meson.build:
+         vulkan: add device provider implementation
+
+2019-09-16 13:00:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+         vulkansink: attempt a context query for a device
+
+2019-09-16 12:59:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkdebug.c:
+       * gst-libs/gst/vulkan/gstvkdebug.h:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+       * gst-libs/gst/vulkan/gstvkphysicaldevice.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+       * tests/check/libs/vkdevice.c:
+       * tests/check/libs/vkmemory.c:
+         vulkan: split physical device from logical device
+
+2019-09-16 11:24:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdebug-private.h:
+       * gst-libs/gst/vulkan/gstvkdebug.c:
+       * gst-libs/gst/vulkan/gstvkdebug.h:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+         vulkan: expose various flags to string methods
+
+2019-09-16 11:21:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkinstance.h:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkutils.h:
+         vulkan: only pass the device/instance/display in to *_handle_*() functions
+         We don't need to change the pointer value in these functions.
+
+2019-09-16 10:52:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: remove unneeded label
+
+2019-09-09 15:28:32 +0200  VaL Doroshchuk <valentyn.doroshchuk@qt.io>
+
+       * gst/camerabin2/gstviewfinderbin.c:
+         GstViewfinderBin: Fix typo in videoscale's name element
+         If user's video sink has been changed, it is unable to fetch
+         videoscale element by name and link to the video sink.
+
+2019-08-26 16:48:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/videotexturecache.h:
+         applemedia/videocache: remove unimplemented/used upload function
+
+2019-09-11 23:09:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+         vulkan/window/ios: fix race on window startup
+         1. The iOS create_surface implementation needs to call out to the main
+         thread to create the window (UIKit requirement)
+         2. get_surface() can be called and will attempt to create the VkSurface
+         from an invalid view/layer.
+         Also pass the layer for MoltenVK so we don't get pesky 'UIView function
+         not called on main thread' warnings.
+
+2019-09-12 00:10:37 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+         vulkan: create the macos/ios-specific displays
+
+2019-09-12 15:29:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan: install public gstvkdebug.h header
+
+2019-09-11 15:06:58 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: set pointer to NULL to avoid freeing an used surface
+         The surface should be cached in the surface list when GST_FLOW_OK is
+         going to be returned
+         This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1051
+
+2019-08-21 12:45:37 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: free mfx frames to avoid memory leaks in encoder and vpp
+
+2019-09-10 14:44:19 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: unref the caps to avoid memory leaks
+
+2019-08-29 09:31:22 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: free msdk surfaces to avoid memory leak
+
+2019-08-21 12:27:57 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: unref buffer pools
+         Unref the pools first in caps re-negotiation to avoid memory leak
+
+2019-08-29 15:28:36 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: fix memory leaks in msdk allocators
+
+2019-09-05 09:05:10 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: work-around to avoid zero fps in MediaSDK structure
+
+2019-09-09 13:42:56 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+         msdkenc: add an extra surface for hevc encoding
+         For some hevc 10bit 4K encoding cases, the encoding process may be
+         slow, and MediaSDK surface can't be released in time before one other
+         available surface is needed. So add an extra surface for hevc encoding
+         to avoid this issue.
+
+2019-08-12 19:42:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtc/stats: redo considering internal sources
+         Internal sources seem to be rtp streams we are sending whereas
+         non-internal sources are the rtp streams we are receiving. Redo the
+         statistics with that in mind.
+
+2019-09-12 09:33:44 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdebug.c:
+         vulkan: fix build with older API headers
+         The protected memory flags were only added later as was the
+         multi-instance flag.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1081
+
+2019-09-06 12:52:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/meson.build:
+       * tests/examples/nvcodec/meson.build:
+       * tests/examples/nvcodec/nvcodec-kb.c:
+       * tests/examples/nvcodec/nvcodec.c:
+       * tests/examples/nvcodec/nvcodec.h:
+         examples: nvcodec: Add example for runtime configuration change with nvcodec
+         Add new example for testing dynamic change of configuration suce as
+         resolution and properties.
+
+2019-08-30 21:35:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Early terminate handle_frame if the last flow was not GST_FLOW_OK
+         If the last flow was not GST_FLOW_OK, the encoding thread is not running
+         and there is nothing to pop from GAsyncQueue (this causes deadlock).
+         To prevent deadlock, just return the handle_frame without further encoding
+         process if the last flow was not GST_FLOW_OK. Note that the last flow
+         will be cleared per FLUSH_STOP and STREAM_START event.
+
+2019-08-20 22:07:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvenc: Add support VUYA format
+         The addition is very simple. Map NV_ENC_BUFFER_FORMAT_AYUV format
+         to GST_VIDEO_FORMAT_VUYA and add a condition for the VUYA format.
+
+2019-08-28 23:46:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Add support for mpeg4 video decoding with codec_data
+         Decoder should handle codec_data of mpeg4 video which includes essential
+         config data.
+
+2019-09-11 14:56:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Reduce the number of pre-allocated device memory
+         The hard-coded upper bound 32 (or 48 depending on resolution) might waste
+         GPU memory and high resolution encoding causes OUT-OF-MEMORY allocation error
+         quite easily. This commit calculates the number of required pre-allocated
+         device memory based on encoding options and it can reduce the amount of device memory
+         used by nvenc.
+
+2019-09-11 19:24:50 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdebug-private.h:
+       * gst-libs/gst/vulkan/gstvkdebug.c:
+       * gst-libs/gst/vulkan/gstvkdebug.h:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+         vulkan: dump most of the device information
+         Dump anything that can be queried using the physical device like features,
+         limits, queue properties, memory properties.
+
+2019-09-11 15:16:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Update plugin description and fix typo
+         Use consistent description with nvenc, and fix typo s/devide/device/g
+
+2019-08-18 17:31:53 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Adjust DTS when bframe is enabled
+         NVDEC driver always uses input timestamp without adjustment
+         even if bframe encoding was enabled.
+         So DTS can be larger than PTS when bframe was enabled.
+         To ensure PTS >= DTS, we should adjust the timestamp manually
+         based on the PTS difference between the first
+         encoded frame and the second one. That's also the maximum PTS/DTS
+         difference.
+
+2019-09-03 19:46:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Add qp-{min,max,const}-{i,p,b} properties
+         This new properties allows more detailed target QP value setting
+
+2019-09-03 21:22:08 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvenc: Add properties to support bframe encoding if device supports it
+         Note that bframe encoding capability varies with GPU architecture
+
+2019-09-02 14:13:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Refactoring internal buffer pool structure
+         To support rc-lookahead and bframe encoding, nvenc needs one more
+         staging queue, because NvEncEncodePicture can return NV_ENC_ERR_NEED_MORE_INPUT
+         but which was not considered so far.
+         As documented by NVENC programming guide, pending buffers should wait
+         other inputs until NvEncEncodePicture returns success.
+         New encoding flow is
+         - Submit raw picture buffer to encoder with NvEncEncodePicture
+         - The submitted input/output buffer pair will be queued to pending_queue
+         - If NvEncEncodePicture returned success, then move all pair in pending_queue
+         to final stage
+         - Otherwise, wait more input raw pictures.
+         Another change is dropping NV_ENC_LOCK_INPUT_BUFFER usage.
+         So now nvenc always uses CUDA memory input buffer. As a result,
+         both opengl and system memory handling are unified.
+
+2019-07-28 15:41:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Remove pointless iteration and cleanup some code
+         * The number of iteration is always one so the iteration is useless
+         and that makes code complicated.
+         * Also defining named structure can code mroe readable.
+         * g_free is null safe
+
+2019-09-03 21:33:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+         nvenc: Add more rate-control options
+         New rate-control modes are introduced (if device can support)
+         * cbr-ld-hr: CBR low-delay high quality
+         * cbr-hq: CBR high quality
+         * vbr-hq: VBR high quality
+         Also, various configurable rate-control related properties are added.
+
+2019-09-03 21:28:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+         nvenc: Add support for weighted prediction option
+         Note that this property will be exposed only if the device
+         supports the weighted prediction.
+
+2019-07-26 16:46:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+         nvenc: Add property for AUD insertion
+         Make AUD insertion configurable option
+
+2019-09-03 18:46:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+         nvenc: Refactor class hierarchy to handle device capability dependent options
+         Introducing new dynamic class between GstNvBaseEncClass and
+         each subclass to be able to access device specific properties and
+         capabilities from each subclass implementation side.
+
+2019-09-11 02:12:55 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * sys/msdk/meson.build:
+         msdk: actually use the include dir we compute
+
+2019-09-10 23:13:17 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: minor spell corrects in log messages
+
+2019-08-26 14:54:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkh265dec.c:
+       * sys/msdk/gstmsdkh265enc.c:
+       * sys/msdk/gstmsdkmjpegdec.c:
+       * sys/msdk/gstmsdkvp9dec.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/msdk.h:
+         msdk: Remove all DMABuf caps features on Windows
+         Add new macro for sink/src pad template to ensure no DMABuf caps
+         features are exposed on Windows. Some DMABuf caps features
+         were not handled by the commit 9ec62418c31cab4072bf173f279234e36eeec596
+
+2019-09-04 13:30:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Do not use video memory on Windows
+         Like msdkenc, do not use video memory by default on Windows.
+
+2019-09-04 13:18:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: Allow video and system memory share among buffers
+         gst_buffer_make_writable() requires exclusive reference to the
+         GstMemory so the _make_writable() for the msdk buffer will result
+         to fallback system memory copy, because the msdk memory were initialized
+         with GST_MEMORY_FLAG_NO_SHARE flag.
+         Note that, disable sharing GstMemory brings high overhead but actually
+         the msdk memory objects can be shared over multiple buffers.
+         If the memory is not shareable, newly added GstAllocator::mem_copy will
+         create copied msdk memory.
+
+2019-08-08 11:27:19 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: remove the requirement on profile
+         Sometimes a HEVC/H265 stream doesn't have a valid profile but MSDK can
+         handle this stream. Like vaapih265dec, msdkh265dec may advertise the sink
+         caps without profile
+
+2019-09-08 21:25:44 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/wayland/gstwaylandsink.c:
+         wayland: gracefully handle unknown formats
+
+2019-09-06 22:21:50 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: change cpu-used range upto 5
+         The speed 6, 7 and 8 has been removed because it's not yet tuned
+         correctly.
+         https://aomedia.googlesource.com/aom/+/7ffbf92030baf6886c2486574cca16d60499bbb8
+
+2019-09-04 12:54:17 +0300  Askar Safin <safinaskar@mail.ru>
+
+       * gst-libs/gst/player/gstplayer.c:
+         gst-player: fix bug with changing playback direction
+         Fix gst_event_new_seek call in gst-libs/gst/player/gstplayer.c
+         If rate >= 0.0, then previous code doesn't set end of segment. So, the end of segment
+         will be in place where previous seek put it. This is not neccesary end of media file
+         (in case of reverse playback). So if we play video backward for some time and then
+         switched to forward playing, we will get EOS somewhere in the middle of media file.
+         This commit always sets end of segment, thus fixing this bug
+
+2019-05-24 16:48:45 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: output the decoded frame immediately if decoded order is required
+         DecodedOrder was deprecated in msdk-2017 version, but some customers
+         still use this for low-latency streaming of non-b-frame encoded streams,
+         which needs to output the frame at once
+
+2019-09-02 09:22:10 +0800  Jeffy Chen <jeffy.chen@rock-chips.com>
+
+       * ext/wayland/wlwindow.c:
+         Revert "waylandsink: Don't create throwaway empty regions"
+         This reverts commit 68fa80e83118a7a2be037eb235e5d211912dee0e.
+         Some wayland servers, especially weston, only expect empty input
+         region as a request to disable input.
+         Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
+
+2019-08-21 06:35:30 -0500  Matthew Waters <matthew@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosink.cpp:
+         decklinkaudiosink: Drop late buffers
+         Asking decklink to render audio data seems to be based entirely on
+         the sample counts which completely disregards the timestamps
+         we pass to decklink.  As a result, we need to explicitly check
+         for late buffers and drop them ourselves.
+
+2019-08-31 18:19:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/nvenc.c:
+         tests: nvenc: Test runtime resolution change
+
+2019-08-31 17:34:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Add support runtime resolution change freely
+         Do not restrict allowed maximum resolution depending on the
+         initial resolution. If new resolution is larger than previous one,
+         just re-init encode session.
+
+2019-08-27 17:04:50 +0800  Wangfei <fei.w.wang@intel.com>
+
+       * tests/check/libs/h265parser.c:
+         tests: h265parser: Add test parsing range extension in PPS
+
+2019-08-19 10:08:46 +0800  Wangfei <fei.w.wang@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parse lib: fix missing condition when parse PPS
+         Follow h265 spec(04/2015), log2_max_transform_skip_block_size_minus2
+         should get with condition when transform_skip_enabled_flag is 1.
+
+2019-08-28 17:26:00 -0700  Sam Gigliotti <samgig@amazon.com>
+
+       * ext/webrtc/gstwebrtcstats.c:
+         webrtcbin: Fixed memory leak in gstwebrtcstats
+         The function _get_stats_from_ice_transport returns a string which must be
+         freed by the caller. However, _get_stats_from_dtls_transport was ignoring
+         the return value from this function, resulting in a leak.
+         Ran this with valgrind. Before this fix there was a leak of 40 bytes each
+         time this was called. After there was no leak.
+
+2019-08-30 14:15:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: fix macos werror build
+         ../sys/decklink/gstdecklink.cpp:1703:7: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
+         persistent_id);
+         ^~~~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:1070:87: note: expanded from macro 'GST_DEBUG'
+         #define GST_DEBUG(...)                  GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG,   NULL, __VA_ARGS__)
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:646:31: note: expanded from macro 'GST_CAT_LEVEL_LOG'
+         (GObject *) (object), __VA_ARGS__);                             \
+         ^~~~~~~~~~~
+
+2019-08-29 17:19:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Check flow return of the only current handle_frame() to fix seeking issue
+         Due to uncleared last flow, decoding after seek was never possible
+         (last_ret == GST_FLOW_FLUSHING).
+         nvdec dose not need to keep track of the previous flow return,
+         and actually the interest is data/even flow of the current handle_frame().
+
+2019-08-29 20:20:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fallback to system memory if OpenGL context could not support PBO memory
+         If the environment could not support OpenGL PBO memory, nvdec will do negotiation
+         with system memory as fallback.
+
+2019-08-09 20:19:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Add support dynamic output format change
+         Implementing ::negotiate() method to support runtime output format
+         change. If downstream was reconfigured, baseclass will invoke
+         ::negotiate() method, and nvdec should update output memory
+         type depending on downstream caps.
+
+2019-08-09 18:47:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Re-negotiate whenever output format is changed
+         Input stream might be silently changed without ::set_format() call.
+         Since nvdec has internal parser, nvdec element can figure out the format change
+         by itself.
+
+2019-08-09 15:27:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/nvdec.c:
+       * tests/check/meson.build:
+         tests: nvdec: Add test runtime downstream reconfigure
+         Add test case for output format change
+
+2019-08-08 10:59:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Add support 4:4:4 and 4:2:0 12bit decoding
+         Depending on GPU architecture, HEVC decoder can support
+         4:4:4 format up to 12 bitdepth. This commit covers VP9 4:2:0 12 bits
+         decoding also.
+
+2019-08-08 14:16:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvenc: Add support for old drivers which could not understand SDK version 9.0
+         Add helper functions to support old drivers
+         with our previous SDK version 8.1
+
+2019-08-08 14:00:08 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+         nvenc: Use consistent snake case convention
+
+2019-08-07 23:03:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/cuviddec.h:
+       * sys/nvcodec/nvEncodeAPI.h:
+       * sys/nvcodec/nvcuvid.h:
+         nvcodec: Bump SDK header to version 9.0
+         The latest Turing architecture (e.g., RTX serise) can support
+         decoding HEVC 4:4:4 format up to 12bits.
+
+2019-08-02 01:37:22 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+         vulkan: Fix some confusing typos
+         Seems to have been copy pasted from around gl element
+
+2019-08-09 20:13:59 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkupload.c:
+         vulkan: Don't dereference null pointer when printing error
+         When printing error message because the function failed, the GError variable
+         may not be used and it can be NULL.
+
+2019-08-09 18:43:06 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+         vulkan/xcb: Don't try to create xcb window with non-xcb display
+         Non-xcb display does not have a xcb_connection and trying
+         to create xcb window with wild pointer can cause segfault.
+
+2019-08-18 14:09:16 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Port to GstCudaGraphicsResource
+         Register openGL resource only once per memory. Also if upstream
+         provides the registered information, reuse the information
+         instead of doing it again. This can improve performance dramatically
+         depending on system since the resource registration might cause
+         high overhead.
+
+2019-08-18 13:27:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Port to GstCudaGraphicsResource
+         Make it possible to share registered graphics resource among nvidia encoders
+         and decoders.
+
+2019-08-17 17:45:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstcudautils.h:
+       * sys/nvcodec/stub/cuda.h:
+         cudautils: Add GstCudaGraphicsResource structure for better openGL interoperability
+         Introduce GstCudaGraphicsResource structure to represent registered
+         CUDA graphics resources and to enable sharing the information among
+         nvdec and nvenc. This structure can reduce the number of resource
+         registration which cause high overhead.
+
+2019-08-17 14:46:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Port to openGL PBO memory
+         For openGL interoperability, nvdec uses cuGraphicsGLRegisterImage API
+         which is to register openGL texture image.
+         Meanwhile nvenc uses cuGraphicsGLRegisterBuffer API to registure openGL buffer object.
+         That means two kinds of graphics resources are registered per memory
+         when nvdec/nvenc are configured at the same time.
+         The graphics resource registration brings possibly high overhead
+         so the registration should be performed only once per resource
+         from optimization point of view.
+
+2019-08-17 14:03:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Filter openGL API version to use
+         To ensure PBO buffer, openGL API >= 3 is required.
+
+2019-08-21 16:46:36 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkcontext.c:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+         msdk: avoid reading data from freed memory
+         Both g_list_delete_link and g_list_remove remove an element and free it,
+         so l->next is invalid (catched by valgrind) after calling g_list_delete_link
+         or g_list_remove
+
+2019-08-22 10:46:12 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Update plugin cache
+
+2015-12-03 12:32:05 +0100  Saunier Thibault <saunierthibault@gmail.com>
+
+       * data/meson.build:
+       * data/targets/device/dvd.gep:
+       * data/targets/file-extension/avi.gep:
+       * data/targets/file-extension/flv.gep:
+       * data/targets/file-extension/mkv.gep:
+       * data/targets/file-extension/mp3.gep:
+       * data/targets/file-extension/mp4.gep:
+       * data/targets/file-extension/oga.gep:
+       * data/targets/file-extension/ogv.gep:
+       * data/targets/file-extension/webm.gep:
+       * data/targets/online-service/youtube.gep:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * docs/libs/transcoder/index.md:
+       * docs/libs/transcoder/sitemap.txt:
+       * docs/meson.build:
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/transcoder/transcoder-prelude.h:
+       * gst/meson.build:
+       * gst/transcode/gst-cpu-throttling-clock.c:
+       * gst/transcode/gst-cpu-throttling-clock.h:
+       * gst/transcode/gsttranscodebin.c:
+       * gst/transcode/gsttranscoding.h:
+       * gst/transcode/gsturitranscodebin.c:
+       * gst/transcode/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * pkgconfig/gstreamer-bad-transcoder-uninstalled.pc.in:
+       * pkgconfig/gstreamer-bad-transcoder.pc.in:
+       * pkgconfig/meson.build:
+       * tools/gst-transcoder.c:
+       * tools/meson.build:
+       * tools/utils.c:
+       * tools/utils.h:
+         Import GstTranscoder
+
+2019-08-23 17:07:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan/swapper: add a couple of missing g_clear_error()'s
+
+2019-08-23 17:04:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan/build: conditionally depend on Vulkan-1.0.gir
+         Vulkan-1.0.gir is new in gobject-introspection >= 1.61.1
+
+2019-08-23 17:03:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+         vulkandisplay: silence an unused but set error with no enable winsys implementations
+
+2019-08-23 14:20:59 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan/swapper: check queue present return later
+         During resizes, the VkQueuePresent can return OUT_OF_DATE and if a buffer
+         is displayed returning OUT_OF_DATE it would error out and stop the pipeline.
+         We already have a explicit check for OUT_OF_DATE and the same general
+         error check in the statements following so just use that code.
+
+2019-08-23 14:19:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+         vulkan/swapper: destroy the surface in finalize
+         Fixes a leak of the VkSurface object.
+
+2019-08-23 14:17:02 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan/swapper: set some values to NULL in error conditions
+         So that they are not double free()-ed.
+
+2019-08-23 14:14:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+         vulkancolorconvert: explicitly initalize swizzle arrays
+         Fixes uninitialized access of the indexed values larger than
+         the number of planes in the video format.
+
+2019-08-23 14:13:16 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkerror.c:
+         vulkan/error: add the error value in hex and decimal
+         Provides more information for what may be an 'Unknown' error.
+
+2019-08-23 14:11:16 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkanswapper: disconnect window signals before any internal resources
+         Otherwise, it's racy whether the necessary resources are available in
+         the signal callbacks on destruction.
+
+2019-08-19 12:30:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: don't return GST_FLOW_ERROR for MFX_WRN_INCOMPATIBLE_VIDEO_PARAM
+         Returning MFX_WRN_INCOMPATIBLE_VIDEO_PARAM means MSDK detects some
+         incompatible parameters but it is resolved, and we may not regard
+         MFX_WRN_INCOMPATIBLE_VIDEO_PARAM as a fatal error. In this fix,
+         GST_FLOW_OK is returned but with a warning message so that a pipeline
+         may run to the end.
+
+2019-08-28 16:11:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/androidmedia/gstahcsrc.c:
+         ahcsrc: #define GST_USE_UNSTABLE_API for phtography inteface
+         Fixes werror build:
+         In file included from ../sys/androidmedia/gstahcsrc.c:70:
+         ../gst-libs/gst/interfaces/photography.h:27:2: error: "The GstPhotography interface is unstable API and may change in future." [-Werror,-W#warnings]
+         #warning "The GstPhotography interface is unstable API and may change in future."
+         ^
+         ../gst-libs/gst/interfaces/photography.h:28:2: error: "You can define GST_USE_UNSTABLE_API to avoid this warning."  [-Werror,-W#warnings]
+         #warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
+         ^
+
+2019-08-27 12:05:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/mpeg2enc/meson.build:
+         mpeg2enc: fix werror build with clang
+         /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass1.hh:1:9: error: '_ONTHEFLYRATECTLPASS1_HH' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
+         #ifndef _ONTHEFLYRATECTLPASS1_HH
+         ^~~~~~~~~~~~~~~~~~~~~~~~
+         /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass1.hh:2:9: note: '_ONTHELFYRATECTLPASS1_HH' is defined here; did you mean '_ONTHEFLYRATECTLPASS1_HH'?
+         #define _ONTHELFYRATECTLPASS1_HH
+         ^~~~~~~~~~~~~~~~~~~~~~~~
+         _ONTHEFLYRATECTLPASS1_HH
+         In file included from ../subprojects/gst-plugins-bad/ext/mpeg2enc/gstmpeg2encoder.cc:31:
+         /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass2.hh:1:9: error: '_ONTHEFLYRATECTLPASS2_HH' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
+         #ifndef _ONTHEFLYRATECTLPASS2_HH
+         ^~~~~~~~~~~~~~~~~~~~~~~~
+         /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass2.hh:2:9: note: '_ONTHELFYRATECTLPASS2_HH' is defined here; did you mean '_ONTHEFLYRATECTLPASS2_HH'?
+         #define _ONTHELFYRATECTLPASS2_HH
+         ^~~~~~~~~~~~~~~~~~~~~~~~
+         _ONTHEFLYRATECTLPASS2_HH
+         /usr/include/mjpegtools/mpeg2enc/encoderparams.hh:82:1: error: struct 'RateCtl' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
+         struct RateCtl;
+         ^
+         /usr/include/mjpegtools/mpeg2enc/ratectl.hh:50:7: note: previous use is here
+         class RateCtl
+         ^
+         /usr/include/mjpegtools/mpeg2enc/encoderparams.hh:82:1: note: did you mean class here?
+         struct RateCtl;
+         ^~~~~~
+         class
+
+2019-08-26 22:19:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/uvch264/gstuvch264deviceprovider.c:
+       * sys/uvch264/gstuvch264deviceprovider.h:
+         uvch264: fix werror build with clang
+         ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:48:1: warning: unused function 'GST__UVC_H264_DEVICE' [-Wunused-function]
+         G_DECLARE_FINAL_TYPE (GstUvcH264Device, gst_uvc_h264_device, GST_,
+         ^
+         /usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+         static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                                     \
+         ^
+         <scratch space>:75:1: note: expanded from here
+         GST__UVC_H264_DEVICE
+         ^
+         ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:48:1: warning: unused function 'GST__IS_UVC_H264_DEVICE' [-Wunused-function]
+         /usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+         static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                                         \
+         ^
+         <scratch space>:78:1: note: expanded from here
+         GST__IS_UVC_H264_DEVICE
+         ^
+         ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:139:1: warning: unused function 'GST_UVC_H264_DEVICE_PROVIDER' [-Wunused-function]
+         G_DECLARE_FINAL_TYPE (GstUvcH264DeviceProvider, gst_uvc_h264_device_provider, GST, UVC_H264_DEVICE_PROVIDER, GstDeviceProvider)
+         ^
+         /usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+         static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) {                                     \
+         ^
+         <scratch space>:137:1: note: expanded from here
+         GST_UVC_H264_DEVICE_PROVIDER
+         ^
+         ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:139:1: warning: unused function 'GST_IS_UVC_H264_DEVICE_PROVIDER' [-Wunused-function]
+         /usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+         static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) {                                         \
+         ^
+         <scratch space>:140:1: note: expanded from here
+         GST_IS_UVC_H264_DEVICE_PROVIDER
+         ^
+
+2019-08-26 22:17:57 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: fix werror build with clang
+         ../subprojects/gst-plugins-bad/ext/aom/gstav1enc.c:415:34: warning: implicit conversion from enumeration type 'GstAV1EncEndUsageMode' to different enumeration type 'enum aom_rc_mode' [-Wenum-conversion]
+         av1enc->aom_cfg.rc_end_usage = DEFAULT_END_USAGE;
+         ~ ^~~~~~~~~~~~~~~~~
+         ../subprojects/gst-plugins-bad/ext/aom/gstav1enc.c:162:41: note: expanded from macro 'DEFAULT_END_USAGE'
+         #define DEFAULT_END_USAGE               GST_AV1_ENC_END_USAGE_VBR
+         ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+2019-08-23 18:40:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Set latency property on SRT socket
+
+2019-08-23 17:54:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Add sender side statistics
+
+2019-08-23 16:21:47 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         srtobject: Remove pointless GMainLoop
+         Just use srt's blocking epoll function and fix locking while we're at it.
+
+2019-08-13 22:54:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/wasapi/gstwasapidevice.c:
+       * sys/wasapi/gstwasapisink.c:
+       * sys/wasapi/gstwasapisrc.c:
+         wasapi: Move to CoInitializeEx for COM initialization
+         CoInitialize is not allowed when targeting UWP and causes a Windows
+         Application Certification Kit (WACK) error.
+
+2019-08-23 17:55:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: Make latency configurable
+         Allows for "low latency" mpeg-ts mode which is not standard, but somewhat common.
+         For this to work the sender has to put timestamps at a higher frequency than the spec requires.
+
+2019-08-26 14:36:35 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: fix colorimetry in src caps if sink caps has no structure
+         We do want to include the colorimetry in the src caps if the sink caps
+         doesn't have any structure associated.
+
+2019-08-26 14:36:35 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix colorimetry in src caps if sink caps has no structure
+         We do want to include the colorimetry in the src caps if the sink caps
+         doesn't have any structure associated.
+
+2019-08-26 14:53:39 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc.c:
+         amc: Do not skip decoders that have no profile levels
+
+2019-05-08 11:06:40 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: add support for SEI registered user data
+
+2019-05-08 11:05:40 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: use gstvideoparseutils to handle user data
+
+2019-05-08 11:04:49 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.h:
+         mpegvideoparse: use gstvideoparseutils to handle user data
+
+2019-05-08 11:02:35 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstvideoparseutils.c:
+       * gst/videoparsers/gstvideoparseutils.h:
+       * gst/videoparsers/meson.build:
+         videoparseutils: add new parser class
+
+2019-08-23 09:51:20 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/gstmsdkvpp.h:
+       * sys/msdk/msdk-enums.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdkvpp: support video-direction property
+         video-direction property is common property in gstreamer. In addition,
+         both mirroring & rotation properties are marked as deprecated,
+         video-direction will override mirroring & rotation properties when they
+         are set explicitly
+         Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1058
+
+2019-08-21 16:44:39 +0800  Yan Wang <yan.wang@linux.intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: Fix buffer allocation based on frame.
+         gst_msdkdec_finish_task() may release all frames in
+         GstVideoDecoder object. In this case, allocate_output_buffer()
+         cannot get the oldest frame to allocate buffer.
+         So gst_msdkdec_handle_frame() should return GST_FLOW_OK for
+         letting gst_video_decoder_decode_frame() to send a new frame
+         for decoding.
+         Fixes #664.
+         Fixes #665.
+
+2019-08-08 11:54:45 +0900  Shinya Saito <ssaito@igel.co.jp>
+
+       * ext/wayland/gstwaylandsink.c:
+         waylandsink: Fix return type of prototype of show_frame()
+
+2019-08-24 12:18:20 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: Don't use VA_RT_FORMAT_YUV420_10 if it's undefined
+         ../sys/msdk/gstmsdkallocator_libva.c:99:16: error: ‘VA_RT_FORMAT_YUV420_10’
+         The minimum required version seems to VA_API_VERSION >= 1.2.0
+
+2019-08-23 19:56:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/chromaprint/gstchromaprint.c:
+       * ext/directfb/dfbvideosink.c:
+       * ext/fluidsynth/gstfluiddec.c:
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/ladspa/gstladspa.c:
+       * ext/lv2/gstlv2.c:
+       * ext/modplug/gstmodplug.cc:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mplex/gstmplex.cc:
+       * ext/openmpt/gstopenmptdec.c:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/wayland/gstwaylandsink.c:
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/wildmidi/gstwildmididec.c:
+       * gst-libs/gst/webrtc/dtlstransport.c:
+       * gst-libs/gst/webrtc/icetransport.c:
+       * gst-libs/gst/webrtc/rtcsessiondescription.c:
+       * gst-libs/gst/webrtc/rtcsessiondescription.h:
+       * gst-libs/gst/webrtc/rtpreceiver.c:
+       * gst-libs/gst/webrtc/rtpsender.c:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+       * gst/accurip/gstaccurip.c:
+       * gst/festival/gstfestival.c:
+       * gst/pcapparse/gstpcapparse.c:
+         docstrings: port ulinks to markdown links
+
+2019-08-20 12:44:44 +0200  gla <gla@witbe.net>
+
+       * sys/dshowsrcwrapper/gstdshow.cpp:
+         dshowsrcwrapper: fix regression on device selection
+         Do not take device_name if a device has been specified. Do not take device_index into account if a device or a device name has been specified.
+
+2019-08-23 17:08:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * docs/meson.build:
+         meson: Don't generate doc cache when no plugins are enabled
+         Fixes gst-build with -Dauto-features=disabled -Dbad=enabled
+
+2019-08-21 10:46:43 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdkvpputil.c:
+         msdk: vpp: rotate output frame
+         When vpp rotation is 90 or 270, the output frame
+         should be rotated, too.
+         Example:
+         gst-launch-1.0 -vf videotestsrc \
+         ! video/x-raw,width=720,height=480 \
+         ! msdkvpp rotation=90 ! vaapisink
+
+2019-08-22 17:23:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+         vulkandisplay: Also free the GSource
+         NULL checking the main_context does not help as we've just destroyed the
+         GMainContext and set that field to NULL, not to mention it's unnecessary.
+         Fixes a leak of display's GSource.
+
+2019-08-22 17:02:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+         vulkandisplay: free the list of windows on destruction
+         They may not have had an explicit removal from the subclass.
+
+2019-08-22 14:57:02 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkfullscreenrender.c:
+         vulkan/fullscreenrender: free the attachment descriptions
+         Fixes a memory leak of the attachment descriptions we receive from the
+         subclass.
+
+2019-08-22 14:55:40 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+         vulkandisplay: fix use-after-free with removal of window
+         g_list_delete_link() free()'s the list node so any access after that is
+         a use-after-free.
+
+2019-08-22 14:54:30 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+         vulkan/xcb: display->windows is a list of allocated GWeakRef
+         Don't access them as plain GstVulkanWindow objects.
+
+2019-08-22 11:48:11 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkviewconvert.c:
+         vulkanviewconvert: perform a renegotiation on multiview mode/flag property changes
+         Otherwise changing the output* properties have no effect until someone else
+         performs a renegotiation.
+
+2019-08-22 11:47:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/view_convert.frag:
+         shaders/view-convert: remove some debugging colours
+         Fixes left and right output modes.
+
+2019-06-28 15:04:29 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Limit the maximum PES payload size
+         PES packets with size 0 are unbounded, and
+         could therefore overflow the 32-bit size
+         accumulator.
+         Add a 32MB limit, which is larger than
+         any PES packet should ever get. If one does,
+         then output a 32MB chunk and continue.
+
+2019-08-21 23:47:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/gsthlsdemux.c:
+         hlsdemux: Post error message if hlsdemux could not start decryption
+         _decrypt_start() failure will lead to decryption failure eventually
+         but catching it earlier if possible. The decrpytion start failure means
+         that the hls plugin was built without crypto library or crypto library
+         does not want to accept given key and IV.
+
+2019-04-09 20:07:05 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * configure.ac:
+       * ext/hls/gsthlsdemux.c:
+       * ext/hls/gsthlsdemux.h:
+       * ext/hls/meson.build:
+         hls: Make crypto dependency optional when hls-crypto is auto
+         crypto libraries are not required for hlssink and hlssink2.
+         Also, hlsdemux with nonencrypted stream can work without crpyto.
+         Make an error only when users set "hls-crpyto" with non-auto option explicitly,
+         but no crpyto library was found.
+
+2019-08-17 13:58:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Always response QUERY_CONTEXT even if openGL is unavailable on the system
+         nvdec can response for the CUDA context type query regardless of openGL
+         availability.
+
+2019-08-14 11:24:19 +0100  Thomas Coldrick <othko97@gmail.com>
+
+       * ext/wayland/meson.build:
+         ext/wayland: Define libdrm_dep in meson.build
+
+2019-08-16 11:07:44 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+         amc: Print error when failing to register listener
+
+2019-08-16 11:01:05 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/jni/gstamcsurface.c:
+         amc: Do not use g_log() for criticals
+
+2019-05-15 10:16:33 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamcvideodec.c:
+         amc: crop values are not mandatory in format
+         Android documentation has example code how to compute width and height
+         when crop values are present.
+         https://developer.android.com/reference/android/media/MediaCodec#accessing-raw-video-bytebuffers-on-older-devices
+
+2019-04-26 11:03:26 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamcsurfacetexture.c:
+       * sys/androidmedia/gstamcsurfacetexture.h:
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+         amc: Remove unused gst_amc_surface_texture_set_default_buffer_size()
+
+2019-04-25 14:50:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamcsurfacetexture.c:
+       * sys/androidmedia/gstamcsurfacetexture.h:
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+         amc: Fix matrix constness in _get_transform_matrix()
+
+2019-03-26 11:24:58 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc-codec.h:
+       * sys/androidmedia/gstamcaudiodec.c:
+       * sys/androidmedia/gstamcvideodec.c:
+       * sys/androidmedia/gstamcvideoenc.c:
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+         amc: Select between encoder/decoder at GstAmcCodec construct time
+         Magical 0/1 values where passed to gst_amc_codec_configure() flags
+         argument. It's more natural to have a boolean is gst_amc_codec_new().
+
+2018-11-13 13:16:34 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc-format.h:
+       * sys/androidmedia/gstamcaudiodec.c:
+       * sys/androidmedia/jni/gstamc-format-jni.c:
+         amc: Remove gst_amc_format_contains_key()
+         It is not needed, we can just try to get the key and ignore error.
+         NdkMediaFormat doesn't have that method.
+
+2018-11-12 14:02:37 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gst-android-hardware-camera.c:
+       * sys/androidmedia/gst-android-hardware-camera.h:
+       * sys/androidmedia/gstahcsrc.c:
+       * sys/androidmedia/gstahcsrc.h:
+       * sys/androidmedia/gstamc-codec.h:
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/gstamcsurfacetexture.c:
+       * sys/androidmedia/gstamcsurfacetexture.h:
+       * sys/androidmedia/gstamcvideodec.c:
+       * sys/androidmedia/gstamcvideodec.h:
+       * sys/androidmedia/gstjniutils.h:
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+       * sys/androidmedia/jni/gstamcsurface.c:
+       * sys/androidmedia/jni/gstamcsurface.h:
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+       * sys/androidmedia/jni/gstamcsurfacetexture-jni.h:
+       * sys/androidmedia/meson.build:
+         amc: Turn GstAmcSurfaceTexture into a base class with JNI implementation
+
+2018-11-11 08:51:04 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc-codeclist.h:
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/gstamc.h:
+       * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+       * sys/androidmedia/meson.build:
+         amc: Create JNI wrapper for MediaCodecList
+         There is no NdkMediaCodecList API yet, but it is still better to isolate
+         JNI code. This will facilitate porting to a native API if Google ever
+         release one.
+
+2018-11-10 16:51:02 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamc-codec.h:
+       * sys/androidmedia/gstamc-format.h:
+       * sys/androidmedia/gstamc.c:
+       * sys/androidmedia/gstamc.h:
+       * sys/androidmedia/gstjniutils.c:
+       * sys/androidmedia/gstjniutils.h:
+       * sys/androidmedia/jni/gstamc-codec-jni.c:
+       * sys/androidmedia/jni/gstamc-format-jni.c:
+       * sys/androidmedia/jni/gstamc-internal-jni.h:
+       * sys/androidmedia/meson.build:
+         amc: Move MediaCodec JNI wrapper into its own module
+         This will facilitate adding another implementation based on
+         NdkMediaCodec instead of JNI.
+
+2019-08-20 14:21:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctp: Fix crash on free() when using the MSVC binaries
+         On Windows, if libusrsctp and gstreamer are built with different
+         C runtimes (CRT), we cannot free memory allocated inside libusrsctp
+         with the `free()` function from gstreamer's CRT.
+         `usrsctp_freedumpbuffer()` simply calls `free()`, but because of the
+         way DLLs work on Windows, it will always call the free function from
+         the correct CRT.
+
+2019-08-14 22:08:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: don't critical on VUI parameters > 2^31
+         A guint32 greater than 2^31 would be interpreted as negative by
+         gst_util_uint64_scale_int() and critical. Use the 64-bit integer version
+         of the function instead.
+
+2019-08-13 10:07:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fix possible null object unref
+         gst_query_get_n_allocation_pools > 0 does not guarantee that
+         the N th internal array has GstBufferPool object. So users should
+         check the returned GstBufferPool object from
+         gst_query_parse_nth_allocation_pool.
+
+2019-08-19 13:22:20 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Use default flag for CUDA stream creation
+         Since nvdec/nvenc engine is running on default stream,
+         non-default CUDA stream should be synchronized with default
+         stream eventually.
+
+2019-08-15 10:58:01 +0800  Wangfei <fei.w.wang@intel.com>
+
+       * gst-libs/gst/codecparsers/nalutils.c:
+       * gst-libs/gst/codecparsers/nalutils.h:
+         h26[45]parser: Fix emulation prevention byte detection
+         Add a separate epb_cache variable to the codecparser NalReader to
+         detect Emulation Prevention Bytes separately from the main bit cache.
+         This fixes problems where the existing logic can mistakenly detect
+         multiple EPB with a sequence like: 0x00 0x00 0x03 0x00 0x03. In that
+         case, the 5th byte should not be regarded as an EPB.
+
+2019-08-18 22:51:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+         nvenc: Use non default CUDA stream and async operation
+         Use CUDA async operation if possible with non default CUDA stream
+
+2019-08-18 22:07:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/stub/cuda.h:
+         nvdec: Don't use default CUDA stream
+         Async CUDA operation with default stream (NULL CUstream) is not much
+         beneficial than blocking operation since all CUDA operations which belong
+         to the CUDA context will be synchronized with the default stream's operation.
+         Note that CUDA stream will share all resources of the corresponding CUDA context
+         but which can help parallel operation similar to the relation between thread and process
+
+2019-08-18 22:14:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Push/Pop CUDA context around library API call
+
+2019-08-18 15:45:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fix timestamp mismatch on draining frames
+         The internal decoding state must be GST_NVDEC_STATE_PARSE before
+         calling CuvidParseVideoData(). Otherwise, nvdec will be confused
+         on decode callback as if the frame is decoding only frame and
+         the input timestamp of corresponding frame will be ignored.
+         Eventually one decoded frame will have non-increased PTS.
+
+2019-08-08 16:54:32 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: do not error if buffer size is invalid due to DISCONT
+         Don't signal a pipeline error when processing incomplete
+         j2pk PES packets that are too small. That can happen normally
+         during a DISCONT and shouldn't shut down the whole pipeline
+
+2019-08-16 15:22:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/iqa/iqa.c:
+         iqa: fix leak of map_meta.data
+
+2019-08-16 19:32:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Do not access nvdec object from destroy function of qdata
+         The destroy callback can be called just before the fìnalization of
+         GstMiniObject. So the nvdec object might be destroyed already.
+         Instead, store the GstCudaContext with increased ref to safely
+         unregister the CUDA resource.
+
+2019-08-15 17:49:12 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3dvideosink/d3dhelpers.c:
+         d3dvideosink: Fix crash on WinProc handler
+         ... caused by null pointer dereference. The d3dvideosink object might
+         not available yet on the handler.
+
+2019-08-15 16:31:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/meson.build:
+         meson: d3d11: Remove unnecessary dependency
+         d3d11 never use any API of gstreamer-allocators-1.0
+
+2019-08-15 16:20:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/d3d11/gstd3d11videosink.c:
+       * sys/d3d11/gstd3d11videosink.h:
+       * sys/d3d11/gstd3d11window.c:
+       * sys/d3d11/gstd3d11window.h:
+         d3d11videosink: Take into account pixel aspect ratio
+         Fix unexpected cropping with non 1:1 pixel aspect-ratio.
+         The actual buffer width/height should be passed to gst_d3d11_window_render(),
+         instead of the calculated resolution. The width/height
+         values are parameters for copying d3d11 video memory.
+         Also, aspect-ratio should be considered on resize callback
+         to decide render rectangle size.
+
+2019-08-14 10:13:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+       * ext/closedcaption/gstcccombiner.h:
+         cccombiner: Make use of new GstAggregator::negotiate()
+         Simplifies the caps handling code considerably here and removes some
+         spurious negotiation.
+
+2019-08-14 11:21:30 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/androidmedia/gstamcvideodec.c:
+         amc: Fix crash when a sync_meta survives its sink
+         _amc_gl_free() could be called after the GstAmcVideoDec has been
+         finalized, in the case downstream still has a ref to a buffer.
+
+2019-08-09 02:41:51 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * ext/soundtouch/gstpitch.cc:
+         pitch: Fix race between putSamples() and setting soundtouch parameters
+         The various soundtouch set*() functions may cause buffer (re)allocations
+         which interferes with inputting the audio data.
+
+2019-08-09 14:49:24 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+       * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+         vulkan/ios: keep track of surface changes
+
+2019-08-06 12:38:41 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+         vulkan/ios: initialize the frame to the parent's
+
+2019-08-13 23:24:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+         atscmux: fix AC-3 stream id
+         According to ATSC A/52, Annex A, section 4.2:
+         The value of stream_id in the PES header shall be 0xBD
+         (indicating private_stream_1)
+
+2019-08-13 17:50:33 +0300  OleksandrKvl <oleksandrdvl@gmail.com>
+
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/pcapparse/gstpcapparse.h:
+         pcapparse: fix DISCONT flag setting
+         DISCONT flag should be set only for first packet.
+         Fixes #1047.
+
+2019-08-13 12:10:54 +0200  David Gunzinger <david.gunzinger@smoca.ch>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: fix type of max-retransmits, make it work
+
+2019-08-12 20:26:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/mxf/mxfvc3.c:
+         mxfdemux: Also allow picture essence element type 0x05 for VC-3
+         It's found like this in various files out there even if it does not
+         conform to SMPTE 2019-4.
+
+2019-08-06 17:42:15 +0200  Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+       * sys/wasapi/gstwasapiutil.c:
+       * sys/wasapi/gstwasapiutil.h:
+         wasapi: fix symbol redefinition build error
+
+2019-07-31 11:49:55 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Fix documentation
+
+2019-07-30 12:54:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Document stats-internal unit
+
+2019-07-26 16:17:59 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Only accept RTCP APP packets with subtype==0
+
+2019-07-09 16:50:43 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Fix typo in the documentation
+
+2019-07-09 16:50:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Use the right parameters the signal
+
+2019-08-09 12:52:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+       * ext/x265/gstx265enc.h:
+         x265enc: Enhance profile setting with fixing infinite loop condition
+         Don't fixate profile caps which will choose the first profile from list.
+         Instead, store all profiles allowed by peer and try them until x265 can
+         accept one of them.
+
+2019-08-09 12:03:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: Fix deadlock on profile setting failure
+         Don't miss unlock before returning
+
+2019-08-09 11:39:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Add support YV12 format
+         YV12 format is supported by Nvidia NVENC without manual conversion.
+         So nvenc is exposing YV12 format at sinkpad template but there is some
+         missing point around uploading the memory to GPU.
+
+2019-08-08 18:47:05 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rtp/gstrtpsrc.c:
+         rtp: do not overrule RtpInfo when non dynamic type
+         When looking up the Rtp information, do not overwrite information
+         already found with encoding-name by static information.
+
+2019-08-08 20:06:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+         nvh265enc: Enable HDR related SEI nal insertion
+         If upstream provides the HDR related information, create SEI message
+         nals and pass them to NVENC.
+
+2019-08-08 20:01:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Fix mastering display info parsing
+         Fix mismatched Red Y coordinate value.
+
+2019-08-08 04:54:38 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: fix decoding issue for interlaced streams
+         Currently h264parser produces a field or a frame for
+         alignment=au for interlaced streams, but the flag
+         MFX_BITSTREAM_COMPLETE_FRAME needs a complete frame
+         or complementary field pair of data, this results in
+         broken images being output.
+         Some patches have been sent out to fix h264parser,
+         but they are pending on some unfinished work. In
+         order to make gstreamer-msdk decoding work properly
+         for interlaced streams before h264parser is fixed,
+         this flag will be removed temporarily and will be
+         added back once h264parser if fixed.
+         Related to:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/399
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/228
+
+2019-08-06 21:54:49 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvh265enc: Add support YUV 444 10bits encoding
+         Note that h264 encoder does not support the YUV 444 10bits format
+
+2019-08-06 21:55:36 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Remove unnecessary constraint from YUV420 10bits capability decision
+         YUV444 capability shouldn't be applied to YUV420 10 bits format
+
+2019-08-07 12:58:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklinkvideosrc: Retrieve mode of the ancillary data from the frame
+         Instead of using the information we stored ourselves for the video frame
+         itself. Which was also the wrong one: it was the mode from the property,
+         not the autodetected one.
+         This fixes vanc extraction with mode=auto
+
+2019-08-07 12:58:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkvideosrc: Also set the INTERLACED buffer flag on non-TFF buffers
+
+2019-07-22 12:52:53 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: no need to cache output state info
+
+2019-08-07 11:49:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Fix broken RGB format support
+         Add missing format check introduced by the commit 7de4dbdeb27561c00be94f8666b39dc661c59f7b
+
+2019-01-29 21:57:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: always take the seek segment stop into account
+         Even if an accurate seek was not requested, we should still
+         respect the seek stop.
+
+2018-09-20 01:05:52 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Use gst_segment_do_seek()
+         Remove some custom and incomplete seek calculation
+         logic in favour of gst_segment_do_seek(), and
+         short-circuit any actual seeking or recalculation
+         if the position didn't change and just send an updated
+         segment directly.
+         This removes the custom seeking logic in favour of
+         using standard core seek handling.
+
+2018-09-20 01:07:34 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: Keep the position increasing.
+         Don't keep the segment position jumping back and forth
+         based on stream DTS/PTS, only increase the position
+         if the new value is larger than the old.
+
+2018-08-31 22:43:46 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         mpegts: Re-work segment tracking
+         Add an output segment into the base class for sub-classes
+         to use for their output segment, in a place where the base
+         class can see it.
+
+2019-08-06 13:50:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Wrap CUDA API return check with gst_cuda_result
+         The gst_cuda_result macro function is more helpful for debugging
+         than previous cuda_OK because gst_cuda_result prints the function
+         and line number. If the CUDA API return was not CUDA_SUCCESS,
+         gst_cuda_result will print WARNING level debug message with
+         error name, error text strings.
+
+2019-08-06 13:44:20 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Port to GstCUDAContext
+         ... and drop CUvideoctxlock usage. The CUvideoctxlock basically
+         has the identical role of cuda context push/pop but nvdec specific
+         way. Since we can share the CUDA context among encoders and decoders,
+         use CUDA context directly for accessing GPU API.
+
+2019-07-25 19:33:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+         nvenc: Port to GstCudaContext
+         ... and add support CUDA context sharing similar to glcontext sharing.
+         Multiple CUDA context per GPU is not the best practice. The context
+         sharing method is very similar to that of glcontext. The difference
+         is that there can be multiple context object on a pipeline since
+         the CUDA context is created per GPU id. For example, a pipeline
+         has nvh264dec (uses GPU #0) and nvh264device0dec (uses GPU #1),
+         then two CUDA context will propagated to all pipeline.
+
+2018-11-23 22:01:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/Makefile.am:
+       * sys/nvcodec/gstcudacontext.c:
+       * sys/nvcodec/gstcudacontext.h:
+       * sys/nvcodec/gstcudautils.c:
+       * sys/nvcodec/gstcudautils.h:
+       * sys/nvcodec/meson.build:
+         nvcodec: Introduce NVIDA CUDA helpers
+         New object and helper functions can remove duplicated code
+         from nvenc/nvdec. Also this is prework for CUDA device context sharing
+         among nvdec(s)/nvenc(s).
+
+2019-07-26 03:27:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/onvif/gstrtponvifparse.c:
+       * gst/onvif/gstrtponviftimestamp.c:
+       * gst/onvif/gstrtponviftimestamp.h:
+         rtponviftimestamp: add opt-out "drop-out-of-segment" property
+         The default behaviour of rtponviftimestamp is to drop buffers
+         outside the segment. This creates obvious problems for reverse
+         playback.
+         The ONVIF specification unfortunately doesn't describe how to handle
+         that specific use case, but we can expose a property to let the
+         user disable the dropping behaviour, and forward these buffers with
+         a G_MAXUINT64 ONVIF timestamp.
+         Also modify rtponvifparse to handle such timestamps appropriately.
+
+2019-07-26 03:26:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/onvif/gstrtponvifparse.c:
+         rtponvifparse: parse E flag and send EOS when needed
+
+2019-06-21 20:47:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+       * ext/x265/gstx265enc.h:
+         x265enc: Add support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles
+         ... with multi-library interface support. Depending on bit depth support of
+         the linked library, run-time api switch can be made via multi-library interface.
+         See more detail about libx265 multi-library interface
+         https://x265.readthedocs.io/en/default/api.html#multi-library-interface
+
+2019-08-06 21:44:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkaudiosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkaudiosrc/decklinkvideosrc: Do nothing in BaseSrc::negotiate() and always set caps in ::create()
+         We don't support negotiation with downstream but simply set caps based
+         on the buffers we receive. This prevents renegotiation to other formats,
+         and negotiation to NTSC in mode=auto in the beginning until the first
+         buffer is received.
+         As side-effect of this, also remove various other caps handling code
+         that was working around the behaviour of the default
+         BaseSrc::negotiate().
+
+2019-08-06 18:55:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/debugutils/gsterrorignore.c:
+         errorignore: Try pushing again after a caps event too
+         It might have reconfigured everything correctly so that pushing buffers
+         works again afterwards, e.g. if the previous caps event was just
+         rejected.
+
+2019-08-06 18:51:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Require a non-0/1 framerate on the pad templates
+         We reject caps with other framerates as it's impossible to generate
+         timecodes unless we actually know a constant framerate. Reflect this
+         also in the pad template caps.
+
+2019-08-06 16:38:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Improve debug output a bit
+
+2019-07-29 13:52:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Return profile compatible input formats from GstVideoEncoder::getcaps
+         Do not accept any input formats which could not be supported
+         by downstream requested codec profiles.
+
+2019-07-27 00:52:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Fix caps negotiation failure on unspecified interlace-mode
+         During GstVideoInfo conversion from GstCaps, interlace-mode is
+         inferred to progressive so unspecified interlace-mode should not cause any
+         negotiation issue. Simly set GST_PAD_FLAG_ACCEPT_INTERSECT flag
+         on sinkpad to fix issue.
+
+2019-07-27 00:57:02 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+         nvenc: Remove unused member variables
+         Supported interlace-mode and codec profiles are checked
+         during plugin init and those values are never used.
+
+2019-07-27 00:41:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/nvenc.c:
+         tests: nvenc: Add test caps negotiation with interlace-mode field
+
+2019-08-05 19:45:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/webrtctransceiver.c:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * tests/check/elements/webrtcbin.c:
+       * tests/examples/webrtc/webrtcrenego.c:
+         rtptransceiver: Remove direction setter and vfunc and replace it by a property
+         It was changed from a function to a property in the latest WebRTC spec.
+
+2019-07-25 22:55:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdkdec: Update frame info from video parameters
+         A 10bit stream may have different depth values for Luma and Chroma, and
+         MSDK requires the frame info must match the corresponding video
+         parameters
+
+2019-08-02 16:31:59 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+         vulkan: Fix GstMemory leaks
+         Allocated GstMemory should be freed with g_free()
+
+2019-08-03 11:31:21 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix issue that caps "interlace-mode" can't be updated correctly
+         Upstream overrides the info "interlace-mode", otherwise update it with
+         SPS info.
+
+2019-07-30 23:49:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Respect upstream provided timestamp
+         Decoder sometimes reports nonincreasing timestamp.
+         Use input frame's timestamp like other decoder elements.
+
+2019-07-30 13:15:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Add support RGB 8/10bits formats
+         BGRA/RGBA/RGB10A2/BGR10A2 formats can be supported by nvenc.
+         Depending on device, supported format can be different.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1038
+
+2019-07-31 00:02:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Use upstream framerate if possible
+         Encoded bitstream might not have valid framerate. If upstream
+         provided non-variable-framerate (i.e., fps_n > 0 and fps_d > 0)
+         use upstream framerate instead of parsed one.
+
+2019-07-30 23:54:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Fix crash with unspecified framerate
+         Nvidia driver seems to calculating floating point framerate
+         without validation. This causes crash both on linux and Windows.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1012
+
+2019-08-03 05:28:33 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Parse mpeg audio layer version and add to caps.
+
+2019-08-03 05:21:29 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Finish setting up stream before adding pad.
+
+2019-07-26 07:45:46 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: no need to cache allocation_caps
+
+2019-08-05 11:31:48 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/meson.build:
+         vulkan: add a couple of headers to the install list
+
+2019-07-31 18:03:19 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpeg4videoparse.h:
+         mpeg4videoparse: allow sending config at IDR
+         Based on h264parse, also allow to send the config at every IDR.
+
+2019-07-31 12:12:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * configure.ac:
+       * sys/nvcodec/Makefile.am:
+         configure: Update for nvcodec dependency change
+         nvcodec is compilable without external dependency
+
+2019-07-31 12:11:05 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fix build warning error
+         gstnvdec.c:1222:3: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
+         memset (&type_info, 0, sizeof (type_info));
+         ^~~~~~
+
+2019-07-30 21:18:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+         basetsmux: expose pcr-interval property
+         Instead of using a static hardcoded PCR interval, allow the user
+         to configure it.
+         Also revert back the default to a 40 ms interval, that was changed
+         in recent patches for no good reason.
+
+2019-07-31 18:02:02 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * tests/check/elements/x265enc.c:
+         tests: x265enc: Add tiny resolution encoding check
+         Add the tiny picture encoding test case allowed in x265
+
+2019-07-01 18:14:55 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+       * tests/check/elements/x265enc.c:
+         x265enc: Specify max CU size depending on input resolution
+         x265 does not allow user to configure a picture size smaller than
+         at least one CU size, and maxCUSize must be 16, 32, or 64.
+         Therefore, the CU size must be set according to the input resolution,
+         and the input resolution can not be less than 16.
+
+2019-07-23 13:06:55 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+         avtp: CVF - fix error message
+         The error is about *not* being able to map a buffer.
+
+2019-07-08 14:19:07 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+       * tests/check/elements/avtpcvfpay.c:
+         avtp: CVF - Do not infinite loop trying to fragment zero sized NAL unit
+         Zero sized NAL-units should not happen, but if they do, do not infinite
+         loop. Added also a unit test for this case.
+
+2019-07-31 00:38:44 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Skip unused SEI bits differently
+         3-byte emulation bytes can confuse the current code that skips
+         bits at the end of an SEI. Use a simpler method that's also
+         quicker because it skips all remaining bits in one go instead
+         of 1 bit at a time.
+
+2019-07-20 22:38:46 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Add support for compatible profiles of extensions
+         From decoder's capability point of view as defined by the h265 specification,
+         accept peer profile caps.
+
+2019-07-30 19:07:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvenc.c:
+         nvenc: Fix build error with x86 msvc
+         __stdcall is accepted or ignored by the compiler on x64 but x86
+         is not the case. So the function definition should be consistent
+         with declaration.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1039
+
+2019-07-30 17:49:25 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+         nvenc: Fix deadlock when pad_push return was not GST_FLOW_OK
+         Encoding thread is terminated without any notification so
+         upstream streaming thread is locked because there is nothing
+         to pop from GAsyncQueue. If downstream returns error,
+         we need put SHUTDOWN_COOKIE to GAsyncQueue for chain function
+         can wakeup.
+
+2019-07-30 11:06:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/stub/cuda.h:
+         nvcodec: Fix broken ABI in cuda stub header to fix nvenc with opengl
+         Fix the broken ABI introduced by the commit 367e742e5dd53400d212ce07d0ac0745f3535ac3
+         From CUDA Toolkit 3.2, size_t has been used in CUDA_MEMCPY2D structure
+         instead of unsigned int.
+
+2019-06-12 15:00:38 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcsdp.c:
+         webrtcbin: Support data channel SDP offers from Chrome
+         When negotiating a data channel, Chrome as recent as 75 still uses SDP
+         based on version 05 of the SCTP SDP draft, for example:
+         m=application 9 DTLS/SCTP 5000
+         a=sctpmap:5000 webrtc-datachannel 1024
+         Implement support for parsing SCTP port out of SDP message with sctpmap
+         attribute. Fixes data channel negotiation with Chrome browser.
+
+2019-07-28 19:08:24 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegdec.h:
+         openjpegdec: enable multi-threaded decode
+
+2019-07-28 19:07:04 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/openjpeg/gstopenjpegdec.c:
+         openjpegdec: check return value when setting up decoder
+
+2019-07-02 12:27:40 +0100  Charlie Turner <cturner@igalia.com>
+
+       * ext/hls/gsthlsdemux.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+         adaptivedemux: remove some deadlocks using webkitwebsrc.
+         WebKit's websrc depends on the main-thread for download completion
+         rendezvous. This exposed a number of deadlocks in adaptivedemux due to
+         it holding the MANIFEST_LOCK during network requests, and also needing
+         to hold it to change_state and resolve queries, which frequently occur
+         during these download windows.
+         Make demux->running MT-safe so that it can be accessed without using the
+         MANIFEST_LOCK. In case a source is downloading and requires a MT-thread
+         notification for completion of the fragment download, a state change
+         during this download window will deadlock unless we cancel the downloads
+         and ensure they are not restarted before we finish the state-change.
+         Also make demux->priv->have_manifest MT-safe. A duration query happening
+         in the window described above can deadlock for the same reason. Other
+         src queries (like SEEKING) that happen in this window also could
+         deadlock, but I haven't hit this scenario.
+         Increase granularity of API_LOCK'ing in change_state as well. We need to
+         cancel downloads before trying to take this lock, since sink events
+         (EOS) will hold it before starting a fragment download.
+
+2019-07-29 14:56:16 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtcbin: fix GInetAddress leak
+
+2019-07-28 14:19:36 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * configure.ac:
+       * ext/openjpeg/gstopenjpeg.h:
+       * ext/openjpeg/gstopenjpegdec.c:
+       * ext/openjpeg/gstopenjpegenc.c:
+       * ext/openjpeg/meson.build:
+         openjpeg: remove support for OpenJPEG 1.5
+         Also require OpenJPEG version >= 2.2
+
+2019-07-23 22:26:19 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: enable row-mt property conditionally
+         The row based multi threading control was introduced after 1.0.0 version
+         of libaom released. It adds a guard to check the relevant control
+         definition declared. It fixes #1025
+
+2019-07-24 12:44:21 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/meson.build:
+         msdk: enable 32 bit build on windows
+
+2019-07-26 06:35:53 +0000  Sebastian Dröge <slomo@coaxion.net>
+
+       * ext/dtls/gstdtlsdec.c:
+         Revert "dtls: fix generated cert dtls agent leak"
+         This reverts commit e5585b1bde162bc038fd1265438edbcd94ccb5ed
+
+2019-07-19 22:46:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/Makefile.am:
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/plugin.c:
+       * sys/nvcodec/stub/cuda.h:
+         nvdec: Make OpenGL dependency optional
+         By adding system memory support for nvdec, both en/decoder
+         in the nvcodec plugin are able to be usable regardless of
+         OpenGL dependency. Besides, the direct use of system memory
+         might have less overhead than OpenGL memory depending on use cases.
+         (e.g., transcoding using S/W encoder)
+
+2019-07-25 18:27:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+         timecodestamper: Validate LTC timestamps before trying to use them
+         There's no point in working with invalid LTC timestamps as all future
+         calculations will be wrong based on this, and invalid LTC timestamps can
+         sometimes be read via the audio input.
+
+2019-07-25 20:03:02 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
+
+       * ext/dtls/gstdtlsdec.c:
+         dtls: fix generated cert dtls agent leak
+         The generated certificate dtls agent was refed two times on the first call.
+
+2019-07-25 10:00:14 +0000  Ilya Smelykh <ilya.smelykh@gmail.com>
+
+       * ext/dtls/gstdtlsconnection.c:
+         dtls: fix dtls connection object leak
+
+2019-07-22 19:10:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Make sure to return a value from all code paths
+         False warning from MSVC, or it does not understand that
+         g_assert_not_reached() does not return.
+         ...\gst-plugins-bad-1.0-1.17.0.1\sys\decklink\gstdecklink.cpp(1647) : warning C4715: 'gst_decklink_configure_duplex_mode': not all control paths return a value
+
+2019-07-22 17:57:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklinksrc: Reset timestamp observations on format change
+         We will usually get timestamps starting from 0 again and due to the
+         format change the clock of the input might also be different.
+
+2019-07-25 16:45:21 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/plugin.c:
+         nvcodec: Clean up pointless return values around plugin init
+         Any plugin which returned FALSE from plugin_init will be blacklisted
+         so the plugin will be unusable even if an user install required runtime
+         dependency next time. So that's the reason why nvcodec returns TRUE always.
+         This commit is to remove possible misreading code.
+
+2019-07-24 13:06:16 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstnvenc.c:
+         nvcodec: Change log level for g_module_open failure
+         Since we build nvcodec plugin without external CUDA dependency,
+         CUDA and en/decoder library loading failure can be natural behavior.
+         Emit error only when the module was opend but required symbols are missing.
+
+2019-07-24 10:00:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Add support for 10bits 4:2:0 decoding
+         This commit includes h265 main-10 profile support if the device can
+         decode it.
+         Note that since h264 10bits decoding is not supported by nvidia GPU for now,
+         the additional code path for h264 high-10 profile is a preparation for
+         the future Nvidia's enhancement.
+
+2019-07-24 18:06:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Specify supported profiles of h264/h265 codec
+         See more details about supported formats at
+         nvidia codec sdk document "NVDEC_VideoDecoder_API_ProgGuide.pdf"
+         Table 1. Hardware Video Decoder Capabilities.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/926
+
+2019-07-24 20:38:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Skip draining before creating internal parser
+         GstVideoDecoder::drain/flush can be called at very initial state
+         with stream-start and flush-stop event, respectively.
+         Draning with NULL CUvideoparser seems to unsafe and that eventually
+         failed to handle it.
+
+2019-07-24 14:37:40 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/dash/meson.build:
+         dash: Fallback to libxml2 subproject
+
+2019-07-23 13:47:44 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: improve spelling and grammar of comments
+
+2019-07-23 13:16:36 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkbufferpool.c:
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+       * sys/msdk/msdk.c:
+       * sys/msdk/msdk.h:
+         msdkdec: make sure mfx frame width/height meets MSDK's requirement
+         It is possible that the output region size (e.g. 192x144) is different
+         from the coded picture size (e.g. 192x256). We may adjust the alignment
+         parameters so that the padding is respected in GstVideoInfo and use
+         GstVideoInfo to calculate mfx frame width and height
+         This fixes the error below when decoding a stream which has different
+         output region size and coded picture size
+         0:00:00.057726900 28634 0x55df6c3220a0 ERROR                msdkdec
+         gstmsdkdec.c:1065:gst_msdkdec_handle_frame:<msdkh265dec0>
+         DecodeFrameAsync failed (failed to allocate memory)
+         Sample pipeline:
+         gst-launch-1.0 filesrc location=output.h265 ! h265parse ! msdkh265dec !
+         glimagesink
+
+2019-07-23 13:28:17 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+         msdkdec: remove unneeded code
+         Before calling gst_msdkdec_create_buffer_pool, the alignment parameters
+         have been adjusted.
+
+2019-07-23 09:40:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/stub/cuda.h:
+       * tests/check/meson.build:
+         nvcodec: Drop system installed cuda.h dependency
+         ... and add our stub cuda header.
+         Newly introduced stub cuda.h file is defining minimal types in order to
+         build nvcodec plugin without system installed CUDA toolkit dependency.
+         This will make cross-compile possible.
+
+2019-07-23 10:24:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.c:
+         nvcodec: Keep requested rank for default device
+         Fix for default encoder and decoder element factory to make them have
+         higher rank than the others.
+
+2019-07-09 13:31:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvenc: Register elements per GPU device with capability check
+         * By this commit, if there are more than one device,
+         nvenc element factory will be created per
+         device like nvh264device{device-id}enc and nvh265device{device-id}enc
+         in addition to nvh264enc and nvh265enc, so that the element factory
+         can expose the exact capability of the device for the codec.
+         * Each element factory will have fixed cuda-device-id
+         which is determined during plugin initialization
+         depending on the capability of corresponding device.
+         (e.g., when only the second device can encode h265 among two GPU,
+         then nvh265enc will choose "1" (zero-based numbering)
+         as it's target cuda-device-id. As we have element factory
+         per GPU device, "cuda-device-id" property is changed to read-only.
+         * nvh265enc gains ability to encoding
+         4:4:4 8bits, 4:2:0 10 bits formats and up to 8K resolution
+         depending on device capability.
+         Additionally, I420 GLMemory input is supported by nvenc.
+
+2019-07-21 21:23:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Create CUDA context with registered device id
+         Only the default device has been used by NVDEC so far.
+         This commit make it possible to use registered device id.
+         To simplify device id selection, GstNvDecCudaContext usage is removed.
+
+2019-07-11 21:53:46 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/plugin.c:
+         nvdec: Register elements per device/codec with capability check
+         By this commit, each codec has its own element factory so the
+         nvdec element factory is removed. Also, if there are more than one device,
+         additional nvdec element factory will be created per
+         device like nvh264device{device-id}dec, so that the element factory
+         can expose the exact capability of the device for the codec.
+
+2019-07-18 18:27:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: Do not expose DMA buffer caps feature on Windows
+         On Windows, DMA buffer is not supported. PadTemplate with actually
+         supported feature seems to more make sense.
+
+2019-07-22 23:01:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/meson.build:
+         nvcodec: Drop cudaGL.h dependency
+         nvcodec does not use any type/define/enum in cudaGL.h.
+
+2019-07-22 12:23:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: Also set AV1E_SET_ROW_MT from the property value when initializing the encoder
+         Previously it was only set if the property was changed after the encoder
+         was initialized.
+
+2018-12-02 22:49:19 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/aom/gstav1enc.h:
+         av1enc: Add threads and row-mt properties
+         Add threads related property that setting a number of threads to encode
+         av1 codec and row-mt configuration.
+
+2018-12-02 21:45:50 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+         av1enc: Release lock when failing to initialize
+         Add to missing unlock when failing to initialize encoder.
+
+2019-07-22 11:23:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/aom/gstav1enc.h:
+         Revert "av1enc: Release lock when failing to initialize"
+         This reverts commit 7de6b5d48161cb4982efe7fd04c8be408ca85424.
+         It was accidentally squashed together from the MR instead of keeping the
+         individual commits.
+
+2019-07-22 08:00:00 +0000  Fabrice Bellet <fabrice@bellet.info>
+
+       * gst/siren/huffman.c:
+         siren: fix a global buffer overflow spotted by asan
+         This patch just enforces boudaries for the access to the
+         standard_deviation array (64 floats). Such case can be
+         seen with a corrupted stream, where there's no hope to
+         obtain a valid decoded frame anyway.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1002
+
+2019-07-22 06:59:48 +0000  Wonchul Lee <chul0812@gmail.com>
+
+       * ext/aom/gstav1enc.c:
+       * ext/aom/gstav1enc.h:
+         av1enc: Release lock when failing to initialize
+         Add to missing unlock when failing to initialize encoder.
+
+2019-07-19 01:07:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Fix video stuttering issue with VP9
+         Address nvidia driver specific behavior to avoid unexpected frame mismatch
+         between GStreamer and NVDEC.
+
+2019-07-19 00:52:59 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+         nvdec: Drop async queue and handle data on callback of CUvideoparser
+         Callbacks of CUvideoparser is called on the streaming thread.
+         So the use of async queue has no benefit.
+         Make control flow straightforward instead of long while/switch loop.
+
+2019-07-12 20:24:10 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/onvif/gstrtponviftimestamp.c:
+         rtponviftimestamp: fix setting of the discontinuity flag
+         The D bit is meant to be set whenever there is a discontinuity
+         in transmission, and directly maps to the DISCONT flag.
+         The E bit is not meant to be set on every buffer preceding a
+         discontinuity, but only on the last buffer of a contiguous section
+         of recording. This has to be signaled through the unfortunately-named
+         "discont" field of the custom NtpOffset event.
+
+2019-07-12 20:23:24 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/onvif/gstrtponvifparse.c:
+         rtponvifparse: set ONVIF timestamps as buffer PTS
+
+2019-07-10 23:40:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h26{4,5}parse: add support for forward predicted trick mode
+         Also stop assigning TRUE to fields with |=
+
+2019-07-17 22:42:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: Specify colorimetry related VUI parameters
+         Set the colorimetry config for the information to be embedded in encodec bitstream.
+
+2019-07-15 23:40:21 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Port to color_{primaries,transfer,matrix}_to_iso
+         ... and update the color information only when upstream was not provided
+         the information.
+
+2019-07-17 09:35:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh265enc.c:
+         nvenc: Specify colorimetry related VUI parameters
+         Set the colorimetry config for the information to be embedded in encodec bitstream.
+
+2019-07-16 23:30:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+       * ext/webrtc/webrtcdatachannel.h:
+         webrtcdatachannel: inherit directly from GObject
+         There's no reason for it to inherit from GstObject apart from
+         locking, which is easily replaced, and inheriting from
+         GInitiallyUnowned made introspection awkward and needlessly
+         complicated.
+
+2019-07-17 00:13:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Update caps per pixel aspect ratio change
+         Output caps should be updated per pixel aspect ratio change.
+
+2019-07-16 22:58:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: Expose parsed colorimetry when VUI provided it
+         ... and also if upstream did not specify the colorimetry.
+
+2019-07-16 09:40:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: Expose parsed colorimetry when VUI provided it
+         ... and also if upstream did not specify the colorimetry.
+
+2019-07-17 01:05:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/kms/gstkmssink.c:
+         kmssink: Fix implicit declaration build error
+         ffs() and strcmp() require string.h
+         gstkmssink.c:255:28: error: implicit declaration of function ‘ffs’ [-Werror=implicit-function-declaration]
+         crtc_id = res->crtcs[ffs (crtcs_for_connector) - 1];
+         ^~~
+         gstkmssink.c:590:10: error: implicit declaration of function ‘strcmp’ [-Werror=implicit-function-declaration]
+         if (!strcmp (property->name, prop_name)) {
+         ^~~~~~
+
+2019-07-15 16:05:05 +0200  Martin Liska <mliska@suse.cz>
+
+       * configure.ac:
+         Fix -Werror=return-type error in configure.
+
+2019-07-15 15:48:08 -0400  Martin Theriault <mtheriault@espial.com>
+
+       * gst/aiff/aiffparse.c:
+         aiff: Fix infinite loop in header parsing.
+
+2019-07-15 12:06:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklinkvideosrc: Don't report that we have signal until we know for sure
+         Previously we would've reported that there is signal unless we know for
+         sure that we don't have signal. For example signal would've been
+         reported before the device is even opened.
+         Now keep track whether the signal state is unknown or not and report no
+         signal if we don't know yet. As before, only send an INFO message about
+         signal recovery if we actually had a signal loss before.
+
+2019-07-12 12:53:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: In running-time mode, select start/end running time based on the actual video timestamps
+         Otherwise we would start/end at exactly the given times, which might be
+         up to 1 frame earlier/later than the video.
+
+2019-07-12 12:29:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Add some more debug output
+
+2019-07-12 12:28:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Fix clipping of audio buffers at the start of recording
+
+2019-07-10 00:34:18 +0800  Ting-Wei Lan <lantw@src.gnome.org>
+
+       * docs/meson.build:
+         build: Fix error messages for missing hotdoc extensions
+
+2019-07-09 12:43:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: Proxy POSITION/DURATION/URI/CAPS/ALLOCATION queries between video sinkpad and source pad
+         We pass-through the video as is, only putting a GstMeta on it from the
+         caption sinkpad.
+         This fixes negotation problems caused by not passing through caps
+         queries in both directions.
+         Also handle CAPS/ACCEPT_CAPS queries directly for the caption pad
+         instead of proxying.
+
+2018-12-20 12:37:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvcodec/gstnvdec.c:
+         nvdec: Fix possible frame drop on EOS
+         On eos, baseclass videoencoder call finish() vfunc instead of drain()
+
+2019-07-08 16:43:10 -0400  Ray Tiley <ray.tiley@trms.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkvideosrc: remove g_print
+         Causes a lot of output :)
+
+2019-07-08 23:58:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkviewconvert.c:
+         vulkan: Fix incompatible type build warning
+         Make declare/define a function consistent.
+         Note that GstBaseTransform::set_caps should return gboolean
+         Compiling C object subprojects/gst-plugins-bad/ext/vulkan/f3f9d6b@@gstvulkan@sha/vkviewconvert.c.obj.
+         ../subprojects/gst-plugins-bad/ext/vulkan/vkviewconvert.c(644):
+         warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstBaseTransform *,GstCaps *,GstCaps *)'
+         to 'gboolean (__cdecl *)(GstBaseTransform *,GstCaps *,GstCaps *)'
+
+2019-07-08 15:51:43 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Remove msg-size property
+         Remove the now unused property
+
+2019-07-08 15:50:59 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srtsrc: Receive one frame per gstbuffer
+         Don't aggregate the received data, just receive it one packet at a
+         time. So it keeps the packetization boundaries
+
+2019-07-06 16:15:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Fix listener crash if no URI is specified
+
+2019-07-06 15:53:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Use macro instead of duplicating a default value
+
+2019-07-06 15:45:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/srt/gstsrtobject.c:
+         srt: Fix confusing typo in FIXME comment
+         SRT does not support IPv6, but the comment said IPv4 which was the
+         opposite of the following code.
+
+2019-07-01 13:43:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+       * gst/timecode/meson.build:
+         timecodestamper: Add support for linear timecode (LTC) from an audio stream
+         Based on a patch by
+         Georg Lippitsch <glippitsch@toolsonair.com>
+         Vivia Nikolaidou <vivia@toolsonair.com>
+         Using libltc from https://github.com/x42/libltc
+
+2019-07-01 13:42:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gsttimecodestamper.c:
+       * gst/timecode/gsttimecodestamper.h:
+       * gst/timecode/meson.build:
+         timecodestamper: Rewrite element API and code flow
+         We now have a single property to select the timecode source that should
+         be applied, and for each timecode source the timecode is updated at
+         every frame. Then based on a set mode, the timecode is added to the
+         frame if none exists already or all existing timecodes are removed and
+         the timecode is added.
+         In addition the real-time clock is considered a proper timecode source
+         now instead of only allowing to initialize once in the beginning with
+         it, and also instead of just taking the current time we now take the
+         current time at the clock time of the video frame.
+
+2019-06-07 13:27:21 +0200  Marc Leeman <marc.leeman@gmail.com>
+
+       * sys/nvcodec/meson.build:
+         nvcodec: do a generic cuda tests before going into version specifics
+
+2019-05-17 22:27:50 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * configure.ac:
+       * meson_options.txt:
+       * sys/Makefile.am:
+       * sys/meson.build:
+       * sys/nvcodec/Makefile.am:
+       * sys/nvcodec/cuviddec.h:
+       * sys/nvcodec/gstcudaloader.c:
+       * sys/nvcodec/gstcudaloader.h:
+       * sys/nvcodec/gstcuvidloader.c:
+       * sys/nvcodec/gstcuvidloader.h:
+       * sys/nvcodec/gstnvbaseenc.c:
+       * sys/nvcodec/gstnvbaseenc.h:
+       * sys/nvcodec/gstnvdec.c:
+       * sys/nvcodec/gstnvdec.h:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvenc.h:
+       * sys/nvcodec/gstnvh264enc.c:
+       * sys/nvcodec/gstnvh264enc.h:
+       * sys/nvcodec/gstnvh265enc.c:
+       * sys/nvcodec/gstnvh265enc.h:
+       * sys/nvcodec/meson.build:
+       * sys/nvcodec/nvEncodeAPI.h:
+       * sys/nvcodec/nvcuvid.h:
+       * sys/nvcodec/plugin.c:
+       * sys/nvdec/Makefile.am:
+       * sys/nvdec/meson.build:
+       * sys/nvenc/Makefile.am:
+       * sys/nvenc/README:
+       * sys/nvenc/TODO:
+       * sys/nvenc/meson.build:
+       * tests/check/Makefile.am:
+       * tests/check/meson.build:
+         nvdec,nvenc: Port to dynamic library loading
+         ... and put them into new nvcodec plugin.
+         * nvcodec plugin
+         Now each nvenc and nvdec element is moved to be a part of nvcodec plugin
+         for better interoperability.
+         Additionally, cuda runtime API header dependencies
+         (i.e., cuda_runtime_api.h and cuda_gl_interop.h) are removed.
+         Note that cuda runtime APIs have prefix "cuda". Since 1.16 release with
+         Windows support, only "cuda.h" and "cudaGL.h" dependent symbols have
+         been used except for some defined types. However, those types could be
+         replaced with other types which were defined by "cuda.h".
+         * dynamic library loading
+         CUDA library will be opened with g_module_open() instead of build-time linking.
+         On Windows, nvcuda.dll is installed to system path by CUDA Toolkit
+         installer, and on *nix, user should ensure that libcuda.so.1 can be
+         loadable (i.e., via LD_LIBRARY_PATH or default dlopen path)
+         Therefore, NVIDIA_VIDEO_CODEC_SDK_PATH env build time dependency for Windows
+         is removed.
+
+2019-01-30 20:07:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+         d3d11videosink: Add new Direct3D11 video render plugin
+         Direct3D11 was shipped as part of Windows7 and it's obviously
+         primary graphics API on Windows.
+         This plugin includes HDR10 rendering if following requirements are satisfied
+         * IDXGISwapChain4::SetHDRMetaData is available (decleared in dxgi1_5.h)
+         * Display can support DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 color space
+         * Upstream provides 10 bitdepth format with smpte-st 2084 static metadata
+
+2019-07-06 00:58:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/utils.c:
+         webrtcbin: Don't assert if an SDP media can't be converted to caps
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1008
+
+2019-04-25 16:32:34 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/Makefile.am:
+       * sys/msdk/gstmsdk.c:
+       * sys/msdk/gstmsdkvp9enc.c:
+       * sys/msdk/gstmsdkvp9enc.h:
+       * sys/msdk/meson.build:
+         msdk: add msdkvp9enc element
+
+2019-04-28 16:10:13 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: workaround for MFX_FOURCC_VP9_SEGMAP surface
+         MFX_FOURCC_VP9_SEGMAP surface in MSDK is an internal surface however
+         MSDK still call the external allocator for this surface, so this plugin
+         has to return UNSUPPORTED and force MSDK allocates surface using the
+         internal allocator.
+         See https://github.com/Intel-Media-SDK/MediaSDK/issues/762 for details
+
+2019-05-08 16:05:07 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkenc.h:
+         msdkenc: allow encode element requires extra frames
+         The call of MFXVideoENCODE_EncodeFrameAsync may not generate output and
+         the function returns MFX_ERR_MORE_DATA with NULL sync point, the input
+         frame is cached in this case, so it is possible that all allocated
+         frames go into the surfaces_used list after calling
+         MFXVideoENCODE_EncodeFrameAsync a few times, then the encoder will fail
+         to get an available surface before releasing used frames
+         This patch adds a new field of num_extra_frames to GstMsdkEnc and allows
+         encode element requires extra frames, the default value is 0.
+         This patch is the preparation for msdkvp9enc element.
+
+2019-07-05 16:20:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/vkmemory.c:
+         tests/vulkan: fix copyright name
+
+2019-07-05 16:20:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * tests/check/libs/vkwindow.c:
+       * tests/check/meson.build:
+         vulkan/window: add property for the parent display
+
+2019-07-05 16:13:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * tests/check/libs/vkdevice.c:
+       * tests/check/meson.build:
+         vulkan/device: add property for the parent instance
+
+2019-07-04 17:22:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/shaders/meson.build:
+       * ext/vulkan/shaders/view_convert.frag:
+       * ext/vulkan/shaders/view_defines.h:
+       * ext/vulkan/vkviewconvert.c:
+       * ext/vulkan/vkviewconvert.h:
+         vulkan: add view converter element
+
+2019-07-04 17:19:31 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkcolorconvert.c:
+         vulkan: fix output framebuffer creation size
+         We don't scale when color converting so there is no impact.
+
+2019-07-05 01:26:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: output smoothly increasing PTS when in CBR mode
+         Thanks to that, when its output is plugged into eg a udp sink, the
+         outgoing data can be output in a smoother way, reducing burstiness
+
+2019-07-05 00:17:10 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tests/check/libs/h264parser.c:
+         tests: Add h264parser SEI checks
+         Add some tests around SEI parsing.
+
+2019-06-28 14:59:18 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser lib: Add more profile_idc to the recognised set
+         Update the list of profile_idc recognised during SPS parsing
+         based on H.264 201704
+
+2019-06-28 14:50:00 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/smoothstreaming/gstmssmanifest.c:
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst/videoparsers/gsth264parse.c:
+         h264parse lib: Remove the SPS parse_vui_params flag
+         The SPS parsing functions take a parse_vui_param flag
+         to skip VUI parsing, but there's no indication in the output
+         SPS struct that the VUI was skipped.
+         The only caller that ever passed FALSE seems to be the
+         important gst_h264_parser_parse_nal() function, meaning - so the
+         cached SPS were always silently invalid. That needs changing
+         anyway, meaning noone ever passes FALSE.
+         I don't see any use for saving a few microseconds in
+         order to silently produce garbage, and since this is still
+         unstable API, let's remove the parse_vui_param.
+
+2019-06-28 14:46:36 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser lib: Warn on invalid pic_timing SEI
+         The spec calls for pic_timing SEI to be absent unless
+         there's either a CpbDpbDelaysPresentFlag or
+         pic_struct_present_flag in the SPS VUI data. If
+         both those flags are missing, warn.
+
+2019-06-28 14:42:19 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser lib: Always consume all SEI bits
+         If parsing an SEI errors out, it might not consume
+         all bits, leaving extra unparsed data in the reader
+         that the outer loop then tries to parse as a new
+         appended SEI.
+         Skip all the bits if any are left over to avoid
+         'finding' extra garbage SEI in the parsing.
+
+2019-06-28 02:42:00 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: Return BROKEN_LINK for missing SPS
+         When parsing SEI that require an SPS, return
+         GST_H264_PARSER_BROKEN_LINK instead of a generic
+         parsing error to let callers distinguish
+         bitstream errors from (expected) missing packets
+         when resuming decode.
+
+2019-06-28 01:26:19 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         h264parser: Improve documentation
+         Improve some docs around the NALU structure contents
+
+2019-06-28 00:27:12 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         gstmpegvideoparser: Documentation fixes
+         Fix some spelling mistakes and improve documentation in
+         the MPEG video parser
+
+2019-07-04 19:43:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+         tsmuxstream: Do not try return from void function
+         ../subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c(1082): warning C4098:
+         'tsmux_stream_get_es_descrs': 'void' function returning a value
+
+2019-07-04 19:42:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+       * gst/mpegtsmux/gstbasetsmuxaac.c:
+       * gst/mpegtsmux/gstbasetsmuxaac.h:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+       * gst/mpegtsmux/gstbasetsmuxopus.c:
+       * gst/mpegtsmux/gstbasetsmuxopus.h:
+       * gst/mpegtsmux/gstbasetsmuxttxt.c:
+       * gst/mpegtsmux/gstbasetsmuxttxt.h:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         mpegtsmux: Remove white space
+
+2019-07-04 14:16:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vksink.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+       * gst-libs/gst/vulkan/gstvkswapper.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+         vulkan: move swapper object to the gstvulkan library
+         Allows other sinks and/or user code to display to a VkSurface
+
+2019-07-04 14:03:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkfullscreenrender.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvktrash.c:
+       * gst-libs/gst/vulkan/gstvktrash.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: move trash list to library
+
+2019-07-03 13:48:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/utils.c:
+       * ext/webrtc/utils.h:
+         webrtcbin: use the latest self-generated SDP as the basis for renegotiations
+         Fixes multiple errors when a webrtcbin renegotiation can switch between the
+         offerer and the answerer.
+
+2019-05-17 16:00:24 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtp.c:
+         avtp: Update documentation
+
+2019-03-26 14:25:56 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpcvfdepay.c:
+       * tests/check/meson.build:
+         tests: Add AVTP CVF depayloader tests
+         In these tests, some specially crafted buffers are sent to the
+         depayloader, simulating some scenarios and checking what comes out from
+         it.
+
+2019-03-25 17:23:49 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpcvfpay.c:
+       * tests/check/meson.build:
+         tests: Add AVTP CVF payloader tests
+         In these tests, some specially crafted buffers are sent to the
+         payloader, simulating some scenarios and checking what comes out from
+         it.
+
+2019-05-02 10:52:42 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpsrc.c:
+       * tests/check/meson.build:
+         tests: Add AVTP source tests
+         This patch adds test cases for the AVTP source element. For now, only
+         properties get() and set() are covered.
+
+2019-04-25 14:16:46 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpsink.c:
+       * tests/check/meson.build:
+         tests: Add AVTP sink tests
+         This patch adds test cases for the AVTP sink element. For now, only
+         properties get() and set() are covered.
+
+2019-04-09 14:10:36 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpaafdepay.c:
+       * tests/check/meson.build:
+         tests: Add AAF depayloader tests
+         This patch adds test cases for the AAF depayloader element covering the
+         basic functionalities.
+
+2019-03-22 15:54:23 -0700  Andre Guedes <andre.guedes@intel.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/avtpaafpay.c:
+       * tests/check/meson.build:
+         tests: Add AAF payloader tests
+         This patch adds the infrastructure to test AVTP plugin elements. It also
+         adds a test case to check avtpaafpay element basic functionality. The
+         test consists in setting the element sink caps and properties, and
+         verifying if the output buffer is set as expected.
+
+2019-04-16 17:32:46 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/avtp/meson.build:
+         docs: Add AVTP elements documentation
+
+2019-03-20 16:40:13 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfdepay.h:
+         avtp: Add fragmented packets handling to CVF depayloader
+         This patch adds to the CVF depayloader the capability to regroup H.264
+         fragmented FU-A packets.
+         After all packets are regrouped, they are added to the "stash" of H.264
+         NAL units that will be sent as soon as an AVTP packet with M bit set is
+         found (usually, the last fragment).
+         Unrecognized fragments (such as first fragment seen, but with no Start
+         bit set) are discarded - and any NAL units on the "stash" are sent
+         downstream, as if a SEQNUM discontinuty happened.
+
+2019-03-12 15:46:16 -0700  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpcvfdepay.c:
+       * ext/avtp/gstavtpcvfdepay.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AVTP CVF depayloader element
+         This patch introduces the AVTP Compressed Video Format (CVF) depayloader
+         specified in IEEE 1722-2016 section 8. Currently, this depayloader only
+         supports H.264 encapsulation described in section 8.5.
+         Is also worth noting that only single NAL units are handled: aggregated
+         and fragmented payloads are not handled.
+         As stated in AVTP CVF payloader patch, AVTP timestamp is used to define
+         outgoing buffer DTS, while the H264_TIMESTAMP defines outgoing buffer
+         PTS.
+         When an AVTP packet is received, the extracted H.264 NAL unit is added to
+         a "stash" (the out_buffer) of H.264 NAL units. This "stash" is pushed
+         downstream as single buffer (with NAL units aggregated according to format
+         used on GStreamer, based on ISO/IEC 14496-15) as soon as we get the AVTP
+         packet with M bit set.
+         This patch groups NAL units using a fixed NAL size lenght, sent downstream
+         on the `codec_data` capability.
+         The "stash" of NAL units can be prematurely sent downstream if a
+         discontinuity (a missing SEQNUM) happens.
+         This patch reuses the infra provided by gstavtpbasedepayload.c.
+
+2019-03-05 18:09:13 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/gstavtpcvfpay.c:
+         avtp: Add fragmentation feature to CVF payloader
+         Based on `mtu` property, the CVF payloader is now capable of properly
+         fragmenting H.264 NAL units that are bigger than MTU in several AVTP
+         packets.
+         AVTP spec defines two methods for fragmenting H.264 packets, but this
+         patch only generates non-interleaved FU-A fragments.
+         Usually, only the last NAL unit from a group of NAL units in a single
+         buffer will be big enough to be fragmented. Nevertheless, only the last
+         AVTP packet sent for a group of NAL units will have the M bit set (this
+         means that the AVTP packet for the last fragment will only have the M
+         bit set if there's no more NAL units in the group).
+
+2019-02-28 15:49:02 -0800  Ederson de Souza <ederson.desouza@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpcvfpay.c:
+       * ext/avtp/gstavtpcvfpay.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AVTP CVF payloader element
+         This patch introduces the AVTP Compressed Video Format (CVF) payloader
+         specified in IEEE 1722-2016 section 8. Currently, this payload only
+         supports H.264 encapsulation described in section 8.5.
+         Is also worth noting that only single NAL units are encapsulated: no
+         aggregation or fragmentation is performed by the payloader.
+         An interesting characteristic of CVF H.264 spec is that it defines an
+         H264_TIMESTAMP, in addition to the AVTP timestamp. The later is
+         translated to the GST_BUFFER_DTS while the former is translated to the
+         GST_BUFFER_PTS. From AVTP CVF H.264 spec, it is clear that the AVTP
+         timestamp is related to the decoding order, while the H264_TIMESTAMP is
+         an ancillary information to the H.264 decoder.
+         Upon receiving a buffer containing a group of NAL units, the avtpcvfpay
+         element will extract each NAL unit and payload them into individual AVTP
+         packets. The last AVTP packet generated for a group of NAL units will
+         have the M bit set, so the depayloader is able to properly regroup them.
+         The exact format of the buffer of NAL units is described on the
+         'codec_data' capability, which is parsed by the avtpcvfpay, in the same
+         way done in rtph264pay.
+         This patch reuses the infra provided by gstavtpbasepayload.c.
+
+2019-01-23 15:17:48 -0800  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpsrc.c:
+       * ext/avtp/gstavtpsrc.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AVTP source element
+         This patch introduces the avtpsrc element which implements a typical
+         network source. The avtpsrc element receives AVTPDUs encapsulated into
+         Ethernet frames and push them downstream in the GStreamer pipeline.
+         Implementation if pretty straightforward since the burden is implemented
+         by GstPushSrc class.
+         Likewise the avtpsink element, applications that utilize this element
+         must have CAP_NET_RAW capability since it is required by Linux to open
+         sockets from AF_PACKET domain.
+
+2019-01-23 10:56:10 -0800  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpsink.c:
+       * ext/avtp/gstavtpsink.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AVTP sink element
+         This patch introduces the avtpsink elements which implements a typical
+         network sink. Implementation is pretty straightforward since the burden
+         is implemented by GstBaseSink class.
+         The avtpsink element defines three new properties: 1) network interface
+         from where AVTPDU should be transmitted, 2) destination MAC address
+         (usually a multicast address), and 3) socket priority (SO_PRIORITY).
+         Socket setup and teardown are done in start/stop virtual methods while
+         AVTPDU transmission is carried out by render(). AVTPDUs are encapsulated
+         into Ethernet frames and transmitted to the network via AF_PACKET socket
+         domain.  Linux requires CAP_NET_RAW capability in order to open an
+         AF_PACKET socket so the application that utilize this element must have
+         it. For further info about AF_PACKET socket domain see packet(7).
+         Finally, AVTPDUs are expected to be transmitted at specific times -
+         according to the GstBuffer presentation timestamp - so the 'sync'
+         property from GstBaseSink is set to TRUE by default.
+
+2019-01-23 16:20:27 -0800  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpaafdepay.c:
+       * ext/avtp/gstavtpaafdepay.h:
+       * ext/avtp/gstavtpbasedepayload.c:
+       * ext/avtp/gstavtpbasedepayload.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AAF depayloader element
+         This patch introduces the AAF depayloader element, the counterpart from
+         the AAF payloader. As expected, this element inputs AVTPDUs and outputs
+         audio raw data and supports AAF PCM encapsulation only.
+         The AAF depayloader srcpad produces a fixed format that is encoded
+         within the AVTPDU. Once the first AVTPDU is received by the element, the
+         audio features e.g. sample format, rate, number of channels, are decoded
+         and the srcpad caps are set accordingly. Also, at this point, the
+         element pushes a SEGMENT event downstream defining the segment according
+         to the AVTP presentation time.
+         All AVTP depayloaders will share some common code. For that reason, this
+         patch introduces the GstAvtpBaseDepayload abstract class that implements
+         common depayloader functionalities. AAF-specific functionalities are
+         implemented in the derived class GstAvtpAafDepay.
+
+2019-01-16 17:16:59 -0800  Andre Guedes <andre.guedes@intel.com>
+
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/gstavtpaafpay.c:
+       * ext/avtp/gstavtpaafpay.h:
+       * ext/avtp/gstavtpbasepayload.c:
+       * ext/avtp/gstavtpbasepayload.h:
+       * ext/avtp/meson.build:
+         avtp: Introduce AAF payloader element
+         This patch introduces the AVTP Audio Format (AAF) payloader element from
+         the AVTP plugin. The element inputs audio raw data and outputs AVTP
+         packets (aka AVTPDUs), implementing a typical protocol payloader element
+         from GStreamer.
+         AAF is one of the available formats to transport audio data in an AVTP
+         system. AAF is specified in IEEE 1722-2016 section 7 and provides two
+         encapsulation mode: PCM and AES3. This patch implements PCM
+         encapsulation mode only.
+         The AAF payloader working mechanism consists of building the AAF header,
+         prepending it to the GstBuffer received on the sink pad, and pushing the
+         buffer downstream. Payloader parameters such as stream ID, maximum
+         transit time, time uncertainty, and timestamping mode are passed via
+         element properties. AAF doesn't support all possible sample format and
+         sampling rate values so the sink pad caps template from the payloader is
+         a subset of audio/x-raw. Additionally, this patch implements only
+         "normal" timestamping mode from AAF. "Sparse" mode should be implemented
+         in future.
+         Upcoming patches will introduce other AVTP payloader elements that will
+         have some common code. For that reason, this patch introduces the
+         GstAvtpBasePayload abstract class that implements common payloader
+         functionalities, and the GstAvtpAafPay class that extends the
+         GstAvtpBasePayload class, implementing AAF-specific functionalities.
+         The AAF payloader element is most likely to be used with the AVTP sink
+         element (to be introduced by a later patch) but it could also be used
+         with UDP sink element to implement AVTP over UDP as described in IEEE
+         1722-2016 Annex J.
+         This element was inspired by RTP payloader elements.
+
+2019-01-14 10:18:42 -0800  Andre Guedes <andre.guedes@intel.com>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/avtp/Makefile.am:
+       * ext/avtp/gstavtp.c:
+       * ext/avtp/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         avtp: AVTP plugin bootstrap code
+         This patch introduces the bootstrap code from the AVTP plugin (plugin
+         definition and init) as well as the build system files. Upcoming patches
+         will introduce payloaders, source and sink elements provided by the AVTP
+         plugin. These elements can be utilized by a GStreamer pipeline to
+         implement TSN audio/video applications.
+         Regarding the plugin build system files, both autotools and meson files
+         are introduced. The AVTP plugin is landed in ext/ since it has an
+         external dependency on libavtp, an opensource AVTP packetization
+         library. For further information about libavtp check [1].
+         [1] https://github.com/AVnu/libavtp
+
+2019-07-04 01:12:06 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Don't segfault when SPS hasn't been seen yet.
+         Fix a recently introduced segfault. Don't de-reference a NULL
+         SPS pointer when attempting to update source caps before SPS
+         has been seen in the stream.
+
+2019-07-02 14:30:35 +0300  OleksandrKvl <oleksandrdvl@gmail.com>
+
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pcapparse/gstirtspparse.h:
+         irtspparse: handle multiple and incomplete frames
+         Interleaved frames can be fragmented between
+         incoming frames. Thus, we can have multiple
+         frames within the single input frame, as well as
+         incomplete frame. Now it preserves parsing
+         state and handle both situations.
+         Fixes #991
+
+2019-06-24 13:33:54 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+       * sys/msdk/gstmsdkvpp.c:
+         msdk: don't share context between msdkvpp and msdkenc
+         msdkenc supports CSC implicitly, so it is possible that two VPP
+         processes are required when a pipeline contains msdkvpp and msdkenc.
+         Before this fix, msdkvpp and msdkenc may share the same context, hence
+         the same mfx session, which results in MFX_ERR_UNDEFINED_BEHAVIOR
+         in MSDK because a mfx session has at most one VPP process only
+         This fixes the broken pipelines below:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! msdkh264enc ! \
+         msdkh264dec ! msdkvpp ! video/x-raw,format=YUY2 ! fakesink
+         gst-launch-1.0 videotestsrc ! msdkvpp ! video/x-raw,format=YUY2 ! \
+         msdkh264enc ! fakesink
+
+2019-06-21 18:18:44 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdkmjpegdec.c:
+         msdkmjpegdec: support 422 output
+         MSDK supports JPEG YUY2 (422 chroma) output color
+         format. The color format of input bitstream is
+         described by JPEGChromaFormat and JPEGColorFormat
+         fields in the mfxInfoMFX structure which is filled
+         in by the MFXVideoDECODE_DecodeHeader function.
+         To obtain lossless decoded output from 422 encoded
+         JPEGs, we must set the output color format in the
+         FourCC and ChromaFormat fields in the mfxFrameInfo
+         structure to the appropriate values at post_configure
+         so that they are propagated through to the srcpad
+         caps accordingly.
+
+2019-06-21 18:12:48 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+       * sys/msdk/gstmsdkdec.c:
+       * sys/msdk/gstmsdkdec.h:
+         msdkdec: add post_configure virtual method
+         A post_configure virtual method is added to allow
+         codec subclasses to adjust the initialized parameters
+         after MFXVideoDECODE_DecodeHeader is called from the
+         gstmsdkdec::gst_msdkdec_handle_frame function.
+         This is useful if codecs want to adjust the output
+         parameters based on the codec-specific decoding
+         options that are present in the mfxInfoMFX structure
+         after MFXVideoDECODE_DecodeHeader initializes them.
+
+2019-06-03 16:25:57 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkvp9dec.c:
+         msdkvp9dec: add support for VP9 444
+         The output formats are VUYA for 8bit 444 and Y410 for 10bit 444.
+
+2019-05-31 16:34:54 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-444-10/main-444-10-intra profile
+         The output format is Y410
+
+2019-05-31 16:22:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+       * sys/msdk/gstmsdkvideomemory.c:
+         msdk: return a right pointer for Y410 when mapping a frame
+
+2019-06-03 14:05:07 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: set right BitDepth and Shift for Y410 mfx frame
+         BitDepth is 10 and Shitf must be set to 0 when creating Y410 mfx
+         frame in MSDK
+
+2019-05-31 15:37:51 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdksystemmemory.c:
+         msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y410 frame
+
+2019-05-31 15:26:50 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: map MFX_FOURCC_Y410 to VA_FOURCC_Y410
+
+2019-05-31 15:21:05 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: map GST_VIDEO_FORMAT_Y410 to VA_FOURCC_Y410
+
+2019-05-31 15:13:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: map GST_VIDEO_FORMAT_Y410 to MFX_FOURCC_Y410
+
+2019-05-31 12:48:15 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-444 profile
+         The output format is VUYA
+
+2019-05-30 11:13:26 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-422-10/main-422-10-intra 10bit
+         The ouput format is Y210
+
+2019-05-30 12:20:54 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: set right BitDepth and Shift for Y210 mfx frame
+         BitDepth is 10 and Shitf must be set to 1 when creating Y210 mfx
+         frame in MSDK
+
+2019-05-30 11:10:58 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/gstmsdksystemmemory.c:
+         msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y210 frame
+
+2019-05-30 11:02:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+       * sys/msdk/msdk_libva.c:
+         msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
+
+2019-05-30 09:56:43 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkallocator_libva.c:
+         msdk: map GST_VIDEO_FORMAT_Y210 to VA_FOURCC_Y210
+
+2019-05-30 09:49:22 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/msdk.c:
+         msdk: map GST_VIDEO_FORMAT_Y210 to MFX_FOURCC_Y210
+
+2019-05-28 16:50:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdkh265dec.c:
+         msdkh265dec: add support for main-422-10/main-422-10-intra 8bit
+         The output format is YUY2
+
+2019-06-28 15:46:22 +1000  Jan Schmidt <jan@centricular.com>
+
+       * sys/uvch264/Makefile.am:
+         uvch264: Fix autotools build.
+         Add gstuvch264deviceprovider.c to the Makefile.am missed
+         in MR 387
+
+2019-06-26 19:53:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsrc.c:
+         rtp: Fix incompatible type build warning
+         Use GstURIType instead of guint
+         ../subprojects/gst-plugins-bad/gst/rtp/gstrtpsink.c(575):
+         warning C4133: '=': incompatible types ...
+         ../subprojects/gst-plugins-bad/gst/rtp/gstrtpsrc.c(725):
+         warning C4133: '=': incompatible types ...
+
+2019-06-25 20:37:57 +0200  Juan Navarro <juan.navarro@gmx.es>
+
+       * ext/dtls/gstdtlsagent.c:
+         dtlsagent: Clear the certificate upon finalize
+         Cleaning this up was likely just forgotten
+
+2019-06-25 20:37:38 +0200  Juan Navarro <juan.navarro@gmx.es>
+
+       * ext/dtls/gstdtlsdec.c:
+         dtlsdec: Avoid duplicate ref when passing certificate property
+         The agent itself will take a ref on the property setter, so we'll be
+         left with two references to the certificate object, when actually there
+         should be only one
+
+2019-05-20 23:19:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/bluez/meson.build:
+         meson: bluez: Early terminate configure on Windows
+         This plugin is for linux bluetooth stack. So the early termination can save
+         configure time on Windows (i.e., we can avoid glib subproject fallback)
+
+2019-06-12 11:12:37 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+         wpe: Port for WPEWebKit 2.25.x
+         When WPEBackend-fdo >= 1.3.0 is detected, the threaded view now relies on the
+         wpe_fdo_egl_exported_image API instead of the EGLImageKHR-based API which is
+         going to be deprecated in 2.26. The GLib sources created by the view now use the
+         default priority as well, the custom priority is no longer required.
+
+2019-06-24 18:39:35 +0300  OleksandrKvl <oleksandrdvl@gmail.com>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: Fix handling of TCP payload length
+         The length of the  TCP payload is the IP plus TCP header length
+         subtracted from the IP datagram length specified in the IP header.
+         Prior to this, the size was calculated incorrectly, considering
+         all data after TCP header as a payload till the end of a packet.
+         Fixes #995
+
+2019-06-24 13:50:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Make sure to never unref an input buffer we already unreffed before
+
+2019-06-20 19:59:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+       * gst/timecode/gstavwait.h:
+         avwait: Add support for setting an end running time
+         It was possible to set a start running time and start/end timecode
+         before, but not an end running time.
+
+2019-06-20 17:50:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Correctly stop recording and signal recording stop on EOS
+         If recording is set to FALSE after the last audio or video buffer and
+         before the EOS event then recording stop is never signalled.
+         Similarly, we should signal recording stop once both audio and video are
+         EOS, regardless of the recording property, as there's nothing to be
+         recorded anymore.
+
+2019-06-24 16:22:47 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkswapper.h:
+         vkswapper: support rescaling to the output size
+
+2019-06-24 15:32:25 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkswapper.c:
+         vksink: Don't take vulkan buffer's as input
+
+2019-06-24 15:30:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/vkcolorconvert.c:
+         tests/vkcolorconvert: remove extra instance/device creation
+         It's unnecessary.
+
+2019-06-20 08:59:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: Correctly ensure >=16 byte alignment for the buffers we allocate
+         We'll ensure at least 64 byte alignment for AVX2 but 16 byte alignment
+         is what is required by the decklink SDK.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/986
+
+2019-06-23 17:03:32 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtc: Fix data-channel send-string doc
+
+2019-06-20 10:04:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklinkvideosrc: Notify about signal loss even when dropping no-signal frames
+         Otherwise the application has no way of knowing that signal loss
+         happened other than noticing a gap between actual frames.
+
+2019-06-20 14:36:02 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/ayuv_to_rgb.frag:
+       * ext/vulkan/shaders/downsample_ayuv.glsl:
+         vulkan: remove unused downsample AYUV shader
+
+2019-06-19 19:43:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/transportreceivebin.c:
+       * ext/webrtc/transportreceivebin.h:
+         webrtcbin: fix DTLS when receivebin is set to DROP
+         Regression introduced by b4bdcf15b7237eb5c5943c4f746701a477333000
+         This commit prevents the handshake from reaching dtlsdec when
+         the receive state of the receive bin is set to DROP (for example
+         when transceivers are sendonly).
+         This preserves the intent of the commit, by blocking the bin
+         at its sinks until the receive state is no longer BLOCK, but
+         makes sure the handshake still goes through, by only dropping
+         data at the src pads, as was the case before.
+
+2019-06-20 01:39:53 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/meson.build:
+       * ext/vulkan/shaders/nv12_to_rgb.frag:
+       * ext/vulkan/shaders/rgb_to_nv12.frag:
+       * ext/vulkan/shaders/upsample_nv12.glsl:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkfullscreenrender.c:
+         vkcolorconvert: add support for RGB<->NV12
+
+2019-06-20 01:36:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * tests/check/elements/vkcolorconvert.c:
+         vkbuffermemory: report requested size of the memory
+         Rather than using Vulkan's much larger aligned sizes. Fixes multi-planer
+         video with the GstVideoFrame API.
+
+2019-06-19 19:09:21 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/ayuv_to_rgb.frag:
+       * ext/vulkan/shaders/color_convert_generic.glsl:
+       * ext/vulkan/shaders/downsample_ayuv.glsl:
+       * ext/vulkan/shaders/meson.build:
+       * ext/vulkan/shaders/rgb_to_ayuv.frag:
+       * ext/vulkan/shaders/rgb_to_yuy2.frag:
+       * ext/vulkan/shaders/swizzle.glsl:
+       * ext/vulkan/shaders/upsample_ayuv.glsl:
+       * ext/vulkan/shaders/upsample_yuy2.glsl:
+       * ext/vulkan/shaders/uyvy_to_rgb.frag:
+       * ext/vulkan/shaders/yuy2_to_rgb.frag:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+         vulkancolorconvert: support RGB <-> AYUV/YUY2/UYVY
+
+2019-06-19 15:28:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vktrash.c:
+       * ext/vulkan/vktrash.h:
+         vktrash: add mini_object_unref destroy function
+
+2019-06-19 15:27:11 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkimageidentity.c:
+         vkfullscreenrender: create descriptor sets later
+         The desciptor sets may be dependant on the caps
+
+2019-06-19 15:25:18 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/shaders/meson.build:
+         vulkan/shaders: change glslc compilation args based on configurations
+         Add depfile support so that modifying an #included glsl snippet
+         rebuilds all the dependant shaders.
+
+2019-06-13 18:05:40 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/shaders/meson.build:
+       * ext/vulkan/shaders/swizzle.frag:
+       * ext/vulkan/shaders/swizzle.glsl:
+       * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+       * ext/vulkan/vkcolorconvert.c:
+       * ext/vulkan/vkcolorconvert.h:
+       * tests/check/elements/vkcolorconvert.c:
+       * tests/check/meson.build:
+         vulkan: add a color conversion element
+         Currently converts between all 4-component RGBA/RGBx formats.
+
+2019-06-13 17:57:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkformat.c:
+       * gst-libs/gst/vulkan/gstvkformat.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+         vulkan: add some information on vulkan formats
+
+2019-06-13 17:44:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+         vkupload: Also implement copying non vulkan memory into vulkan buffers
+         The only way we can upload things is through our memory so any
+         non-vulkan memory that appears must be copied into our memory.
+
+2019-06-13 17:05:44 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkdownload.c:
+       * ext/vulkan/vkdownload.h:
+         vulkan: add download element
+         Currently only downloads images into a host-visible buffer and
+         synchronises immediately.
+
+2019-06-11 02:05:32 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/shaders/identity.frag:
+       * ext/vulkan/shaders/identity.vert:
+       * ext/vulkan/vkfullscreenrender.c:
+       * ext/vulkan/vkfullscreenrender.h:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkimageidentity.h:
+         vulkan/identity: Split out most rendering code to a base class
+         A simple base class that renders a 2d fullscreen quad parallel to the
+         screen surface inside the view frustum.
+
+2019-06-12 18:25:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+         vkupload: fix a structure sType
+
+2019-06-11 18:37:59 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+         vulkan: ensure initialization of a couple of debug categories
+         Needed when some of the context querying functions can be called before
+         an instance has been created.
+
+2019-05-21 17:19:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkswapper.h:
+         vksink: Retrieve vulkan queue earlier
+         Allows using the swapper's queue over upstream's queue.  The swapper
+         will check for the necessary presentation support that upstream may not
+         consider.
+
+2019-06-19 14:13:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: Pass through interlace-mode field from upstream if available
+         We generally always prefer the information from upstream for other
+         metadata (pixel-aspect-ration, etc.) and should also do so here.
+         Other parsers (h264parse) already do the same.
+
+2019-06-19 13:31:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/zbar/gstzbar.c:
+         zbar: Include running-time, stream-time and duration in the messages
+         The timestamp/PTS alone is meaningless without the segment and usually
+         applications care about the running-time or stream-time.
+         This also keeps the messages in sync with the spectrum and level
+         elements.
+
+2017-11-04 20:40:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/hlsdemux_m3u8.c:
+         tests: hls: Add a test case for EXT-X-MAP tag
+         https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2019-05-12 19:21:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/meson.build:
+       * tests/check/elements/hlsdemux_m3u8.c:
+       * tests/check/meson.build:
+         tests: Enable hls m3u8 unit test with meson build
+
+2017-11-04 20:39:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/gsthlsdemux.c:
+         hlsdemux: Set fragment header uri if exists
+         To allow downloading fragment hearder, set its uri if there is
+         available "Media Initialization" parsed from EXT-X-MAP tag
+         https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2017-11-04 20:15:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/m3u8.c:
+       * ext/hls/m3u8.h:
+         hls: m3u8: Parsing EXT-X-MAP tag to store initialization data
+         EXT-X-MAP tag informs media initialization data,
+         such as moov box in ISOBMFF case and PAT/PMT for MPEG TS stream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2017-01-30 14:13:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/hls/gsthlsdemux.c:
+         hlsdemux: Do not clear/advance fragment by finished header downloading
+         Header data must be forwarded to downstream, but if demux does not finish
+         to finding type (e.g., ts, mp4 and etc), this header data can be cleared
+         by _stream_clear_pending_data(). Moreover, although demux finish downloading
+         header data, still it has fragment date to be downloaded, fragment sequence
+         shouldn't be advanced yet at that moment.
+         https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2019-02-19 21:46:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/insertbin.c:
+         tests: insertbin: Don't use duplicated variable name
+         ../subprojects/gst-plugins-bad/tests/check/libs/insertbin.c(46): warning C4273:
+         'mutex': ...
+         The "mutex" was declared in gstcheck.h already
+
+2019-06-17 14:58:50 +1000  Matthew Waters <matthew@centricular.com>
+
+       * sys/applemedia/meson.build:
+         applemedia: add the '-fobjc-arc' for darwin/ios
+         We use ARC so we need to signal that to the compiler.
+
+2019-06-03 12:18:13 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * sys/uvch264/gstuvch264.c:
+       * sys/uvch264/gstuvch264deviceprovider.c:
+       * sys/uvch264/meson.build:
+         uvch264: Implement device provider
+
+2019-06-03 12:17:22 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * sys/uvch264/gstuvch264_src.c:
+       * sys/uvch264/gstuvch264_src.h:
+       * sys/uvch264/uvc_h264.c:
+       * sys/uvch264/uvc_h264.h:
+         uvch264: Factor out checking if v4l2device is uvc compatible
+
+2019-04-08 19:24:00 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: update parser state and header flag when using fallback sps
+         When sps parsing fails we use a fallback sps from the caps, since we
+         have got an sps we need to update parser state and header as in the case the
+         sps was successfully parsed
+
+2018-11-26 17:23:21 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: update parser state and header flag when using fallback sps
+         When sps parsing fails we use a fallback sps from the caps, since we
+         have got an sps we need to update parser state and header as in the case the
+         sps was successfully parsed
+         Closes #503
+
+2019-05-31 10:12:54 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Post a WARNING when data is broken
+
+2019-06-12 15:47:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Add more string representations of extension profiles
+
+2019-06-12 15:32:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Add more profiles to known type
+         "High Throughput", "Multiview", "Scalable", "3D", "Screen Content Coding",
+         and "Scalable format range extensions" profiles can be supported
+         via h265parser APIs now.
+
+2019-04-18 18:12:34 +0900  Dong Il Park <dongil.park@lge.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Update framerate when we found vps_timing_info
+         The timing_info was described at vps or vui parameter.
+         So we can update the framerate field of GstCaps when we could
+         parse vps_timing_info parameters.
+
+2019-04-18 16:54:51 +0900  Dong Il Park <dongil.park@lge.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         h265parser: Use vps_timing_info when not present in vui
+         The same timing_info will be present at vps or vui.
+         When the timeing_info is present in the VPS, vui_timing_info
+         , when present, shall be equal to vps_timing_info, and when
+         not present, is inferred to be equal to vps_timing_info.
+
+2019-06-08 22:57:21 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/vulkan/gstvkapi.h:
+       * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+       * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+         vulkan: Add support WIN32 for Windows
+         It's almost a fork of glwindow_win32 implementation.
+         To build on Windows, Vulkan SDK (at https://vulkan.lunarg.com/sdk/home)
+         and VK_SDK_PATH environment are required. Note that VK_SDK_PATH environment
+         setting is a part of the SDK installation.
+
+2019-06-12 10:12:14 +0200  Arun Raghavan <arun@arunraghavan.net>
+
+       * sys/bluez/gstavdtputil.c:
+         avdtpsrc: Honour initial transport volume setting before connection
+         We make the binding go from the avdtpsrc to the transport, so that any
+         initial setting before a connection made is used.
+
+2019-06-11 12:10:13 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * sys/uvch264/gstuvch264_src.c:
+         uvch264src: Make sure we set our segment
+         We were not setting self->segment and we are using it
+         when notifying downstream that we handled a REQUEST_KEY_UNIT
+         event, leading to all sort of criticals.
+
+2019-06-11 14:28:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+         h265parse: Don't miss constraint indicator flags in codec data
+         Set more unhandled flags to general_constraint_indicator_flags field.
+         The field is required for building "Codecs" parameter as defined
+         ISO/IEC 14496-15 Annex E. The resulting "Codecs" string might be used
+         in various places (e.g., HLS/DASH manifest, browser, player, etc)
+
+2019-06-07 14:12:25 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rtp/meson.build:
+         rtpmanagerbad: fix the plugin registration
+         After compilation, the compiled library needs to be added to the list
+         of plugin libraries.
+         .
+         Also, fix for static builds
+
+2019-06-06 18:22:43 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * configure.ac:
+       * docs/plugins/gst_plugins_cache.json:
+       * meson_options.txt:
+       * sys/Makefile.am:
+       * sys/meson.build:
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/gstvdpau.c:
+       * sys/vdpau/gstvdpdecoder.c:
+       * sys/vdpau/gstvdpdecoder.h:
+       * sys/vdpau/gstvdpdevice.c:
+       * sys/vdpau/gstvdpdevice.h:
+       * sys/vdpau/gstvdpoutputbuffer.c:
+       * sys/vdpau/gstvdpoutputbuffer.h:
+       * sys/vdpau/gstvdpoutputbufferpool.c:
+       * sys/vdpau/gstvdpoutputbufferpool.h:
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpsink.h:
+       * sys/vdpau/gstvdputils.c:
+       * sys/vdpau/gstvdputils.h:
+       * sys/vdpau/gstvdpvideobufferpool.c:
+       * sys/vdpau/gstvdpvideobufferpool.h:
+       * sys/vdpau/gstvdpvideomemory.c:
+       * sys/vdpau/gstvdpvideomemory.h:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+       * sys/vdpau/gstvdpvideopostprocess.h:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264dpb.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/meson.build:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.h:
+       * sys/vdpau/mpeg4/gstmpeg4frame.c:
+       * sys/vdpau/mpeg4/gstmpeg4frame.h:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.h:
+       * sys/vdpau/mpeg4/mpeg4util.c:
+       * sys/vdpau/mpeg4/mpeg4util.h:
+       * tests/check/Makefile.am:
+         Remove VDPAU plugin
+         It's been replaced by NVENC/NVDEC and even NVIDIA doesn't
+         support VDPAU any longer and hasn't for quite some time.
+         The plugin has been unmaintained and unsupported for a very
+         long time, and given the track record over the last 10 years
+         it seems highly unlikely anyone is going to make it work well,
+         not to mention adding plumbing for proper zero-copy or
+         gst-gl integration.
+         Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/828
+
+2019-06-06 18:36:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * Makefile.am:
+         autotools: fix distcheck
+
+2019-06-05 17:10:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * Makefile.am:
+         autotools: remove gst/rtp/ from cruft dir list
+
+2019-06-05 16:58:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/Makefile.am:
+         rtp: fix autotools build some more
+
+2019-06-05 12:47:16 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/wpe/WPEThreadedView.cpp:
+       * ext/wpe/WPEThreadedView.h:
+       * ext/wpe/gstwpesrc.cpp:
+         wpe: Fix build with -Werror enabled
+         Including gl.h from WPEThreadedView.h leads to GST_LEVEL_DEFAULT detected as
+         redefined. The proposed fix is to include config.h from the CPP implementation
+         file and disable gl.h inclusion in the header, by using forward declarations.
+
+2019-06-05 11:46:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Allow start and end timecode to be set back to NULL
+         And check everywhere if they're NULL before accessing them.
+
+2019-06-05 08:12:10 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/audio/gstplanaraudioadapter.h:
+       * gst-libs/gst/insertbin/gstinsertbin.h:
+       * gst-libs/gst/webrtc/dtlstransport.h:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/rtcsessiondescription.h:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
+         Since we started depending on GLib 2.44, we can be sure this macro is
+         defined (it will be a no-op on compilers that don't support it).
+
+2019-05-21 14:04:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/vkmemory.c:
+         tests/vulkan: allow instance creation failures
+         Usually means that there is no vulkan implementation available.
+         We skip tests in that case
+
+2019-05-20 13:54:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/vkmemory.c:
+       * tests/check/meson.build:
+         test/vulkan: add simple memory test
+
+2019-05-20 13:48:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+         vkupload: remove debugging error log
+
+2019-05-20 13:46:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkbarrier.h:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: implement the correct memory barriers necessary
+         Vulkan validation layers are finally silent!
+
+2019-05-16 22:39:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkupload.c:
+         vulkan: remove uneeded buffer inheritence information
+         buffer inheritence informationi is only required for secondary command
+         buffers which we are not creating
+
+2019-05-16 19:48:24 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/shaders/bin2array.py:
+       * ext/vulkan/shaders/identity.frag:
+       * ext/vulkan/shaders/identity.vert:
+       * ext/vulkan/shaders/meson.build:
+       * ext/vulkan/vkimageidentity.c:
+       * ext/vulkan/vkimageidentity.h:
+       * ext/vulkan/vkshader.c:
+       * ext/vulkan/vkshader.h:
+         vulkan: add a new image copying element
+         Copies using the graphics pipeline, an input image and renders to an
+         output image.
+
+2019-05-16 19:39:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+         vkmemory: fix allocation of sizes less than the alignment
+         Avoids allocating a 0-sized device memory which is invalid vulkan usage
+
+2019-05-16 19:38:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+         vk*pool: expand usage hints to cover use in a renderpass
+
+2019-05-16 19:36:18 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+         vkformat: fix format conversion for matching vulkan formats
+         Other formats still need a swizzle or conversion.
+
+2019-05-16 19:35:11 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+         vkbuffermemory: bufferview's are only for texture-like memory
+
+2019-05-16 19:34:41 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+         vkupload: add raw->vulkanimage uploader
+
+2019-05-16 19:33:06 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vktrash.c:
+       * ext/vulkan/vktrash.h:
+         vktrash: add more destruction of vulkan types
+
+2019-05-09 21:50:47 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkupload.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkmacros.h:
+       * gst-libs/gst/vulkan/vulkan.h:
+         vulkan: use c99 designated initializers where possible
+         Makes the code much easier to read and allows removing our terrible
+         macros for structure initialization.
+
+2019-05-08 21:26:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkupload.c:
+         vkswapper: support displaying memory:VulkanImage
+
+2019-05-08 14:50:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkupload.h:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+       * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vkupload: implement buffer to image uploader
+
+2019-05-08 14:48:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+         vkqueue: unly unref the context query if it succeeds
+
+2019-05-08 14:47:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vksink.c:
+         vulkansink: Respond to queue queries
+
+2019-04-11 16:52:54 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * gst-libs/gst/vulkan/gstvkcommandpool.c:
+       * gst-libs/gst/vulkan/gstvkcommandpool.h:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkerror.c:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkfence.h:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+       * gst-libs/gst/vulkan/gstvkmemory.h:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkutils.h:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: large docs update
+
+2019-04-10 14:27:26 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkswapper.h:
+       * ext/vulkan/vktrash.c:
+       * ext/vulkan/vktrash.h:
+       * gst-libs/gst/vulkan/gstvkcommandpool.c:
+       * gst-libs/gst/vulkan/gstvkcommandpool.h:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+         vulkan: add a command pool object for tracking
+
+2019-04-10 11:56:59 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkswapper.c:
+         vkswapper: don't output duplicate formats
+
+2019-04-08 21:35:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/vulkan/.gitignore:
+       * ext/vulkan/Makefile.am:
+       * ext/vulkan/meson.build:
+       * ext/vulkan/vksink.c:
+       * ext/vulkan/vksink.h:
+       * ext/vulkan/vkswapper.c:
+       * ext/vulkan/vkswapper.h:
+       * ext/vulkan/vktrash.c:
+       * ext/vulkan/vktrash.h:
+       * ext/vulkan/vkupload.h:
+       * ext/vulkan/vkutils.h:
+       * ext/vulkan/wayland/Makefile.am:
+       * ext/vulkan/xcb/Makefile.am:
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/vulkan/.gitignore:
+       * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+       * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+       * gst-libs/gst/vulkan/gstvkapi.h:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+       * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+       * gst-libs/gst/vulkan/gstvkbufferpool.c:
+       * gst-libs/gst/vulkan/gstvkbufferpool.h:
+       * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+       * gst-libs/gst/vulkan/gstvkdevice.c:
+       * gst-libs/gst/vulkan/gstvkdevice.h:
+       * gst-libs/gst/vulkan/gstvkdisplay.c:
+       * gst-libs/gst/vulkan/gstvkdisplay.h:
+       * gst-libs/gst/vulkan/gstvkerror.c:
+       * gst-libs/gst/vulkan/gstvkerror.h:
+       * gst-libs/gst/vulkan/gstvkfence.c:
+       * gst-libs/gst/vulkan/gstvkfence.h:
+       * gst-libs/gst/vulkan/gstvkimagememory.c:
+       * gst-libs/gst/vulkan/gstvkimagememory.h:
+       * gst-libs/gst/vulkan/gstvkinstance.c:
+       * gst-libs/gst/vulkan/gstvkinstance.h:
+       * gst-libs/gst/vulkan/gstvkmacros.h:
+       * gst-libs/gst/vulkan/gstvkmemory.c:
+       * gst-libs/gst/vulkan/gstvkmemory.h:
+       * gst-libs/gst/vulkan/gstvkqueue.c:
+       * gst-libs/gst/vulkan/gstvkqueue.h:
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkutils.h:
+       * gst-libs/gst/vulkan/gstvkwindow.c:
+       * gst-libs/gst/vulkan/gstvkwindow.h:
+       * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.h:
+       * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m:
+       * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+       * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/vulkan/vulkan-prelude.h:
+       * gst-libs/gst/vulkan/vulkan.h:
+       * gst-libs/gst/vulkan/vulkan_fwd.h:
+       * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
+       * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.h:
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+       * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
+       * gst-libs/gst/vulkan/wayland/wayland_event_source.c:
+       * gst-libs/gst/vulkan/wayland/wayland_event_source.h:
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+       * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.h:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+       * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+       * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+       * gst-libs/gst/vulkan/xcb/xcb_event_source.h:
+       * pkgconfig/gstreamer-vulkan-uninstalled.pc.in:
+       * pkgconfig/gstreamer-vulkan.pc.in:
+       * pkgconfig/meson.build:
+         vulkan: make a gstvulkan library out of the existing API
+
+2019-04-08 18:43:50 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkbufferpool.c:
+         vkbufferpool: Fix multiplaner allocations
+         Use the plane width/height and the sizes required by vulkan
+         Fixes allocation of:
+         videotestsrc ! video/x-raw,format=I420 ! vulkanupload ! fakesink
+
+2019-04-08 18:42:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkbuffermemory.c:
+       * ext/vulkan/vkerror.h:
+       * ext/vulkan/vkimagememory.c:
+         vk*memory: explicitly error out for driver NPOT alignment
+
+2019-04-04 19:30:28 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkimagememory.c:
+         vulkan/image: initialize the requirements struct before using it
+
+2019-04-04 19:27:55 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkupload.c:
+       * ext/vulkan/vkupload.h:
+       * ext/vulkan/vkutils.c:
+         vulkan: don't require every element to have a display
+         Only sink elements really care about a valid display
+
+2019-04-04 18:38:13 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/gstvulkan.c:
+       * ext/vulkan/vkdisplay.c:
+       * ext/vulkan/vkdisplay.h:
+       * ext/vulkan/vkwindow.c:
+         vulkan: remove unused X11 window system references
+         We use XCB instead
+
+2019-04-04 17:33:34 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/vulkan/vkdevice.c:
+       * ext/vulkan/vkinstance.c:
+       * ext/vulkan/vkutils.c:
+       * ext/vulkan/vkutils_private.h:
+         vulkan: remove unused layer enablement
+         This is possible now via the vulkan loader
+
+2019-05-20 16:34:55 +0500  Ali Yousuf <aly.yousuf7@gmail.com>
+
+       * ext/webrtc/gstwebrtcice.c:
+         webrtc: Fix log when adding stun server
+
+2019-06-04 15:35:24 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: fix the location of signalling-state change notification
+         1. The spec indicates that the notification should occur near the end of
+         'setting the description' processing
+         2. The current location with the drop of the lock could cause the 'check
+         if negotiation is needed' logic to execute and become confused about
+         the state of the webrtcbin's current local descriptions.
+         In the bad case, the following assertions could be hit:
+         g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_local_description->sdp));
+         g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_remote_description->sdp));
+         Moving the signalling state change later in the set description task
+         means that checking for a renegotiation will early abort as the
+         signalling state is not STABLE before the session description and
+         transceivers have been updated.
+
+2019-06-03 20:29:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/Makefile.am:
+         make: rtp: Remove spurious header file
+         This header file no longer exist.
+
+2019-06-03 20:08:23 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * configure.ac:
+       * gst/meson.build:
+       * gst/rtp/Makefile.am:
+       * gst/rtp/gstrtp-utils.c:
+       * gst/rtp/gstrtp-utils.h:
+       * gst/rtp/gstrtpsink.c:
+       * gst/rtp/gstrtpsink.h:
+       * gst/rtp/gstrtpsrc.c:
+       * gst/rtp/gstrtpsrc.h:
+       * gst/rtp/meson.build:
+       * gst/rtp/plugin.c:
+       * meson_options.txt:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/rtpsink.c:
+       * tests/check/elements/rtpsrc.c:
+       * tests/check/meson.build:
+         rtpmanagerbad: add RTP streaming elements
+         This is a re-implementation of the RTP elements that are submitted in
+         2013 to handle RTP streams. The elements handle a correct connection
+         for the bi-directional use of the RTCP sockets.
+         https://bugzilla.gnome.org/show_bug.cgi?id=703111
+         The rtpsink and rtpsrc elements add an URI interface so that streams
+         can be decoded with decodebin using the rtp:// interface.
+         The code can be used as follows
+         ```
+         gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
+         gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
+         gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! xvimagesink
+         gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
+         gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay ! avdec_mpeg4 ! videoconvert ! xvimagesink
+         ```
+         rtpmanagerbad: add pkg-config
+         rtpmanagerbad: Rtp should be uppercase
+         rtpmanagerbad: add G_OS_WIN32 for shielding unix headers
+         rtpmanagerbad: remove Since from documentation
+         rtpmanagerbad: rename lib name from nrtp to rtpmanagerbad
+         rtpmanagerbad: sync meson.build with other modules
+         rtpmanagerbad: add Makefile.am
+         rtpmanagerbad: use GstElement to count pads
+         rtpmanagerbad: use gst_bin_set_suppressed_flags
+         rtpmanagerbad: check element creation
+         rtpmanagerbad: post message when trying to access missing rtpbin
+         rtpmanagerbad: return FALSE with g_return tests
+         rtpmanagerbad: use gsocket multicast check
+         rtpmanagerbad: use gst_caps_new_empty_simple iso gst_caps_from_string
+         rtpmanagerbad: sync with gstrtppayloads.h
+         rtpmanagerbad: correct media type X-GST
+         rtpmanagerbad: test if a compatible pad was found
+         rtpmanagerbad: remove evil copy of GstRTPPayloadInfo
+         rtpmanagerbad: add gio_dep to meson
+         rtpmanagerbad: revert to old glib boilerplate
+         GStreamer 1.16 does not yet support the newer GLib templates, so revert.
+         rtpmanagerbad: return GST_STATE_CHANGE_NO_PREROLL for live sources
+         for live sources, NO_PREROLL should be returned for PLAYING->PAUSED and
+         READY->PAUSED transitions.
+         rtpmanagerbad: use GstElement pad counting
+         rtpmanagerbad: just use template name to request pad
+         rtpmanagerbad: remove commented code
+         rtpmanagerbad: use funnel to send multiple streams on one socket
+         rtpmanagerbad: avoid beaches
+         beaches should only be used during the summer, so rewrite the code to
+         return explicitly and avoid beaches during the winter.
+         rtpmanagerbad: add copyright to test code
+         rtpmanagerbad: g_free is NULL safe
+         rtpmanagerbad: do not trace rtpbin
+         rtpmanagerbad: return NULL explitly
+         rtpmanagerbad: warn when data port is not even
+         According to RFC 3550, RTP data should be sent on even ports, while RTCP
+         is sent on the following odd port.
+         rtpmanagerbad: document port allocation in rtpsink/src
+         rtpmanagerbad: improve uri description
+         rtpmanagerbad: add comment re-use socket
+         rtpmanagerbad: rename gst_object_set_properties_from_uri_query
+         rtpmanagerbad: loan prop/val setter from rist
+         rtpmanagerbad: rtpsrc: fix unitialised pointer
+         rtpmanagerbad: fix silly typo
+         rtpmanagerbad: test for empty key/value
+         rtpmanagerbad: rtpsrc: deprecate ssrc collision to INFO
+         rtpmanagerbad: sync debug with rist
+         rtpmanagerbad: small strings allocated on stack
+         rtpmanagerbad: correct rename
+         rtpmanagerbad: add locking on prop setters/getters
+         Locking is added because the URI allows to access the properties too.
+         rtpmanagerbad: allow for RTCP through NAT
+         rtpmanagerbad: move gio to header file
+         rtpmanagerbad: free small strings too
+         rtpmanagerbad: ttl_mc for ttl on dynudpsink
+         rtpmanagerbad: add comments on the URI registered
+         rtpmanagerbad: correct macro after file rename
+         rtpmanagerbad: code style
+         rtpmanagerbad: handle wrong URIs in setter
+         rtpmanagerbad: nit URI notation correction
+         In an URI, the first key/value pair should not have an ampersand, the
+         parser did not die though.
+
+2019-05-31 23:06:33 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * configure.ac:
+       * meson.build:
+         meson: Bump minimal GLib version to 2.44
+         This means we can use some newer features and get rid of some
+         boilerplate code using the G_DECLARE_* macros.
+         As discussed on IRC, 2.44 is old enough by now to start depending on it.
+
+2018-12-11 14:43:21 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+       * tests/check/elements/dash_mpd.c:
+         tests/dash_mpd: take account of Period start in expected timestamps
+         The start of each segment is relative to the Period start, minus
+         the presentation time offset.
+         As specified in section 5.3.9.6 of the MPEG DASH specification:
+         The value of the @t attribute minus the value of the
+         @presentationTimeOffset specifies the MPD start time of
+         the first Segment in the series.
+         Several tests use a Period@start value of 10 seconds, which either
+         needs to be taken into account when calculating expected timestamps
+         or have that attribute removed.
+         This commit uses a mix of updating the timestamps and removing the
+         start attribute, so that both the case of its presence and absence
+         is tested.
+
+2018-10-16 16:57:30 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+       * ext/dash/gstmpdparser.c:
+       * tests/check/elements/dash_mpd.c:
+         dashdemux: include both Period start and presentationTimeOffset in segment start
+         The start of each segment is relative to the Period start, minus
+         the presentation time offset.
+         As specified in section 5.3.9.6 of the MPEG DASH specification:
+         The value of the @t attribute minus the value of the
+         @presentationTimeOffset specifies the MPD start time of
+         the first Segment in the series.
+         dashdemux was not taking account of presentationTimeOffset and in
+         some methods was not taking into account the Period start time.
+         This commit modifies the segment->start value to always be
+         relative to the MPD start time (zero for VOD,
+         availabilityStartTime for live streams). This makes all uses of
+         the segment list consistent.
+         Fixes #841
+
+2019-06-01 01:42:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/audio/index.md:
+       * docs/libs/audio/sitemap.txt:
+       * docs/meson.build:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+         docs: document gstreamer-bad-audio
+         And unprefix subproject paths, making a special case for
+         webrtc, to not conflict with the webrtc plugin
+
+2019-06-01 01:42:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/meson.build:
+         libs: build a gir file for gstreamer-bad-audio
+
+2018-10-02 11:25:14 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Don't print warnings for every buffer passed
+
+2019-05-31 14:09:40 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdksystemmemory.c:
+         msdk: return a right pointer for VUYA format
+         The first channel in memory is V for VUYA format, note
+         GST_VIDEO_FORMAT_VUYA is mapped to MFX_FOURCC_AYUV in this plugin
+
+2019-05-29 17:05:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: update plugin doc cache and add more plugins
+
+2019-05-29 11:28:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/bs2b/meson.build:
+       * ext/closedcaption/meson.build:
+       * ext/colormanagement/meson.build:
+       * ext/dc1394/meson.build:
+       * ext/gme/meson.build:
+       * ext/ladspa/meson.build:
+       * ext/lv2/meson.build:
+       * ext/modplug/meson.build:
+       * ext/musepack/meson.build:
+       * ext/neon/meson.build:
+       * ext/ofa/meson.build:
+       * ext/openal/meson.build:
+       * ext/openexr/meson.build:
+       * ext/openmpt/meson.build:
+       * ext/openni2/meson.build:
+       * ext/sctp/meson.build:
+       * ext/sndfile/meson.build:
+       * ext/srt/meson.build:
+       * ext/teletextdec/meson.build:
+       * ext/voamrwbenc/meson.build:
+       * ext/wildmidi/meson.build:
+       * ext/wpe/meson.build:
+       * gst/audiolatency/meson.build:
+       * sys/androidmedia/meson.build:
+       * sys/applemedia/meson.build:
+       * sys/opensles/meson.build:
+       * sys/tinyalsa/meson.build:
+       * sys/vdpau/meson.build:
+         meson: add more plugins to plugins list
+         Makes sure their path gets added to the uninstalled environment
+         and makes sure they get included in the docs.
+
+2019-05-22 21:44:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: don't reset pad on flush_stop
+         This was mistakenly added when porting to aggregator, this
+         restores the old behaviour, by only resetting them when the
+         muxer itself is reset
+
+2019-05-22 21:44:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+         mpegtssection: events don't necessarily have a structure
+
+2019-05-22 21:44:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: fix send_event by chaining up
+
+2019-05-29 18:27:09 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+         mpegtsmux: add SECTION comment
+         We include an example for injecting sections in the transport
+         stream in the documentation
+
+2019-05-29 17:03:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/examples/mpegts/meson.build:
+       * tests/examples/mpegts/ts-section-writer.c:
+         tests: add example for injecting MPEG-TS sections
+
+2019-05-29 17:01:40 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         basetsmux: preserve user-specified sections across resets
+         As sections can be provided by the user through send_event
+         when the element state is NULL, their lifetime is expected
+         to match that of the muxer, and they must be preserved when
+         the state changes
+
+2019-05-23 01:44:19 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+         atscmux: send empty RRT / MGT / STT tables
+         These are mandated by A/65, their absence gets flagged by
+         stream analyzers. Users can of course provide filled up
+         versions through the send_event API.
+
+2019-05-23 00:03:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+         tsmux: maintain packet counters in a global array
+         We can have multiple TsMuxPacketInfo objects for the same PID
+         with user-provided sections, for example ATSC requires multiple
+         tables with the same PID.
+
+2019-05-21 02:53:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-atsc-section.c:
+       * gst-libs/gst/mpegts/gst-atsc-section.h:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.h:
+         mpegts: extend support for ATSC tables
+         Adds constructors for the following sections:
+         STT: System Time Table
+         MGT: Master Guide Table
+         RRT: Rating Region Table
+         Also adds parsing code for RRT
+
+2019-05-25 00:02:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: only set sctp ports if they are different
+         SCTPassociation will complain if we do that while running and resetting
+         is not something we support at the moment
+
+2019-03-08 00:39:59 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: wait until the SDP has been set before continuing
+         If we renegotiate, then it is currently possible for an added stream to
+         be added to webrtcbin before the SDP is complete.  This causes an
+         internal inconsistency as there is a 'pending sink transceiver' without
+         a corresponding media section in the sdp.  It also does not have an
+         associated transport stream and will fail in _connect_input_stream().
+
+2019-03-08 00:37:39 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/webrtcdatachannel.h:
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: fix racy test with a prenegotiated data channel
+         If both data channels become ready simultaneously, then the two integer
+         read-add-update cycles can execute concurrently and only ever increment
+         once instead of the required twice.  Use an atomic add instead.
+
+2019-03-08 00:32:53 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtcdatachannel.c:
+         webrtc/dc: move some code from webrtcbin into the datachannel
+
+2019-03-04 21:44:33 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: hold onto any unknown ICE candidates until the next SDP set
+         It is very possible for badly behaving signalling or peers to send
+         us ICE candidates before we receive an SDP.  While we had consideration
+         for that on the first set SDP, subsequent SDP's could result in
+         misconfigured ICE transports.  Expand the previous code to also take
+         into account reconfigurations.
+
+2018-11-28 17:23:31 +1100  Matthew Waters <matthew@centricular.com>
+
+       * .gitignore:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcbin.h:
+       * ext/webrtc/transportstream.c:
+       * ext/webrtc/transportstream.h:
+       * ext/webrtc/utils.c:
+       * ext/webrtc/utils.h:
+       * ext/webrtc/webrtcsdp.c:
+       * ext/webrtc/webrtcsdp.h:
+       * ext/webrtc/webrtctransceiver.c:
+       * ext/webrtc/webrtctransceiver.h:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+       * tests/check/elements/webrtcbin.c:
+       * tests/examples/webrtc/Makefile.am:
+       * tests/examples/webrtc/meson.build:
+       * tests/examples/webrtc/webrtcrenego.c:
+         webrtc: Initial support for stream addition/removal
+         Limitations:
+         - No transport changes at all (ICE, DTLS)
+         - Codec changes are untested and probably don't work
+         - Stream removal doesn't remove transports (i.e. non-bundled transports
+         will stay around until webrtcbin is shutdown)
+         - Unified Plan SDP only. No Plan-B support.
+
+2018-12-05 18:36:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: a couple of debug/error string fixes
+
+2018-12-04 22:49:05 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: rewrite bundle checks for separate validate_sdp passes
+         Improves reusability
+
+2018-12-04 20:38:19 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: add helper for getting the offer/answer element
+
+2018-12-04 20:32:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: only check audio/video for direction attributes
+
+2018-12-06 23:28:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: expose the transceiver as a pad property
+
+2018-12-06 23:25:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/webrtctransceiver.c:
+       * gst-libs/gst/webrtc/rtptransceiver.c:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         webrtc/transceiver: add a set_direction function
+         Matches the setDirection() from the W3C spec and allows changing the
+         transceiver direction at the next negotiation cycle.
+
+2018-12-05 19:17:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: track and log more rtpbin state
+         like bye's timeouts, validation, activation, etc
+
+2018-12-06 16:59:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/webrtcsdp.c:
+         webrtc: add support for intersecting inactive transceiver directions
+
+2018-12-04 20:30:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: mark remote/local-description as readonly
+
+2018-11-27 19:27:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: don't reuse stopped transceivers at all
+
+2018-11-27 19:25:51 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: also check for a null mid to signify an unassociated transceiver
+         We always give our transceivers an mline on creation so that check is
+         not useful by itself
+
+2018-11-27 19:24:40 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: only check sink pads for a 'sink pads have caps' check
+
+2018-11-26 22:10:57 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtc: fix answer creation with multiple streams and similar caps
+
+2018-11-26 20:41:29 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: factor out sdp validation into a single function
+
+2018-11-26 19:54:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: validate number of sdp media using validate_sdp
+
+2018-11-26 19:48:31 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: allow multiple validation functions
+
+2018-11-26 19:19:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/webrtcbin.c:
+         tests/webrtc: test that duplicate negotiations succeed
+
+2019-05-28 16:58:20 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Expose current and pending local/remote description properties
+         They are already handled in the property getter and setter functions but were
+         not formally declared in the GObject class.
+
+2019-05-29 22:58:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/aom/gstav1dec.c:
+       * ext/aom/gstav1enc.c:
+       * ext/closedcaption/sliced.h:
+       * ext/colormanagement/gstlcms.c:
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/modplug/gstmodplug.cc:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mplex/gstmplex.cc:
+       * ext/opencv/gstcameracalibrate.cpp:
+       * ext/opencv/gstcameraundistort.cpp:
+       * ext/opencv/gstcvdilate.cpp:
+       * ext/opencv/gstcvequalizehist.cpp:
+       * ext/opencv/gstcverode.cpp:
+       * ext/opencv/gstcvlaplace.cpp:
+       * ext/opencv/gstcvsmooth.cpp:
+       * ext/opencv/gstcvsobel.cpp:
+       * ext/opencv/gstdewarp.cpp:
+       * ext/opencv/gstdisparity.cpp:
+       * ext/opencv/gstedgedetect.cpp:
+       * ext/opencv/gstfaceblur.cpp:
+       * ext/opencv/gstfacedetect.cpp:
+       * ext/opencv/gstgrabcut.cpp:
+       * ext/opencv/gsthanddetect.cpp:
+       * ext/opencv/gstmotioncells.cpp:
+       * ext/opencv/gstretinex.cpp:
+       * ext/opencv/gstsegmentation.cpp:
+       * ext/opencv/gstskindetect.cpp:
+       * ext/opencv/gsttemplatematch.cpp:
+       * ext/opencv/gsttextoverlay.cpp:
+       * ext/openmpt/gstopenmptdec.c:
+       * ext/openni2/gstopenni2.cpp:
+       * ext/openni2/gstopenni2src.cpp:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+       * ext/wildmidi/gstwildmididec.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+       * gst-libs/gst/audio/gstnonstreamaudiodecoder.h:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/interfaces/photography.c:
+       * gst-libs/gst/interfaces/photography.h:
+       * gst/faceoverlay/gstfaceoverlay.c:
+       * gst/festival/gstfestival.c:
+       * sys/applemedia/avfassetsrc.m:
+       * sys/applemedia/iosassetsrc.m:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+         doc: remove xml from comments
+
+2019-05-29 18:33:02 +0000  Adam Duskett <aduskett@gmail.com>
+
+       * ext/hls/meson.build:
+         ext/hls/meson.build: fix dependency logic
+         Currently, if one was to set -Dhls-crypto to either libgcrypt or openssl
+         instead of auto, the following lines would fail because hls_crypto_dep is not
+         yet set:
+         if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
+         if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
+         Instead, change "if not hls_crypto_dep.found()" to "if not have_hls_crypto"
+         which fixes the error.
+
+2019-05-29 12:48:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: remove stale plugins from docs plugin cache
+         gtk plugin has moved to -good, schroedinger has been removed.
+
+2019-05-23 20:24:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/wayland/wlwindow.c:
+         waylandsink: Workaround gnome-shell bug
+         Use a timeout to limit that amount of time we wait after the compositor
+         for the initial configure event. Compositor are support to emit a
+         configure event before any wl_buffer can be attached. The problem is
+         that Weston strongly enforce this, while gnome-shell simply does not
+         emit such an event.
+
+2019-05-26 12:13:48 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/kms/gstkmsallocator.c:
+       * sys/kms/gstkmssink.c:
+         kmssink: Fixup all errno tracing
+         All DRM ioctl uses errno to report the error and simply returns -1
+         when some error occured. This patch fixes all usage of the return
+         value instead of errno to trace the error type and moves to g_strerror
+         instead of string.h strerror in order to be consistent with the rest
+         of GStreamer.
+
+2019-05-25 19:48:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: update plugin cache
+
+2019-05-25 17:35:26 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Updated plugins cache file
+         This was done so that the duplicated rist element would go way.
+
+2019-05-25 16:57:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/videosignal/gstsimplevideomark.c:
+         doc: fix element section documentations
+         Element sections were not rendered anymore after the hotdoc
+         port, fixing this revealed a few incorrect links.
+
+2014-11-15 22:58:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstvp8parser.c:
+         codecparsers: fix debug category initialisation
+         Make thread-safe.
+
+2019-05-20 16:15:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Protect properties and some other code with the mutex
+         These variables are all accessed from multiple threads.
+         Also fix some minor leaks in error code paths.
+
+2019-05-20 15:45:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Insert some empty lines to give the code some space to breath
+
+2019-05-20 15:30:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/timecode/gstavwait.c:
+         avwait: Allow setting start timecode after end timecode and the other way around
+         This might be necessary temporarily for changing the previous settings.
+         Make it an actual error if the settings are like this while processing a
+         buffer.
+
+2018-10-18 13:35:04 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/wayland/wlbuffer.c:
+         wayland/wlbuffer: just return if used_by_compositor is true when attach
+         When buffer is used by compositor, we don't need attach it and hold one
+         more reference. Just check used_by_compositor, just return if it is true.
+         Assert error log is not need, this is normal behavior.
+
+2019-05-21 16:17:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/proxy/gstproxysink.c:
+       * gst/proxy/gstproxysrc.c:
+         proxy: Forward queries/events sent directly to the element correctly
+
+2019-05-21 16:03:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/proxy/gstproxysink.c:
+       * gst/proxy/gstproxysrc.c:
+         proxy: Set SOURCE flag on the source and SINK flag on the sink
+         So that they are properly recognized as such.
+
+2019-05-22 12:25:38 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Check the data size against IVF_FRAME_HEADER_SIZE
+         It is parsing frame data and so should check the data size against the
+         frame header size instead of the file header size. If don't, it is
+         possible to drop the last frame because IVF_FILE_HEADER_SIZE is greater
+         than IVF_FRAME_HEADER_SIZE
+
+2019-05-14 17:04:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Add rist plugin to hotdoc
+
+2019-05-07 15:58:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/Makefile.am:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstroundrobin.c:
+       * gst/rist/gstroundrobin.h:
+       * gst/rist/meson.build:
+         rist: Add combined bonding-method support
+         This patchs add support for configuring the bonding method used. There is
+         two method specified
+         - redundant: All the RTP packets are replicated
+         - combined: RTP packet are evenly distributed over each links
+         Additionally, an application can set the "dispatcher" property in order
+         to implement custom dispatching method. Whenever the "dispatcher"
+         property is set, "bonding-method" property will be ignored.
+
+2019-05-07 11:32:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Implement per session stats
+         As we can now have multiple sessions, stats need to be implemented per
+         session. This follow RTPSession model with sources. The stats are now:
+         dropped: 0
+         received: 0
+         recovered: 0
+         permanently-lost: 0
+         duplicates: 0
+         retransmission-requests-sent: 0
+         rtx-roundtrip-time: 0
+         session-stats:
+         session-id=0
+         rtp-from=""
+         rtcp-from=""
+         dropped=0
+         received=0
+         session-id=1
+         rtp-from=""
+         rtcp-from=""
+         dropped=0
+         received=0
+         . . .
+         session-stats is a GValueArray as there is no better alternatives.
+
+2019-05-03 22:28:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Cleanup unused include
+
+2019-05-03 17:44:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Implement per session stats
+         As we can now have multiple sessions, stats need to be implemented per
+         session. This follow RTPSession model with sources. The stats are now:
+         sent-original-packets: 0
+         sent-retransmitted-packets: 0
+         session-stats:
+         session-id=0
+         sent-original-packets=0
+         sent-retransmitted-packets=0
+         round-trip-time=0
+         session-id=1
+         sent-original-packets=0
+         sent-retransmitted-packets=0
+         round-trip-time=0
+         . . .
+         session-stats is a GValueArray as there is no better alternatives.
+
+2019-05-03 16:52:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: rtxbin may be null in finalize
+
+2019-02-28 17:21:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsrc.c:
+         ristsrc: Add bonding support
+         This add support for receiving and aggregating the same stream
+         over multiple addresses.
+
+2019-02-15 17:13:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: Implement bonding support
+
+2019-05-21 18:49:02 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: spell and grammar corrects in top comments
+
+2019-05-20 10:26:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         docs: Update cache and mark some rist prop as 'show-default'
+
+2019-05-20 10:16:02 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/proxy/meson.build:
+         doc: Add proxysink/proxysrc
+
+2019-05-21 12:15:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+         webrtc: Add various Since markers to new types after 1.14.0
+
+2019-05-20 19:33:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/mpegtsmux/gstmpegtsmux.c:
+         mpegtsmux: Fix build warning error
+         gstmpegtsmux.c:291:3: error: implicit declaration of function ‘memmove’ [-Werror=implicit-function-declaration]
+         memmove (map.data + 4, map.data, map.size - 4);
+         ^
+         gstmpegtsmux.c:291:3: error: incompatible implicit declaration of built-in function ‘memmove’ [-Werror]
+         gstmpegtsmux.c:291:3: note: include ‘<string.h>’ or provide a declaration of ‘memmove’
+
+2019-05-17 01:21:53 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: improve bitrate property documentation
+
+2019-05-15 01:35:04 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         tsmux: refactor logic for when to (re)transmit tables
+         In order to output them at regular intervals in the bitstream
+         when a bitrate is specified.
+
+2019-05-15 01:34:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: fix PCR stream selection
+
+2019-05-10 01:33:17 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/mpegtsmux/Makefile.am:
+         Fix compile after aggregator rewrite and base class refactor
+
+2019-05-08 16:56:29 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: fix continuity counter for packets with no payload
+
+2019-05-01 01:09:19 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+       * gst/mpegtsmux/gstbasetsmuxaac.c:
+       * gst/mpegtsmux/gstbasetsmuxaac.h:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+       * gst/mpegtsmux/gstbasetsmuxopus.c:
+       * gst/mpegtsmux/gstbasetsmuxopus.h:
+       * gst/mpegtsmux/gstbasetsmuxttxt.c:
+       * gst/mpegtsmux/gstbasetsmuxttxt.h:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * tests/check/elements/mpegtsmux.c:
+         mpegtsmux: aggregator port
+
+2019-04-30 01:42:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+       * gst/mpegtsmux/gstatscmux.h:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+       * gst/mpegtsmux/gstbasetsmuxaac.c:
+       * gst/mpegtsmux/gstbasetsmuxaac.h:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+       * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+       * gst/mpegtsmux/gstbasetsmuxopus.c:
+       * gst/mpegtsmux/gstbasetsmuxopus.h:
+       * gst/mpegtsmux/gstbasetsmuxttxt.c:
+       * gst/mpegtsmux/gstbasetsmuxttxt.h:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.h:
+       * gst/mpegtsmux/gstmpegtsmuxplugin.c:
+       * gst/mpegtsmux/meson.build:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+         mpegtsmux: spring cleanup, no functional change
+
+2019-04-30 00:50:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/basetsmux.c:
+       * gst/mpegtsmux/basetsmux.h:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+         basetsmux: extract m2ts-mode to mpegtsmux
+
+2019-04-26 20:26:55 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/atscmux.c:
+       * gst/mpegtsmux/atscmux.h:
+       * gst/mpegtsmux/basetsmux.c:
+       * gst/mpegtsmux/basetsmux.h:
+       * gst/mpegtsmux/basetsmux_aac.c:
+       * gst/mpegtsmux/basetsmux_aac.h:
+       * gst/mpegtsmux/basetsmux_jpeg2000.c:
+       * gst/mpegtsmux/basetsmux_jpeg2000.h:
+       * gst/mpegtsmux/basetsmux_opus.c:
+       * gst/mpegtsmux/basetsmux_opus.h:
+       * gst/mpegtsmux/basetsmux_ttxt.c:
+       * gst/mpegtsmux/basetsmux_ttxt.h:
+       * gst/mpegtsmux/meson.build:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+         mpegtsmux: extract an actual base class
+
+2019-04-26 00:01:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/atscmux.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         mpegtsmux: expose the vmethods necessary for ATSC E-AC-3 handling
+
+2019-04-25 20:23:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/atscmux.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         mpegtsmux: provide API for subclasses to override stream creation
+
+2019-04-25 18:26:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/atscmux.c:
+       * gst/mpegtsmux/atscmux.h:
+       * gst/mpegtsmux/meson.build:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmuxplugin.c:
+         mpegtsmux: add an ATSC subclass
+
+2019-04-22 22:50:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+         tsmux: Calculate PCR from number of bytes written in CBR mode
+
+2019-04-22 22:11:29 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         mpegtsmux: Expose bitrate property
+         This allows outputting a Transport Stream with a constant bitrate,
+         by inserting null packets.
+
+2019-04-22 22:10:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         tsmux: actually respect the PCR frequency we target
+
+2019-04-22 18:23:39 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+       * gst/mpegtsmux/tsmux/tsmuxstream.h:
+         tsmux: Use DTS over PTS
+
+2019-05-18 12:09:18 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/aom/meson.build:
+         meson: Keep track of the aom plugin
+         Otherwise it doesn't appear in the GstPluginsPath.json and thus is not listed in
+         gst-build's uninstalled shell's $GST_PLUGIN_PATH.
+
+2019-05-16 13:08:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins cache for nvdec/nvenc
+
+2019-05-15 11:25:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvdec/meson.build:
+       * sys/nvenc/meson.build:
+         meson: Add nvenc and nvdec to plugin list when available
+
+2019-05-17 17:15:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+         rist: Fix typo
+
+2019-05-17 15:28:54 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Fix some signals' GIR annotations
+         This will lead to wrong bindings otherwise (and creates more correct
+         expectations for developers).
+
+2019-05-16 15:35:58 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Add infos about windows specific plugins
+
+2019-05-16 09:18:53 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Stop building the doc cache by default
+         And update the cache
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
+
+2019-05-15 16:18:01 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/rist/meson.build:
+         docs: Add gstrist to the documentation
+
+2019-04-26 08:40:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * sys/msdk/gstmsdk.c:
+         msdk: fix the typo for gst_msdkvp9dec_debug
+
+2019-05-14 19:19:46 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * autogen.sh:
+       * configure.ac:
+         configure: fix autotools build after gtk-doc removal
+         Were using a gtk-doc specific file to check if we can
+         find the srcdir, so configure would fail.
+
+2019-05-14 10:45:21 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/frei0r/gstfrei0r.c:
+         docs: Make sure frei0r plugins properties default are stable
+         frei0r returns 'random' values as default and it makes the cache
+         often change for no good reason
+
+2019-05-14 10:28:17 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Remove stereo and openglmixer from the cache
+         Thus were moved, respectively, to -good and -base
+
+2019-05-14 07:36:15 +0000  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+       * ext/dtls/gstdtlsagent.c:
+         dtlsagent: Do not overwrite openssl locking callbacks
+
+2019-05-13 22:56:47 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins documentation cache
+
+2018-10-22 11:30:45 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * .gitignore:
+       * Makefile.am:
+       * configure.ac:
+       * docs/Makefile.am:
+       * docs/gst_api_version.in:
+       * docs/index.md:
+       * docs/libs/.gitignore:
+       * docs/libs/Makefile.am:
+       * docs/libs/adaptivedemux/index.md:
+       * docs/libs/adaptivedemux/sitemap.txt:
+       * docs/libs/base/index.md:
+       * docs/libs/base/sitemap.txt:
+       * docs/libs/codecparsers/index.md:
+       * docs/libs/codecparsers/sitemap.txt:
+       * docs/libs/compiling.sgml:
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs.types:
+       * docs/libs/insertbin/index.md:
+       * docs/libs/insertbin/sitemap.txt:
+       * docs/libs/mpegts/index.md:
+       * docs/libs/mpegts/sitemap.txt:
+       * docs/libs/player/index.md:
+       * docs/libs/player/sitemap.txt:
+       * docs/libs/tools/index.md:
+       * docs/libs/tools/sitemap.txt:
+       * docs/libs/video/index.md:
+       * docs/libs/video/sitemap.txt:
+       * docs/libs/webrtc/index.md:
+       * docs/libs/webrtc/sitemap.txt:
+       * docs/meson.build:
+       * docs/plugins/.gitignore:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/camerabin.dot:
+       * docs/plugins/camerabin.png:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-overrides.txt:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/gst-plugins-bad-plugins.prerequisites:
+       * docs/plugins/gst-plugins-bad-plugins.signals:
+       * docs/plugins/gst-plugins-bad-plugins.types:
+       * docs/plugins/gst_plugins_cache.json:
+       * docs/plugins/index.md:
+       * docs/plugins/inspect/plugin-accurip.xml:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audiobuffersplit.xml:
+       * docs/plugins/inspect/plugin-audiofxbad.xml:
+       * docs/plugins/inspect/plugin-audiolatency.xml:
+       * docs/plugins/inspect/plugin-audiomixmatrix.xml:
+       * docs/plugins/inspect/plugin-audiovisualizers.xml:
+       * docs/plugins/inspect/plugin-autoconvert.xml:
+       * docs/plugins/inspect/plugin-bayer.xml:
+       * docs/plugins/inspect/plugin-bluez.xml:
+       * docs/plugins/inspect/plugin-bs2b.xml:
+       * docs/plugins/inspect/plugin-bz2.xml:
+       * docs/plugins/inspect/plugin-camerabin.xml:
+       * docs/plugins/inspect/plugin-chromaprint.xml:
+       * docs/plugins/inspect/plugin-closedcaption.xml:
+       * docs/plugins/inspect/plugin-coloreffects.xml:
+       * docs/plugins/inspect/plugin-colormanagement.xml:
+       * docs/plugins/inspect/plugin-curl.xml:
+       * docs/plugins/inspect/plugin-dashdemux.xml:
+       * docs/plugins/inspect/plugin-dc1394.xml:
+       * docs/plugins/inspect/plugin-de265.xml:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-decklink.xml:
+       * docs/plugins/inspect/plugin-dfbvideosink.xml:
+       * docs/plugins/inspect/plugin-dtls.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-dvb.xml:
+       * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+       * docs/plugins/inspect/plugin-dvdspu.xml:
+       * docs/plugins/inspect/plugin-faac.xml:
+       * docs/plugins/inspect/plugin-faad.xml:
+       * docs/plugins/inspect/plugin-faceoverlay.xml:
+       * docs/plugins/inspect/plugin-fbdevsink.xml:
+       * docs/plugins/inspect/plugin-fdkaac.xml:
+       * docs/plugins/inspect/plugin-festival.xml:
+       * docs/plugins/inspect/plugin-fieldanalysis.xml:
+       * docs/plugins/inspect/plugin-flite.xml:
+       * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+       * docs/plugins/inspect/plugin-freeverb.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * docs/plugins/inspect/plugin-gdp.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-gme.xml:
+       * docs/plugins/inspect/plugin-gmedec.xml:
+       * docs/plugins/inspect/plugin-gsm.xml:
+       * docs/plugins/inspect/plugin-hls.xml:
+       * docs/plugins/inspect/plugin-id3tag.xml:
+       * docs/plugins/inspect/plugin-inter.xml:
+       * docs/plugins/inspect/plugin-interlace.xml:
+       * docs/plugins/inspect/plugin-ipcpipeline.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-ivtc.xml:
+       * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+       * docs/plugins/inspect/plugin-jpegformat.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-kms.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-legacyrawparse.xml:
+       * docs/plugins/inspect/plugin-midi.xml:
+       * docs/plugins/inspect/plugin-mms.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpeg2enc.xml:
+       * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegpsmux.xml:
+       * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegtsmux.xml:
+       * docs/plugins/inspect/plugin-mplex.xml:
+       * docs/plugins/inspect/plugin-musepack.xml:
+       * docs/plugins/inspect/plugin-mxf.xml:
+       * docs/plugins/inspect/plugin-neon.xml:
+       * docs/plugins/inspect/plugin-neonhttpsrc.xml:
+       * docs/plugins/inspect/plugin-netsim.xml:
+       * docs/plugins/inspect/plugin-ofa.xml:
+       * docs/plugins/inspect/plugin-openal.xml:
+       * docs/plugins/inspect/plugin-opencv.xml:
+       * docs/plugins/inspect/plugin-openexr.xml:
+       * docs/plugins/inspect/plugin-openh264.xml:
+       * docs/plugins/inspect/plugin-openjpeg.xml:
+       * docs/plugins/inspect/plugin-openmpt.xml:
+       * docs/plugins/inspect/plugin-openni2.xml:
+       * docs/plugins/inspect/plugin-opusparse.xml:
+       * docs/plugins/inspect/plugin-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-proxy.xml:
+       * docs/plugins/inspect/plugin-removesilence.xml:
+       * docs/plugins/inspect/plugin-resindvd.xml:
+       * docs/plugins/inspect/plugin-rfbsrc.xml:
+       * docs/plugins/inspect/plugin-rsvg.xml:
+       * docs/plugins/inspect/plugin-rtmp.xml:
+       * docs/plugins/inspect/plugin-rtponvif.xml:
+       * docs/plugins/inspect/plugin-sbc.xml:
+       * docs/plugins/inspect/plugin-sdpelem.xml:
+       * docs/plugins/inspect/plugin-segmentclip.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-siren.xml:
+       * docs/plugins/inspect/plugin-smooth.xml:
+       * docs/plugins/inspect/plugin-smoothstreaming.xml:
+       * docs/plugins/inspect/plugin-sndfile.xml:
+       * docs/plugins/inspect/plugin-soundtouch.xml:
+       * docs/plugins/inspect/plugin-spandsp.xml:
+       * docs/plugins/inspect/plugin-speed.xml:
+       * docs/plugins/inspect/plugin-srt.xml:
+       * docs/plugins/inspect/plugin-srtp.xml:
+       * docs/plugins/inspect/plugin-subenc.xml:
+       * docs/plugins/inspect/plugin-teletext.xml:
+       * docs/plugins/inspect/plugin-timecode.xml:
+       * docs/plugins/inspect/plugin-ttmlsubs.xml:
+       * docs/plugins/inspect/plugin-uvch264.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-videofiltersbad.xml:
+       * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+       * docs/plugins/inspect/plugin-videosignal.xml:
+       * docs/plugins/inspect/plugin-vmnc.xml:
+       * docs/plugins/inspect/plugin-voaacenc.xml:
+       * docs/plugins/inspect/plugin-voamrwbenc.xml:
+       * docs/plugins/inspect/plugin-vulkan.xml:
+       * docs/plugins/inspect/plugin-wasapi.xml:
+       * docs/plugins/inspect/plugin-waylandsink.xml:
+       * docs/plugins/inspect/plugin-webp.xml:
+       * docs/plugins/inspect/plugin-webrtc.xml:
+       * docs/plugins/inspect/plugin-webrtcdsp.xml:
+       * docs/plugins/inspect/plugin-wildmidi.xml:
+       * docs/plugins/inspect/plugin-x265.xml:
+       * docs/plugins/inspect/plugin-y4mdec.xml:
+       * docs/plugins/inspect/plugin-yadif.xml:
+       * docs/plugins/inspect/plugin-zbar.xml:
+       * docs/plugins/sitemap.txt:
+       * docs/sitemap.txt:
+       * docs/version.entities.in:
+       * ext/assrender/meson.build:
+       * ext/bz2/meson.build:
+       * ext/chromaprint/meson.build:
+       * ext/curl/meson.build:
+       * ext/dash/meson.build:
+       * ext/directfb/meson.build:
+       * ext/dtls/meson.build:
+       * ext/dts/meson.build:
+       * ext/faac/meson.build:
+       * ext/faad/meson.build:
+       * ext/fdkaac/meson.build:
+       * ext/flite/meson.build:
+       * ext/fluidsynth/meson.build:
+       * ext/gsm/meson.build:
+       * ext/hls/meson.build:
+       * ext/iqa/meson.build:
+       * ext/kate/meson.build:
+       * ext/libde265/meson.build:
+       * ext/libmms/meson.build:
+       * ext/mpeg2enc/meson.build:
+       * ext/mplex/meson.build:
+       * ext/opencv/meson.build:
+       * ext/openh264/meson.build:
+       * ext/openjpeg/meson.build:
+       * ext/opus/meson.build:
+       * ext/resindvd/meson.build:
+       * ext/rsvg/meson.build:
+       * ext/rtmp/meson.build:
+       * ext/sbc/meson.build:
+       * ext/smoothstreaming/meson.build:
+       * ext/soundtouch/meson.build:
+       * ext/spandsp/meson.build:
+       * ext/srtp/meson.build:
+       * ext/ttml/meson.build:
+       * ext/voaacenc/meson.build:
+       * ext/vulkan/meson.build:
+       * ext/wayland/meson.build:
+       * ext/webp/meson.build:
+       * ext/webrtc/meson.build:
+       * ext/webrtcdsp/meson.build:
+       * ext/x265/meson.build:
+       * ext/zbar/meson.build:
+       * gst-libs/gst/adaptivedemux/meson.build:
+       * gst-libs/gst/codecparsers/meson.build:
+       * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/player/gstplayer.c:
+       * gst/accurip/meson.build:
+       * gst/adpcmdec/meson.build:
+       * gst/adpcmenc/meson.build:
+       * gst/aiff/meson.build:
+       * gst/asfmux/meson.build:
+       * gst/audiobuffersplit/meson.build:
+       * gst/audiofxbad/meson.build:
+       * gst/audiomixmatrix/meson.build:
+       * gst/audiovisualizers/meson.build:
+       * gst/autoconvert/meson.build:
+       * gst/bayer/meson.build:
+       * gst/camerabin2/meson.build:
+       * gst/coloreffects/meson.build:
+       * gst/debugutils/meson.build:
+       * gst/dvbsuboverlay/meson.build:
+       * gst/dvdspu/meson.build:
+       * gst/faceoverlay/meson.build:
+       * gst/festival/meson.build:
+       * gst/fieldanalysis/meson.build:
+       * gst/freeverb/meson.build:
+       * gst/frei0r/meson.build:
+       * gst/gaudieffects/meson.build:
+       * gst/gdp/meson.build:
+       * gst/geometrictransform/meson.build:
+       * gst/id3tag/meson.build:
+       * gst/inter/meson.build:
+       * gst/interlace/meson.build:
+       * gst/ivfparse/meson.build:
+       * gst/ivtc/meson.build:
+       * gst/jp2kdecimator/meson.build:
+       * gst/jpegformat/meson.build:
+       * gst/librfb/meson.build:
+       * gst/midi/meson.build:
+       * gst/mpegdemux/meson.build:
+       * gst/mpegpsmux/meson.build:
+       * gst/mpegtsdemux/meson.build:
+       * gst/mpegtsmux/meson.build:
+       * gst/mxf/meson.build:
+       * gst/netsim/meson.build:
+       * gst/onvif/meson.build:
+       * gst/pcapparse/meson.build:
+       * gst/pnm/meson.build:
+       * gst/rawparse/meson.build:
+       * gst/removesilence/meson.build:
+       * gst/sdp/meson.build:
+       * gst/segmentclip/meson.build:
+       * gst/siren/meson.build:
+       * gst/smooth/meson.build:
+       * gst/speed/meson.build:
+       * gst/subenc/meson.build:
+       * gst/timecode/meson.build:
+       * gst/videofilters/meson.build:
+       * gst/videoframe_audiolevel/meson.build:
+       * gst/videoparsers/meson.build:
+       * gst/videosignal/meson.build:
+       * gst/vmnc/meson.build:
+       * gst/y4m/meson.build:
+       * gst/yadif/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * sys/bluez/meson.build:
+       * sys/d3dvideosink/meson.build:
+       * sys/decklink/meson.build:
+       * sys/directsound/meson.build:
+       * sys/dvb/meson.build:
+       * sys/fbdev/meson.build:
+       * sys/ipcpipeline/meson.build:
+       * sys/kms/meson.build:
+       * sys/msdk/meson.build:
+       * sys/shm/meson.build:
+       * sys/uvch264/meson.build:
+       * sys/wasapi/meson.build:
+       * sys/winks/meson.build:
+       * sys/winscreencap/meson.build:
+         docs: Build documentation with hotdoc
+
+2018-11-12 18:24:20 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/curl/gstcurlhttpsrc.c:
+       * ext/dtls/gstdtlsdec.c:
+       * ext/dtls/gstdtlssrtpdec.c:
+         Mark some properties as DOC_SHOW_DEFAULT
+
+2018-08-10 20:32:30 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/closedcaption/io-sim.c:
+       * ext/curl/gstcurlbasesink.c:
+       * ext/curl/gstcurlfilesink.c:
+       * ext/curl/gstcurlftpsink.c:
+       * ext/curl/gstcurlhttpsink.c:
+       * ext/curl/gstcurlsftpsink.c:
+       * ext/curl/gstcurlsmtpsink.c:
+       * ext/curl/gstcurlsshsink.c:
+       * ext/curl/gstcurltlssink.c:
+       * ext/smoothstreaming/gstmssmanifest.c:
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/gstwebrtcice.c:
+       * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/nalutils.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+       * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+       * gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c:
+       * gst-libs/gst/player/gstplayer-media-info.c:
+       * gst-libs/gst/player/gstplayer.c:
+       * gst-libs/gst/webrtc/dtlstransport.h:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+       * gst-libs/gst/webrtc/webrtc_fwd.h:
+       * gst/geometrictransform/geometricmath.c:
+       * sys/shm/shmpipe.c:
+         Minor documentation fixes
+
+2018-10-22 11:30:09 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/directfb/dfbvideosink.c:
+         directfb: Fixup plugin name to match plugin filename
+         Has required by the new PLUGIN_DEFINE macro
+
+2019-05-01 19:40:03 +0200  Niklas Hambüchen <mail@nh2.me>
+
+       * ext/gsm/meson.build:
+         meson: Fix missing GSM_HEADER_IN_SUBDIR logic
+         Until now, this hadn't been translated from autoconf yet.
+
+2019-05-01 19:16:58 +0200  Niklas Hambüchen <mail@nh2.me>
+
+       * ext/gsm/meson.build:
+         meson: Fix typo in gsm header file name
+         This was wrong since commit c360ceea4deb5d56c94126e31b9614734e8c1a7e.
+         Also fix incorrect indentation (tab instead of spaces).
+         Found using hermetic builds with Nix:
+         https://github.com/NixOS/nixpkgs/pull/54398#discussion_r280125735
+
+2019-05-01 19:22:17 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: set cancellation in locked section
+         ... to avoid race with wait which uses it with 'flushing' flag state semantics.
+
+2019-05-01 19:01:03 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/srt/gstsrtobject.c:
+       * ext/srt/gstsrtobject.h:
+         srt: avoid srtsrc segfault upon downward state change
+         ... when it has not yet been connected to.
+         Also, a condition variable is not a semaphore, so a lock/wait/unlock
+         sequence is inherently racy without any state checking.  So switch to
+         a different lock and check the intended state.
+
+2019-05-01 18:58:30 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/srt/gstsrtobject.c:
+         srt: initialize list access within locked region
+
+2019-05-09 14:08:31 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtc: Fix signals documentation
+         Some GIR annotations were incorrect or even missing. The former isn't
+         good for bindings, while the latter is especially annoying for signal
+         handlers, as that means your arguments will get the wrong names in the
+         rendered documentation.
+
+2019-05-09 15:11:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvenc/gstnvbaseenc.c:
+         nvenc: Respect display aspect ratio and set to encoding parameter
+         It should be written in VUI parameter for proper rendering
+
+2019-05-08 15:46:26 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/webrtc/dtlstransport.h:
+       * gst-libs/gst/webrtc/icetransport.h:
+       * gst-libs/gst/webrtc/rtcsessiondescription.h:
+       * gst-libs/gst/webrtc/rtpreceiver.h:
+       * gst-libs/gst/webrtc/rtpsender.h:
+       * gst-libs/gst/webrtc/rtptransceiver.h:
+         webrtc: Add g_autoptr() support for public types
+
+2019-05-08 13:35:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * ext/openh264/gstopenh264enc.cpp:
+         openh264enc: Fix compilation with openh264 v2.0
+         As OpenH264 increased its version to 2.0 the guard for structure
+         member is not valid.
+         This patch will fix the compilation with gst-build and openh264.
+
+2019-05-08 19:26:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/meson.build:
+       * sys/nvenc/meson.build:
+         meson: Allow CUDA_PATH fallback on linux
+         That's what we've supported via autotools build
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/966
+
+2019-05-04 20:56:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/nvenc/gstnvbaseenc.c:
+       * sys/nvenc/gstnvh264enc.c:
+         nvh264enc: Fix broken Y444 format encoding with system memory Y444 support
+         separateColourPlaneFlag is mapped to separate_colour_plane_flag which
+         means Y, U and V planes are separately processed as monochrome sampled pictures.
+         So encoder shouldn't set that flag for normal 4:4:4 encoding.
+         Also for 4:4:4 encoding, NV_ENC_H264_PROFILE_HIGH_444_GUID profile must be
+         explicitly set.
+
+2019-05-05 22:11:16 +0200  Christoph Reiter <reiter.christoph@gmail.com>
+
+       * gst-libs/gst/opencv/meson.build:
+         meson: fix build with opencv=enabled and opencv4. Fixes #964
+         Having the opencv feature enabled would lead to the opencv3 dependency
+         being required which failed with only opencv4 being available.
+         Instead don't require anything and error out at the end if the feature was enabled
+         but no dependency was found.
+
+2019-05-05 19:27:15 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/colormanagement/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         meson: Add support for the colormanagement plugin
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/965
+
+2019-05-05 12:34:23 +0200  Christoph Reiter <reiter.christoph@gmail.com>
+
+       * gst-libs/gst/sctp/Makefile.am:
+         autotools: gstsctp: set LDFLAGS
+         This fixes the mingw build which failed because of "-no-undefined" missing.
+
+2019-05-04 00:15:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklinkvideosink.cpp:
+       * sys/decklink/gstdecklinkvideosink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+       * sys/decklink/gstdecklinkvideosrc.h:
+         decklink: Add support for parsing/outputting AFD/Bar
+
+2019-04-22 15:42:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinkvideosrc.cpp:
+         decklink: Allow VANC to be used for all modes
+
+2019-04-16 13:15:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+         decklink: Add support for widescreen NTSC/PAL
+         Same as non-widescreen but with a different pixel-aspect-ratio.
+
+2019-05-01 21:24:49 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/videoparsers/gsth265parse.c:
+       * gst/videoparsers/gsth265parse.h:
+         h265parse: Parse mastering display info and content light level from SEI
+         ... and set to caps if necessary.
+         Note 1) the mastering display info and content light level SEI meessages
+         are persistent in the corresponding codec video sequence (i.e., GOP).
+         So any bitstream containing those SEI messages
+         (and also all pictures are intended to be HDR rendered) should be ensured that
+         each first slice of codec video sequence follows those SEI messages.
+         Note 2) The codec video sequence is a group an [IRAP + NoRaslOutputFlag == 1]
+         and following AUs which are not [IRAP + NoRaslOutputFlag == 1]
+         The NoRaslOutputFlag is equal to 1 for each IDR AU, BLA AU and some CRA AU.
+         For a CRA AU to have NoRaslOutputFlag equal to 1, following condition should required.
+         * When the CRA AU is the first AU in the bitstream in decoding order
+         * or the CRA AU is the first AU that follows an end of sequence NAL in decoding order
+         * or the HandleCraAsBlaFlag equal to 1.
+         Due to the limited context in parse element, in this commint, CRA AU will not considered as
+         having the NoRaslOutputFlag equal to 1. Therefore, in the worst case,
+         mastering-display-info and content-light-level could be cleared one GOP after
+         when stream was chagned from HDR to SDR.
+
+2019-04-26 20:11:12 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: Add parsing mastering display colour volume SEI message
+         ... and content light level SEI message. Those SEI messages are required
+         for HDR rendering.
+
+2019-05-03 19:10:22 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
+
+       * sys/androidmedia/gstamc.c:
+         androidmedia: added path /system/vendor/etc to dependency
+
+2019-05-02 14:29:03 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * sys/nvdec/Makefile.am:
+       * sys/nvenc/Makefile.am:
+         nvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS
+         The tarballs that were being spun for 1.16 don't contain these headers
+         due to this small oversight, so let's add them.
+
+2019-04-05 17:01:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/inspect/plugin-rist.xml:
+         rist: Enable plugin doc creation
+
+2019-01-21 11:44:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * configure.ac:
+       * gst/meson.build:
+       * gst/rist/Makefile.am:
+       * gst/rist/gstrist.h:
+       * gst/rist/gstristplugin.c:
+       * gst/rist/gstristrtxreceive.c:
+       * gst/rist/gstristrtxsend.c:
+       * gst/rist/gstristsink.c:
+       * gst/rist/gstristsrc.c:
+       * gst/rist/meson.build:
+       * meson_options.txt:
+         rist: Add a plugin implenting RIST TR-06-1 Simple Profile
+         RIST TR-06-1 is a specification for video streaming made by the VSF
+         group. It is using a subset of RTP specification to which some
+         modification has been made to improve RTX behaviour and avoid any need
+         for signaling. The plugin implement ristrtxsend / ristrtxreceive element
+         which are the RIST specific equivalent of rtprtxsend/rtprtxreceive and
+         ristsink / ristsrc which implement rist transmitter and receiver. The
+         RIST protocol is meant to be used in unidirectional way. Typically, MPEG
+         TS over RTP is used.
+         Currently we support unicast and multicast streaming according to the
+         specification. This patch does not include any bonding support yet. The
+         ristsrc element introduce rist:// URI handling in parallel to it's
+         property configuration interface.
+
+2019-05-01 15:31:34 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * ext/closedcaption/gstccextractor.c:
+         ccextractor: copy input buffer flags to output buffer
+         GST_VIDEO_BUFFER_FLAG_INTERLACED and GST_VIDEO_BUFFER_FLAG_TFF
+         flags are needed when processing SCTE 20 closed captions for an interlaced
+         stream, when we need to convert back to analog, in which case we need to match
+         the caption to the top or bottom field
+
+2019-05-01 19:29:16 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Fix typo when setting multiview mode and flags
+
+2019-05-02 13:20:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: Do not drop SEI nals from header
+         SEI message shouldn't be dropped since it contains various informal (or essential)
+         information.
+
+2019-05-02 12:21:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/x265/gstx265enc.c:
+         x265enc: Add support mastering display info and content light level encoding
+         ... if (x265 version >= 1.9) requirement is satisfied.
+         The SEI messages were supported since x265 version 1.8
+         but there was API change from version 1.9
+         (contentLightLevelInfo was renamed to maxCLL and maxFALL)
+
+2019-04-30 21:25:12 -0300  Marcos Kintschner <marcos.ktn@gmail.com>
+
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wasapi/gstwasapisrc.h:
+         Fixed segtotal value being always 2 due to an unused variable
+         The 'MAX' expression used to set segtotal always returned 2 because the unused and unitialized variable buffer_frame_count was always 0
+
+2019-04-26 09:52:43 +0800  Wangfei <fei.w.wang@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+         h265parser: parse range extension message in SPS/PPS.
+         Range extension message may exist in some extension-profile clips.
+
+2019-04-26 16:25:17 +0200  Fabio D'Urso <fabio.durso@m2dtech.com>
+
+       * ext/sctp/sctpassociation.c:
+         sctp: increase DEFAULT_NUMBER_OF_SCTP_STREAMS to 1024
+         This change makes it possible to create more than just 5 webrtc
+         data channels. The maximum number of data channels is exactly
+         DEFAULT_NUMBER_OF_SCTP_STREAMS / 2, therefore the limit is now
+         512.
+
+2019-04-23 15:09:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst-libs/gst/codecparsers/gsth265parser.h:
+       * gst-libs/gst/interfaces/photography.h:
+         libs: Fix various Since markers
+
+2019-04-23 14:33:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c:
+       * gst-libs/gst/player/gstplayer.c:
+         player: Fix various Since markers in the docs
+
+2019-04-23 09:06:13 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * configure.ac:
+       * ext/opencv/meson.build:
+         opencv: allow compilation against 4.1.x
+
+2019-04-21 17:17:14 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/srt/gstsrtsink.c:
+       * ext/srt/gstsrtsrc.c:
+         srt: post error when failing to start
+         ... as appropriate for a subsequent state change failure
+
+2019-04-21 16:47:30 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * ext/srt/gstsrtobject.c:
+         srt: downgrade regular message to log level
+
+2019-04-19 10:33:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * README:
+       * RELEASE:
+       * configure.ac:
+       * docs/plugins/inspect/plugin-accurip.xml:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audiobuffersplit.xml:
+       * docs/plugins/inspect/plugin-audiofxbad.xml:
+       * docs/plugins/inspect/plugin-audiolatency.xml:
+       * docs/plugins/inspect/plugin-audiomixmatrix.xml:
+       * docs/plugins/inspect/plugin-audiovisualizers.xml:
+       * docs/plugins/inspect/plugin-autoconvert.xml:
+       * docs/plugins/inspect/plugin-bayer.xml:
+       * docs/plugins/inspect/plugin-bluez.xml:
+       * docs/plugins/inspect/plugin-bs2b.xml:
+       * docs/plugins/inspect/plugin-bz2.xml:
+       * docs/plugins/inspect/plugin-camerabin.xml:
+       * docs/plugins/inspect/plugin-chromaprint.xml:
+       * docs/plugins/inspect/plugin-closedcaption.xml:
+       * docs/plugins/inspect/plugin-coloreffects.xml:
+       * docs/plugins/inspect/plugin-colormanagement.xml:
+       * docs/plugins/inspect/plugin-curl.xml:
+       * docs/plugins/inspect/plugin-dashdemux.xml:
+       * docs/plugins/inspect/plugin-dc1394.xml:
+       * docs/plugins/inspect/plugin-de265.xml:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-decklink.xml:
+       * docs/plugins/inspect/plugin-dfbvideosink.xml:
+       * docs/plugins/inspect/plugin-dtls.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-dvb.xml:
+       * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+       * docs/plugins/inspect/plugin-dvdspu.xml:
+       * docs/plugins/inspect/plugin-faac.xml:
+       * docs/plugins/inspect/plugin-faad.xml:
+       * docs/plugins/inspect/plugin-faceoverlay.xml:
+       * docs/plugins/inspect/plugin-fbdevsink.xml:
+       * docs/plugins/inspect/plugin-fdkaac.xml:
+       * docs/plugins/inspect/plugin-festival.xml:
+       * docs/plugins/inspect/plugin-fieldanalysis.xml:
+       * docs/plugins/inspect/plugin-flite.xml:
+       * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+       * docs/plugins/inspect/plugin-freeverb.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * docs/plugins/inspect/plugin-gdp.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-gme.xml:
+       * docs/plugins/inspect/plugin-gsm.xml:
+       * docs/plugins/inspect/plugin-hls.xml:
+       * docs/plugins/inspect/plugin-id3tag.xml:
+       * docs/plugins/inspect/plugin-inter.xml:
+       * docs/plugins/inspect/plugin-interlace.xml:
+       * docs/plugins/inspect/plugin-ipcpipeline.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-ivtc.xml:
+       * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+       * docs/plugins/inspect/plugin-jpegformat.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-kms.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-legacyrawparse.xml:
+       * docs/plugins/inspect/plugin-midi.xml:
+       * docs/plugins/inspect/plugin-mms.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegpsmux.xml:
+       * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegtsmux.xml:
+       * docs/plugins/inspect/plugin-musepack.xml:
+       * docs/plugins/inspect/plugin-mxf.xml:
+       * docs/plugins/inspect/plugin-neonhttpsrc.xml:
+       * docs/plugins/inspect/plugin-netsim.xml:
+       * docs/plugins/inspect/plugin-ofa.xml:
+       * docs/plugins/inspect/plugin-openal.xml:
+       * docs/plugins/inspect/plugin-opencv.xml:
+       * docs/plugins/inspect/plugin-openexr.xml:
+       * docs/plugins/inspect/plugin-openh264.xml:
+       * docs/plugins/inspect/plugin-openjpeg.xml:
+       * docs/plugins/inspect/plugin-openmpt.xml:
+       * docs/plugins/inspect/plugin-openni2.xml:
+       * docs/plugins/inspect/plugin-opusparse.xml:
+       * docs/plugins/inspect/plugin-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-proxy.xml:
+       * docs/plugins/inspect/plugin-removesilence.xml:
+       * docs/plugins/inspect/plugin-resindvd.xml:
+       * docs/plugins/inspect/plugin-rfbsrc.xml:
+       * docs/plugins/inspect/plugin-rsvg.xml:
+       * docs/plugins/inspect/plugin-rtmp.xml:
+       * docs/plugins/inspect/plugin-rtponvif.xml:
+       * docs/plugins/inspect/plugin-sbc.xml:
+       * docs/plugins/inspect/plugin-sctp.xml:
+       * docs/plugins/inspect/plugin-sdpelem.xml:
+       * docs/plugins/inspect/plugin-segmentclip.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-siren.xml:
+       * docs/plugins/inspect/plugin-smooth.xml:
+       * docs/plugins/inspect/plugin-smoothstreaming.xml:
+       * docs/plugins/inspect/plugin-sndfile.xml:
+       * docs/plugins/inspect/plugin-soundtouch.xml:
+       * docs/plugins/inspect/plugin-spandsp.xml:
+       * docs/plugins/inspect/plugin-speed.xml:
+       * docs/plugins/inspect/plugin-srt.xml:
+       * docs/plugins/inspect/plugin-srtp.xml:
+       * docs/plugins/inspect/plugin-subenc.xml:
+       * docs/plugins/inspect/plugin-teletext.xml:
+       * docs/plugins/inspect/plugin-timecode.xml:
+       * docs/plugins/inspect/plugin-ttmlsubs.xml:
+       * docs/plugins/inspect/plugin-uvch264.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-videofiltersbad.xml:
+       * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+       * docs/plugins/inspect/plugin-videosignal.xml:
+       * docs/plugins/inspect/plugin-vmnc.xml:
+       * docs/plugins/inspect/plugin-voaacenc.xml:
+       * docs/plugins/inspect/plugin-voamrwbenc.xml:
+       * docs/plugins/inspect/plugin-vulkan.xml:
+       * docs/plugins/inspect/plugin-wasapi.xml:
+       * docs/plugins/inspect/plugin-waylandsink.xml:
+       * docs/plugins/inspect/plugin-webp.xml:
+       * docs/plugins/inspect/plugin-webrtc.xml:
+       * docs/plugins/inspect/plugin-wildmidi.xml:
+       * docs/plugins/inspect/plugin-x265.xml:
+       * docs/plugins/inspect/plugin-y4mdec.xml:
+       * docs/plugins/inspect/plugin-yadif.xml:
+       * docs/plugins/inspect/plugin-zbar.xml:
+       * meson.build:
+         Back to development
+
 === release 1.16.0 ===
 
 2019-04-19 00:28:55 +0100  Tim-Philipp Müller <tim@centricular.com>
          h264
          Fixes #606657
 
-2010-01-11 22:41:57 +0300  Ðóñëàí Èæáóëàòîâ <lrn1986@gmail.com>
+2010-01-11 22:41:57 +0300  ������ ��������� <lrn1986@gmail.com>
 
        * ext/soundtouch/gstbpmdetect.cc:
        * ext/soundtouch/gstpitch.cc:
diff --git a/NEWS b/NEWS
index 817de13..a4e7232 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,14 +1,30 @@
 
 
-GSTREAMER 1.16 RELEASE NOTES
+GSTREAMER 1.18 RELEASE NOTES
 
 
-GStreamer 1.16.0 was originally released on 19 April 2019.
+THESE RELEASE NOTES ARE A PLACEHOLDER, PLEASE BEAR WITH US WHILE WE
+FINISH WRITING UP THE REAL THING.
 
-See https://gstreamer.freedesktop.org/releases/1.16/ for the latest
+GStreamer 1.18.0 has not yet been released. It is scheduled for release
+in summer 2020 now.
+
+1.17.x is the unstable development series that is currently being
+developed in the git master branch and which will eventually result in
+1.18, and 1.17.1 is the current development release in that series.
+
+The schedule for the 1.18 development cycle is yet to be confirmed, but
+it is expected that feature freeze will be in June/July 2020, followed
+by several 1.17 pre-releases and then a new 1.18 stable release in
+July/August 2020.
+
+1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
+1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+
+See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
 version of this document.
 
-_Last updated: Friday 19 April 2019, 00:00 UTC (log)_
+_Last updated: Thursday 18 June 2020, 16:00 UTC (log)_
 
 
 Introduction
@@ -23,1146 +39,133 @@ fixes and other improvements.
 
 Highlights
 
--   GStreamer WebRTC stack gained support for data channels for
-    peer-to-peer communication based on SCTP, BUNDLE support, as well as
-    support for multiple TURN servers.
-
--   AV1 video codec support for Matroska and QuickTime/MP4 containers
-    and more configuration options and supported input formats for the
-    AOMedia AV1 encoder
-
--   Support for Closed Captions and other Ancillary Data in video
-
--   Support for planar (non-interleaved) raw audio
-
--   GstVideoAggregator, compositor and OpenGL mixer elements are now in
-    -base
-
--   New alternate fields interlace mode where each buffer carries a
-    single field
-
--   WebM and Matroska ContentEncryption support in the Matroska demuxer
-
--   new WebKit WPE-based web browser source element
-
--   Video4Linux: HEVC encoding and decoding, JPEG encoding, and improved
-    dmabuf import/export
-
--   Hardware-accelerated Nvidia video decoder gained support for VP8/VP9
-    decoding, whilst the encoder gained support for H.265/HEVC encoding.
-
--   Many improvements to the Intel Media SDK based hardware-accelerated
-    video decoder and encoder plugin (msdk): dmabuf import/export for
-    zero-copy integration with other components; VP9 decoding; 10-bit
-    HEVC encoding; video post-processing (vpp) support including
-    deinterlacing; and the video decoder now handles dynamic resolution
-    changes.
-
--   The ASS/SSA subtitle overlay renderer can now handle multiple
-    subtitles that overlap in time and will show them on screen
-    simultaneously
-
--   The Meson build is now feature-complete (*) and it is now the
-    recommended build system on all platforms. The Autotools build is
-    scheduled to be removed in the next cycle.
-
--   The GStreamer Rust bindings and Rust plugins module are now
-    officially part of upstream GStreamer.
-
--   The GStreamer Editing Services gained a gesdemux element that allows
-    directly playing back serialized edit list with playbin or
-    (uri)decodebin
-
--   Many performance improvements
+-   FIXME
 
 
 Major new features and changes
 
 Noteworthy new API
 
--   GstAggregator has a new "min-upstream-latency" property that forces
-    a minimum aggregate latency for the input branches of an aggregator.
-    This is useful for dynamic pipelines where branches with a higher
-    latency might be added later after the pipeline is already up and
-    running and where a change in the latency would be disruptive. This
-    only applies to the case where at least one of the input branches is
-    live though, it won’t force the aggregator into live mode in the
-    absence of any live inputs.
-
--   GstBaseSink gained a "processing-deadline" property and
-    setter/getter API to configure a processing deadline for live
-    pipelines. The processing deadline is the acceptable amount of time
-    to process the media in a live pipeline before it reaches the sink.
-    This is on top of the systemic latency that is normally reported by
-    the latency query. This defaults to 20ms and should make pipelines
-    such as v4l2src ! xvimagesink not claim that all frames are late in
-    the QoS events. Ideally, this should replace the "max-lateness"
-    property for most applications.
-
--   RTCP Extended Reports (XR) parsing according to RFC 3611:
-    Loss/Duplicate RLE, Packet Receipt Times, Receiver Reference Time,
-    Delay since the last Receiver (DLRR), Statistics Summary, and VoIP
-    Metrics reports. This only provides the ability to parse such
-    packets, generation of XR packets is not supported yet and XR
-    packets are not automatically parsed by rtpbin / rtpsession but must
-    be actively handled by the application.
-
--   a new mode for interlaced video was added where each buffer carries
-    a single field of interlaced video, with buffer flags indicating
-    whether the field is the top field or bottom field. Top and bottom
-    fields are expected to alternate in this mode. Caps for this
-    interlace mode must also carry a format:Interlaced caps feature to
-    ensure backwards compatibility.
-
--   The video library has gained support for three new raw pixel
-    formats:
-
-    -   Y410: packed 4:4:4 YUV, 10 bits per channel
-    -   Y210: packed 4:2:2 YUV, 10 bits per channel
-    -   NV12_10LE40: fully-packed 10-bit variant of NV12_10LE32,
-        i.e. without the padding bits
-
--   GstRTPSourceMeta is a new meta that can be used to transport
-    information about the origin of depayloaded or decoded RTP buffers,
-    e.g. when mixing audio from multiple sources into a single stream. A
-    new "source-info" property on the RTP depayloader base class
-    determines whether depayloaders should put this meta on outgoing
-    buffers. Similarly, the same property on RTP payloaders determines
-    whether they should use the information from this meta to construct
-    the CSRCs list on outgoing RTP buffers.
-
--   gst_sdp_message_from_text() is a convenience constructor to parse
-    SDPs from a string which is particularly useful for language
-    bindings.
-
-Support for Planar (Non-Interleaved) Raw Audio
-
-Raw audio samples are usually passed around in interleaved form in
-GStreamer, which means that if there are multiple audio channels the
-samples for each channel are interleaved in memory, e.g.
-|LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT| for stereo audio. A non-interleaved
-or planar arrangement in memory would look like
-|LEFT|LEFT|LEFT|RIGHT|RIGHT|RIGHT| instead, possibly with
-|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory
-chunks or separated by some padding.
-
-GStreamer has always had signalling for non-interleaved audio since
-version 1.0, but it was never actually properly implemented in any
-elements. audioconvert would advertise support for it, but wasn’t
-actually able to handle it correctly.
-
-With this release we now have full support for non-interleaved audio as
-well, which means more efficient integration with external APIs that
-handle audio this way, but also more efficient processing of certain
-operations like interleaving multiple 1-channel streams into a
-multi-channel stream which can be done without memory copies now.
-
-New API to support this has been added to the GStreamer Audio support
-library: There is now a new GstAudioMeta which describes how data is
-laid out inside the buffer, and buffers with non-interleaved audio must
-always carry this meta. To access the non-interleaved audio samples you
-must map such buffers with gst_audio_buffer_map() which works much like
-gst_buffer_map() or gst_video_frame_map() in that it will populate a
-little GstAudioBuffer helper structure passed to it with the number of
-samples, the number of planes and pointers to the start of each plane in
-memory. This function can also be used to map interleaved audio buffers
-in which case there will be only one plane of interleaved samples.
-
-Of course support for this has also been implemented in the various
-audio helper and conversion APIs, base classes, and in elements such as
-audioconvert, audioresample, audiotestsrc, audiorate.
-
-Support for Closed Captions and Other Ancillary Data in Video
-
-The video support library has gained support for detecting and
-extracting Ancillary Data from videos as per the SMPTE S291M
-specification, including:
-
--   a VBI (Vertical Blanking Interval) parser that can detect and
-    extract Ancillary Data from Vertical Blanking Interval lines of
-    component signals. This is currently supported for videos in v210
-    and UYVY format.
-
--   a new GstMeta for closed captions: GstVideoCaptionMeta. This
-    supports the two types of closed captions, CEA-608 and CEA-708,
-    along with the four different ways they can be transported (other
-    systems are a superset of those).
-
--   a VBI (Vertical Blanking Interval) encoder for writing ancillary
-    data to the Vertical Blanking Interval lines of component signals.
-
-The new closedcaption plugin in gst-plugins-bad then makes use of all
-this new infrastructure and provides the following elements:
-
--   cccombiner: a closed caption combiner that takes a closed captions
-    stream and another stream and adds the closed captions as
-    GstVideoCaptionMeta to the buffers of the other stream.
-
--   ccextractor: a closed caption extractor which will take
-    GstVideoCaptionMeta from input buffers and output them as a separate
-    closed captions stream.
-
--   ccconverter: a closed caption converter that can convert between
-    different formats
-
--   line21encoder, line21decoder: inject/extract line21 closed captions
-    to/from SD video streams
-
--   cc708overlay: decodes CEA 608/708 captions and overlays them on
-    video
-
-Additionally, the following elements have also gained Closed Caption
-support:
-
--   qtdemux and qtmux support CEA 608/708 Closed Caption tracks
-
--   mpegvideoparse, h264parse extracts Closed Captions from MPEG-2/H.264
-    video streams
-
--   avviddec, avvidenc, x264enc got support for extracting/injecting
-    Closed Captions
-
--   decklinkvideosink can output closed captions and decklinkvideosrc
-    can extract closed captions
-
--   playbin and playbin3 learned how to autoplug CEA 608/708 CC overlay
-    elements
-
--   the externally maintained ajavideosrc element for AJA capture cards
-    has support for extracting closed captions
-
-The rsclosedcaption plugin in the Rust plugins collection includes a
-MacCaption (MCC) file parser and encoder.
+-   FIXME
 
 New Elements
 
--   overlaycomposition: New element that allows applications to draw
-    GstVideoOverlayCompositions on a stream. The element will emit the
-    "draw" signal for each video buffer, and the application then
-    generates an overlay for that frame (or not). This is much more
-    performant than e.g. cairooverlay for many use cases, e.g. because
-    pixel format conversions can be avoided or the blitting of the
-    overlay can be delegated to downstream elements (such as
-    gloverlaycompositor). It’s particularly useful for cases where only
-    a small section of the video frame should be drawn on.
-
--   gloverlaycompositor: New OpenGL-based compositor element that
-    flattens any overlays from GstVideoOverlayCompositionMetas into the
-    video stream. This element is also always part of glimagesink.
-
--   glalpha: New element that adds an alpha channel to a video stream.
-    The values of the alpha channel can either be set to a constant or
-    can be dynamically calculated via chroma keying. It is similar to
-    the existing alpha element but based on OpenGL. Calculations are
-    done in floating point so results may not be identical to the output
-    of the existing alpha element.
-
--   rtpfunnel funnels together RTP streams into a single session. Use
-    cases include multiplexing and bundle. webrtcbin uses it to
-    implement BUNDLE support.
-
--   testsrcbin is a source element that provides an audio and/or video
-    stream and also announces them using the recently-introduced
-    GstStream API. This is useful for testing elements such as playbin3
-    or uridecodebin3 etc.
-
--   New closed caption elements: cccombiner, ccextractor, ccconverter,
-    line21encoder, line21decoder and cc708overlay (see above)
-
--   wpesrc: new source element acting as a Web Browser based on WebKit
-    WPE
-
--   Two new OpenCV-based elements: cameracalibrate and cameraundistort
-    that can communicate to figure out distortion correction parameters
-    for a camera and correct for the distortion.
-
--   New sctp plugin based on usrsctp with sctpenc and sctpdec elements.
-    These elements are used inside webrtcbin for implementing data
-    channels.
+-   FIXME
 
 New element features and additions
 
--   playbin3, playbin and playsink have gained a new "text-offset"
-    property to adjust the positioning of the selected subtitle stream
-    vis-a-vis the audio and video streams. This uses subtitleoverlay’s
-    new "subtitle-ts-offset" property. GstPlayer has gained matching API
-    for this, namely gst_player_get_text_video_offset().
-
--   playbin3 buffering improvements: in network playback scenarios there
-    may be multiple inputs to decodebin3, and buffering will be done
-    before decodebin3 using queue2 or downloadbuffer elements inside
-    urisourcebin. Since this is before any parsers or demuxers there may
-    not be any bitrate information available for the various streams, so
-    it was difficult to configure the buffering there smartly within
-    global constraints. This was improved now: The queue2 elements
-    inside urisourcebin will now use the new bitrate query to figure out
-    a bitrate estimate for the stream if no bitrate was provided by
-    upstream, and urisourcebin will use the bitrates of the individual
-    queues to distribute the globally-set "buffer-size" budget in bytes
-    to the various queues. urisourcebin also gained "low-watermark" and
-    "high-watermark" properties which will be proxied to the internal
-    queues, as well as a read-only "statistics" property which allows
-    querying of the minimum/maximum/average byte and time levels of the
-    queues inside the urisourcebin in question.
-
--   splitmuxsink has gained a couple of new features:
-
-    -   new "async-finalize" mode: This mode is useful for muxers or
-        outputs that can take a long time to finalize a file. Instead of
-        blocking the whole upstream pipeline while the muxer is doing
-        its stuff, we can unlink it and spawn a new muxer + sink
-        combination to continue running normally. This requires us to
-        receive the muxer and sink (if needed) as factories via the new
-        "muxer-factory" and "sink-factory" properties, optionally
-        accompanied by their respective properties structures (set via
-        the new "muxer-properties" and "sink-properties" properties).
-        There are also new "muxer-added" and "sink-added" signals in
-        case custom code has to be called for them to configure them.
-
-    -   "split-at-running-time" action signal: When called by the user,
-        this action signal ends the current file (and starts a new one)
-        as soon as the given running time is reached. If called multiple
-        times, running times are queued up and processed in the order
-        they were given.
-
-    -   "split-after" action signal to finish outputting the current GOP
-        to the current file and then start a new file as soon as the GOP
-        is finished and a new GOP is opened (unlike the existing
-        "split-now" which immediately finishes the current file and
-        writes the current GOP into the next newly-started file).
-
-    -   "reset-muxer" property: when unset, the muxer is reset using
-        flush events instead of setting its state to NULL and back. This
-        means the muxer can keep state across resets, e.g. mpegtsmux
-        will keep the continuity counter continuous across segments as
-        required by hlssink2.
-
--   qtdemux gained PIFF track encryption box support in addition to the
-    already-existing PIFF sample encryption support, and also allows
-    applications to select which encryption system to use via a
-    "drm-preferred-decryption-system-id" context in case there are
-    multiple options.
-
--   qtmux: the "start-gap-threshold" property determines now whether an
-    edit list will be created to account for small gaps or offsets at
-    the beginning of a stream in case the start timestamps of tracks
-    don’t line up perfectly. Previously the threshold was hard-coded to
-    1% of the (video) frame duration, now it is 0 by default (so edit
-    list will be created even for small differences), but fully
-    configurable.
-
--   rtpjitterbuffer has improved end-of-stream handling
-
--   rtpmp4vpay will be preferred over rtpmp4gpay for MPEG-4 video in
-    autoplugging scenarios now
-
--   rtspsrc now allows applications to send RTSP SET_PARAMETER and
-    GET_PARAMETER requests using action signals.
-
--   rtspsrc has a small (100ms) configurable teardown delay by default
-    to try and make sure an RTSP TEARDOWN request gets sent out when the
-    source element shuts down. This will block the downward PAUSED to
-    READY state change for a short time, but can be disabled where it’s
-    a problem. Some servers only allow a limited number of concurrent
-    clients, so if no proper TEARDOWN is sent new clients may have
-    problems connecting to the server for a while.
-
--   souphttpsrc behaves better with low bitrate streams now. Before it
-    would increase the read block size too quickly which could lead to
-    it not reading any data from the socket for a very long time with
-    low bitrate streams that are output live downstream. This could lead
-    to servers kicking off the client.
-
--   filesink: do internal buffering to avoid performance regression with
-    small writes since we bypass libc buffering by using writev()
-    instead of fwrite()
-
--   identity: add "eos-after" property and fix "error-after" property
-    when the element is reused
-
--   input-selector: lets context queries pass through, so that
-    e.g. upstream OpenGL elements can use contexts and displays
-    advertised by downstream elements
-
--   queue2: avoid ping-pong between 0% and 100% buffering messages if
-    upstream is pushing buffers larger than one of its limits, plus
-    performance optimisations
-
--   opusdec: new "phase-inversion" property to control phase inversion.
-    When enabled, this will slightly increase stereo quality, but
-    produces a stream that when downmixed to mono will suffer audio
-    distortions.
-
--   The x265enc HEVC encoder also exposes a "key-int-max" property to
-    configure the maximum allowed GOP size now.
-
--   decklinkvideosink has seen stability improvements for long-running
-    pipelines (potential crash due to overflow of leaked clock refcount)
-    and clock-slaving improvements when performing flushing seeks
-    (causing stalls in the output timeline), pausing and/or buffering.
-
--   srtpdec, srtpenc: add support for MKIs which allow multiple keys to
-    be used with a single SRTP stream
-
--   srtpdec, srtpenc: add support for AES-GCM and also add support for
-    it in gst-rtsp-server and rtspsrc.
-
--   The srt Secure Reliable Transport plugin has integrated server and
-    client elements srt{client,server}{src,sink} into one (srtsrc and
-    srtsink), since SRT connection mode can be changed by uri
-    parameters.
-
--   h264parse and h265parse will handle SEI recovery point messages and
-    mark recovery points as keyframes as well (in addition to IDR
-    frames)
-
--   webrtcbin: "add-turn-server" action signal to pass multiple ICE
-    relays (TURN servers).
-
--   The removesilence element has received various new features and
-    properties, such as a "threshold" property, detecting silence only
-    after minimum silence time/buffers, a "silent" property to control
-    bus message notifications as well as a "squash" property.
-
--   AOMedia AV1 decoder gained support for 10/12bit decoding whilst the
-    AV1 encoder supports more image formats and subsamplings now and
-    acquired support for rate control and profile related configuration.
-
--   The Fraunhofer fdkaac plugin can now be built against the 2.0.0
-    version API and has improved multichannel support
-
--   kmssink now supports unpadded 24-bit RGB and can configure mode
-    setting from video info, which enables display of multi-planar
-    formats such as I420 or NV12 with modesetting. It has also gained a
-    number of new properties: The "restore-crtc" property does what it
-    says on the tin and is enabled by default. "plane-properties" and
-    "connector-properties" can be used to pass custom properties to the
-    DRM.
-
--   waylandsink has a "fullscreen" property now and supports the
-    XDG-Shell protocol.
-
--   decklinkvideosink, decklinkvideosrc support selecting between
-    half/full duplex
-
--   The vulkan plugin gained support for macOS and iOS via MoltenVK in
-    addition to the existing support for X11 and Wayland
-
--   imagefreeze has a new num-buffers property to limit the number of
-    buffers that are produced and to send an EOS event afterwards
-
--   webrtcbin has a new, introspectable get-transceiver signal in
-    addition to the old get-transceivers signal that couldn’t be used
-    from bindings
-
--   Support for per-element latency information was added to the latency
-    tracer
+-   FIXME
 
 Plugin and library moves
 
--   The stereo element was moved from -bad into the existing audiofx
-    plugin in -good. If you get duplicate type registration warnings
-    when upgrading, check that you don’t have a stale stereoplugin lying
-    about somewhere.
-
-GstVideoAggregator, compositor, and OpenGL mixer elements moved from -bad to -base
-
-GstVideoAggregator is a new base class for raw video mixers and muxers
-and is based on GstAggregator. It provides defined-latency mixing of raw
-video inputs and ensures that the pipeline won’t stall even if one of
-the input streams stops producing data.
-
-As part of the move to stabilise the API there were some last-minute API
-changes and clean-ups, but those should mostly affect internal elements.
-Most notably, the "ignore-eos" pad property was renamed to
-"repeat-after-eos" and the conversion code was moved to a
-GstVideoAggregatorConvertPad subclass to avoid code duplication, make
-things less awkward for subclasses like the OpenGL-based video mixer,
-and make the API more consistent with the audio aggregator API.
-
-It is used by the compositor element, which is a replacement for
-‘videomixer’ which did not handle live inputs very well. compositor
-should behave much better in that respect and generally behave as one
-would expected in most scenarios.
-
-The compositor element has gained support for per-pad blending mode
-operators (SOURCE, OVER, ADD) which determines what operator to use for
-blending this pad over the previous ones. This can be used to implement
-crossfading and the available operators can be extended in the future as
-needed.
-
-A number of OpenGL-based video mixer elements (glvideomixer, glmixerbin,
-glvideomixerelement, glstereomix, glmosaic) which are built on top of
-GstVideoAggregator have also been moved from -bad to -base now. These
-elements have been merged into the existing OpenGL plugin, so if you get
-duplicate type registration warnings when upgrading, check that you
-don’t have a stale openglmixers plugin lying about somewhere.
+-   FIXME
 
 Plugin removals
 
 The following plugins have been removed from gst-plugins-bad:
 
--   The experimental daala plugin has been removed, since it’s not so
-    useful now that all effort is focused on AV1 instead, and it had to
-    be enabled explicitly with --enable-experimental anyway.
-
--   The spc plugin has been removed. It has been replaced by the gme
-    plugin.
-
--   The acmmp3dec and acmenc plugins for Windows have been removed. ACM
-    is an ancient legacy API and there was no point in keeping the
-    plugins around for a licensed MP3 decoder now that the MP3 patents
-    have expired and we have a decoder in -good. We also didn’t ship
-    these in our cerbero-built Windows packages, so it’s unlikely that
-    they’ll be missed.
+-   FIXME
 
 
 Miscellaneous API additions
 
--   GstBitwriter: new generic bit writer API to complement the existing
-    bit reader
-
--   gst_buffer_new_wrapped_bytes() creates a wrap buffer from a GBytes
-
--   gst_caps_set_features_simple() sets a caps feature on all the
-    structures of a GstCaps
-
--   New GST_QUERY_BITRATE query: This allows determining from downstream
-    what the expected bitrate of a stream may be which is useful in
-    queue2 for setting time based limits when upstream does not provide
-    timing information. tsdemux, qtdemux and matroskademux have basic
-    support for this query on their sink pads.
-
--   elements: there is a new “Hardware” class specifier. Elements
-    interacting with hardware devices should specify this classifier in
-    their element factory class metadata. This is useful to advertise as
-    one might need to put such elements into READY state to test if the
-    hardware is present in the system for example.
-
--   protection: Add a new definition for unspecified system protection,
-    GST_PROTECTION_UNSPECIFIED_SYSTEM_ID
-
--   take functions for various mini objects that didn’t have them yet:
-    gst_query_take(), gst_message_take(), gst_tag_list_take(),
-    gst_buffer_list_take(). Unlike the various _replace() functions
-    _take() does not increase the reference count but takes ownership of
-    the mini object passed.
-
--   clear functions for various mini object types and GstObject which
-    unrefs the object or mini object (if non-NULL) and sets the variable
-    pointed to to NULL: gst_clear_structure(), gst_clear_tag_list(),
-    gst_clear_query(), gst_clear_message(), gst_clear_event(),
-    gst_clear_caps(), gst_clear_buffer_list(), gst_clear_buffer(),
-    gst_clear_mini_object(), gst_clear_object()
-
--   miniobject: new API gst_mini_object_add_parent() and
-    gst_mini_object_remove_parent() to set parent pointers on mini
-    objects to ensure correct writability: Every container of
-    miniobjects now needs to store itself as parent in the child object,
-    and remove itself again later. A mini object is then only writable
-    if there is at most one parent, that parent is writable itself, and
-    the reference count of the mini object is 1. GstBuffer (for
-    memories), GstBufferList (for buffers), GstSample (for caps, buffer,
-    bufferlist), and GstVideoOverlayComposition were updated
-    accordingly. Without this it was possible to have e.g. a buffer list
-    with a refcount of 2 used in two places at once that both modify the
-    same buffer with refcount 1 at the same time wrongly thinking it is
-    writable even though it’s really not.
-
--   poll: add API to watch for POLLPRI and stop treating POLLPRI as a
-    read. This is useful to wait for video4linux events which are
-    signalled via POLLPRI.
-
--   sample: new API to update the contents of a GstSample and make it
-    writable: gst_sample_set_buffer(), gst_sample_set_caps(),
-    gst_sample_set_segment(), gst_sample_set_info(), plus
-    gst_sample_is_writable() and gst_sample_make_writable(). This makes
-    it possible to reuse a sample object and avoid unnecessary memory
-    allocations, for example in appsink.
-
--   ClockIDs now keep a weak reference to underlying clock to avoid
-    crashes in basesink in corner cases where a clock goes away while
-    the ClockID is still in use, plus some new API
-    (gst_clock_id_get_clock(), gst_clock_id_uses_clock()) to check the
-    clock a ClockID is linked to.
-
--   The GstCheck unit test library gained a
-    fail_unless_equals_clocktime() convenience macro as well as some new
-    GstHarness API for for proposing meta APIs from the allocation
-    query: gst_harness_add_propose_allocation_meta(). ASSERT_CRITICAL()
-    checks in unit tests are now skipped if GStreamer was compiled with
-    GST_DISABLE_GLIB_CHECKS.
-
--   gst_audio_buffer_truncate() convenience function to truncate a raw
-    audio buffer
-
--   GstDiscoverer has support for caching the results of discovery in
-    the default cache directory. This can be enabled with the use-cache
-    property and is disabled by default.
-
--   GstMeta that are attached to GstBuffers are now always stored in the
-    order in which they were added.
-
--   Additional support for signalling ONVIF specific features were
-    added: the SEEK event can store a trickmode-interval now and support
-    for the Rate-Control and Frames RTSP headers was added to the RTSP
-    library.
+-   FIXME
 
 
 Miscellaneous performance and memory optimisations
 
 As always there have been many performance and memory usage improvements
-across all components and modules. Some of them (such as dmabuf
-import/export) have already been mentioned elsewhere so won’t be
-repeated here.
+across all components and modules. Some of them have already been
+mentioned elsewhere so won’t be repeated here.
 
 The following list is only a small snapshot of some of the more
 interesting optimisations that haven’t been mentioned in other contexts
 yet:
 
--   The GstVideoEncoder and GstVideoDecoder base classes now release the
-    STREAM_LOCK when pushing out buffers, which means (multi-threaded)
-    encoders and decoders can now receive and continue to process input
-    buffers whilst waiting for downstream elements in the pipeline to
-    process the buffer that was pushed out. This increases throughput
-    and reduces processing latency, also and especially for
-    hardware-accelerated encoder/decoder elements.
-
--   GstQueueArray has seen a few API additions
-    (gst_queue_array_peek_nth(), gst_queue_array_set_clear_func(),
-    gst_queue_array_clear()) so that it can be used in other places like
-    GstAdapter instead of a GList, which reduces allocations and
-    improves performance.
-
--   appsink now reuses the sample object in pull_sample() if possible
-
--   rtpsession only starts the RTCP thread when it’s actually needed now
-
--   udpsrc uses a buffer pool now and the GstUdpSrc object structure was
-    optimised for better cache performance
+-   FIXME
 
 GstPlayer
 
--   API was added to fine-tune the synchronisation offset between
-    subtitles and video
+-   FIXME
 
 
 Miscellaneous changes
 
--   As a result of moving to newer FFmpeg APIs, encoder and decoder
-    elements exposed by the GStreamer FFmpeg wrapper plugin (gst-libav)
-    may have seen possibly incompatible changes to property names and/or
-    types, and not all properties exposed might be functional. We are
-    still reviewing the new properties and aim to minimise breaking
-    changes at least for the most commonly-used properties, so please
-    report any issues you run into!
+-   FIXME
 
 OpenGL integration
 
--   The OpenGL mixer elements have been moved from -bad to
-    gst-plugins-base (see above)
-
--   The Mesa GBM backend now supports headless mode
-
--   gloverlaycompositor: New OpenGL-based compositor element that
-    flattens any overlays from GstVideoOverlayCompositionMetas into the
-    video stream.
-
--   glalpha: New element that adds an alpha channel to a video stream.
-    The values of the alpha channel can either be set to a constant or
-    can be dynamically calculated via chroma keying. It is similar to
-    the existing alpha element but based on OpenGL. Calculations are
-    done in floating point so results may not be identical to the output
-    of the existing alpha element.
-
--   glupload: Implement direct dmabuf uploader, the idea being that some
-    GPUs (like the Vivante series) can actually perform the YUV->RGB
-    conversion internally, so no custom conversion shaders are needed.
-    To make use of this feature, we need an additional uploader that can
-    import DMABUF FDs and also directly pass the pixel format, relying
-    on the GPU to do the conversion.
-
--   The OpenGL library no longer restores the OpenGL viewport. This is a
-    performance optimization to not require performing multiple
-    expensive glGet*() function calls per frame. This affects any
-    application or plugin use of the following functions and objects:
-    -   glcolorconvert library object (not the element)
-    -   glviewconvert library object (not the element)
-    -   gst_gl_framebuffer_draw_to_texture()
-    -   custom GstGLWindow implementations
+-   FIXME
 
 
 Tracing framework and debugging improvements
 
--   There is now a GDB PRETTY PRINTER FOR VARIOUS GSTREAMER TYPES: For
-    GstObject pointers the type and name is added, e.g.
-    0x5555557e4110 [GstDecodeBin|decodebin0]. For GstMiniObject pointers
-    the object type is added, e.g. 0x7fffe001fc50 [GstBuffer]. For
-    GstClockTime and GstClockTimeDiff the time is also printed in human
-    readable form, e.g. 150116219955 [+0:02:30.116219955].
-
--   GDB EXTENSION WITH TWO CUSTOM GDB COMMANDS gst-dot AND gst-print:
-
-    -   gst-dot creates dot files that a very close to what
-        GST_DEBUG_BIN_TO_DOT_FILE() produces, but object properties and
-        buffer contents such as codec-data in caps are not available.
-
-    -   gst-print produces high-level information about a GStreamer
-        object. This is currently limited to pads for GstElements and
-        events for the pads. The output may look like this:
-
--   gst_structure_to_string() now serialises the actual value of
-    pointers when serialising GstStructures instead of claiming they’re
-    NULL. This makes debug logging in various places less confusing,
-    because it’s clear now that structure fields actually hold valid
-    objects. Such object pointer values will never be deserialised
-    however.
+-   FIXME
 
 
 Tools
 
--   gst-inspect-1.0 has coloured output now and will automatically use a
-    pager if the output does not fit on a page. This only works in a
-    UNIX environment and if the output is not piped, and on Windows 10
-    build 16257 or newer. If you don’t like the colours you can disable
-    them by setting the GST_INSPECT_NO_COLORS=1 environment variable or
-    passing the --no-color command line option.
+-   FIXME
 
 
 GStreamer RTSP server
 
--   Improved backlog handling when using TCP interleaved for data
-    transport. Before there was a fixed maximum size for backlog
-    messages, which was prone to deadlocks and made it difficult to
-    control memory usage with the watch backlog. The RTSP server now
-    limits queued TCP data messages to one per stream, moving queuing of
-    the data into the pipeline and leaving the RTSP connection
-    responsive to RTSP messages in both directions, preventing all those
-    problems.
-
--   Initial ULP Forward Error Correction support in rtspclientsink and
-    for RECORD mode in the server.
-
--   API to explicitly enable retransmission requests (RTX)
-
--   Lots of multicast-related fixes
-
--   rtsp-auth: Add support for parsing .htdigest files
+-   FIXME
 
 
 GStreamer VAAPI
 
--   Support Wayland’s display for context sharing, so the application
-    can pass its own wl_display in order to be used for the VAAPI
-    display creation.
-
--   A lot of work to support new Intel hardware using media-driver as VA
-    backend.
-
--   For non-x86 devices, VAAPI display can instantiate, through DRM,
-    with no PCI bus. This enables the usage of libva-v4l2-request
-    driver.
-
--   Added support for XDG-shell protocol as wl_shell replacement which
-    is currently deprecated. This change add as dependency
-    wayland-protocol.
-
--   GstVaapiFilter, GstVaapiWindow, and GstVaapiDecoder classes now
-    inherit from GstObject, gaining all the GStreamer’s instrumentation
-    support.
-
--   The metadata now specifies the plugin as Hardware class.
-
--   H264 decoder is more stable with problematic streams.
-
--   In H265 decoder added support for profiles main-422-10 (P010_10LE),
-    main-444 (AYUV) and main-444-10 (Y410)
-
--   JPEG decoder handles dynamic resolution changes.
-
--   More specification adherence in H264 and H265 encoders.
+-   FIXME
 
 
 GStreamer OMX
 
--   Add support of NV16 format to video encoders input.
-
--   Video decoders now handle the ALLOCATION query to tell upstream
-    about the number of buffers they require. Video encoders will also
-    use this query to adjust their number of allocated buffers
-    preventing starvation when using dynamic buffer mode.
-
--   The OMX_PERFORMANCE debug category has been renamed to OMX_API_TRACE
-    and can now be used to track a widder variety of interactions
-    between OMX and GStreamer.
-
--   Video encoders will now detect frame rate only changes and will
-    inform OMX about it rather than doing a full format reset.
-
--   Various Zynq UltraScale+ specific improvements:
-    -   Video encoders are now able to import dmabuf from upstream.
-    -   Support for HEVC range extension profiles and more AVC profiles.
-    -   We can now request video encoders to generate an IDR using the
-        force key unit event.
+-   FIXME
 
 
 GStreamer Editing Services and NLE
 
--   Added a gesdemux element, it is an auto pluggable element that
-    allows decoding edit list like files supported by GES
-
--   Added gessrc which wraps a GESTimeline as a standard source element
-    (implementing the ges protocol handler)
-
--   Added basic support for videorate::rate property potentially
-    allowing changing playback speed
-
--   Layer priority is now fully automatic and they should be moved with
-    the new ges_timeline_move_layer method, ges_layer_set_priority is
-    now deprecated.
-
--   Added a ges_timeline_element_get_layer_priority so we can simply get
-    all information about GESTimelineElement position in the timeline
-
--   GESVideoSource now auto orientates the images if it is defined in a
-    meta (overridable).
-
--   Added some PyGObject overrides to make the API more pythonic
-
--   The threading model has been made more explicit with safe guard to
-    make sure not thread safe APIs are not used from the wrong threads.
-    It is also now possible to properly handle in what thread the API
-    should be used.
-
--   Optimized GESClip and GESTrackElement creation
-
--   Added a way to compile out the old, unused and deprecated
-    GESPitiviFormatter
-
--   Re implemented the timeline editing API making it faster and making
-    the code much more maintainable
-
--   Simplified usage of nlecomposition outside GES by removing quirks in
-    it API usage and removing the need to treat it specially from an
-    application perspective.
-
--   ges-launch-1.0:
-
-    -   Added support to add titles to the timeline
-    -   Enhance the help auto generating it from the code
-
--   Deprecate ges_timeline_load_from_uri as loading the timeline should
-    be done through a project now
-
--   MANY leaks have been plugged and the unit testsuite is now “leak
-    free”
+-   FIXME
 
 
 GStreamer validate
 
--   Added an action type to verify the checksum of the sink last-sample
-
--   Added an include keyword to validate scenarios
-
--   Added the notion of variable in scenarios, with the set-vars keyword
-
--   Started adding support for “performance” like tests by allowing to
-    define the number of dropped buffers or the minimum buffer frequency
-    on a specific pad
-
--   Added a validateflow plugin which allows defining the data flow to
-    be seen on a particular pad and verifying that following runs match
-    the expectations
-
--   Added support for appsrc based test definition so we can instrument
-    the data pushed into the pipeline from scenarios
-
--   Added a mockdecryptor allowing adding tests with on encrypted files,
-    the element will potentially be instrumented with a validate
-    scenario
-
--   gst-validate-launcher:
-
-    -   Cleaned up output
-
-    -   Changed the default for “muting” tests as user doesn’t expect
-        hundreds of windows to show up when running the testsuite
-
-    -   Fixed the outputted xunit files to be compatible with GitLab
-
-    -   Added support to run tests on media files in push mode (using
-        pushfile://)
-
-    -   Added support for running inside gst-build
-
-    -   Added support for running ssim tests on rendered files
-
-    -   Added a way to simply define tests on pipelines through a simple
-        .json file
-
-    -   Added a python app to easily run python testsuite reusing all
-        the launcher features
-
-    -   Added flatpak knowledge so we can print backtrace even when
-        running from within flatpak
-
-    -   Added a way to automatically generated “known issues”
-        suppressions lines
-
-    -   Added a way to rerun tests to check if they are flaky and added
-        a way to tolerate tests known to be flaky
-
-    -   Add a way to output html log files
+-   FIXME
 
 
 GStreamer Python Bindings
 
--   add binding for gst_pad_set_caps()
-
--   pygobject dependency requirement was bumped to >= 3.8
-
--   new audiotestsrc, audioplot, and mixer plugin examples, and a
-    dynamic pipeline example
+-   FIXME
 
 
 GStreamer C# Bindings
 
--   bindings for the GstWebRTC library
+-   FIXME
 
 
 GStreamer Rust Bindings
 
-The GStreamer Rust bindings are now officially part of the GStreamer
-project and are also maintained in the GStreamer GitLab.
-
-The releases will generally not be synchronized with the releases of
-other GStreamer parts due to dependencies on other projects.
-
-Also unlike the other GStreamer libraries, the bindings will not commit
-to full API stability but instead will follow the approach that is
-generally taken by Rust projects, e.g.:
-
-1)  0.12.X will be completely API compatible with all other 0.12.Y
-    versions.
-2)  0.12.X+1 will contain bugfixes and compatible new feature additions.
-3)  0.13.0 will _not_ be backwards compatible with 0.12.X but projects
-    will be able to stay at 0.12.X without any problems as long as they
-    don’t need newer features.
-
-The current stable release is 0.12.2 and the next release series will be
-0.13, probably around March 2019.
-
-At this point the bindings cover most of GStreamer core (except for most
-notably GstAllocator and GstMemory), and most parts of the app, audio,
-base, check, editing-services, gl, net. pbutils, player, rtsp,
-rtsp-server, sdp, video and webrtc libraries.
-
-Also included is support for creating subclasses of the following types
-and writing GStreamer plugins:
-
--   gst::Element
--   gst::Bin and gst::Pipeline
--   gst::URIHandler and gst::ChildProxy
--   gst::Pad, gst::GhostPad
--   gst_base::Aggregator and gst_base::AggregatorPad
--   gst_base::BaseSrc and gst_base::BaseSink
--   gst_base::BaseTransform
-
-Changes to 0.12.X since 0.12.0
-
-Fixed
-
--   PTP clock constructor actually creates a PTP instead of NTP clock
-
-Added
-
--   Bindings for GStreamer Editing Services
--   Bindings for GStreamer Check testing library
--   Bindings for the encoding profile API (encodebin)
-
--   VideoFrame, VideoInfo, AudioInfo, StructureRef implements Send and
-    Sync now
--   VideoFrame has a function to get the raw FFI pointer
--   From impls from the Error/Success enums to the combined enums like
-    FlowReturn
--   Bin-to-dot file functions were added to the Bin trait
--   gst_base::Adapter implements SendUnique now
--   More complete bindings for the gst_video::VideoOverlay interface,
-    especially
-    gst_video::is_video_overlay_prepare_window_handle_message()
-
-Changed
-
--   All references were updated from GitHub to freedesktop.org GitLab
--   Fix various links in the README.md
--   Link to the correct location for the documentation
--   Remove GitLab badge as that only works with gitlab.com currently
-
-Changes in git master for 0.13
-
-Fixed
-
--   gst::tag::Album is the album tag now instead of artist sortname
-
-Added
-
--   Subclassing infrastructure was moved directly into the bindings,
-    making the gst-plugin crate deprecated. This involves many API
-    changes but generally cleans up code and makes it more flexible.
-    Take a look at the gst-plugins-rs crate for various examples.
-
--   Bindings for CapsFeatures and Meta
--   Bindings for
-    ParentBufferMeta,VideoMetaandVideoOverlayCompositionMeta`
--   Bindings for VideoOverlayComposition and VideoOverlayRectangle
--   Bindings for VideoTimeCode
-
--   UniqueFlowCombiner and UniqueAdapter wrappers that make use of the
-    Rust compile-time mutability checks and expose more API in a safe
-    way, and as a side-effect implement Sync and Send now
-
--   More complete bindings for Allocation Query
--   pbutils functions for codec descriptions
--   TagList::iter() for iterating over all tags while getting a single
-    value per tag. The old ::iter_tag_list() function was renamed to
-    ::iter_generic() and still provides access to each value for a tag
--   Bus::iter() and Bus::iter_timed() iterators around the corresponding
-    ::pop\*() functions
-
--   serde serialization of Value can also handle Buffer now
-
--   Extensive comments to all examples with explanations
--   Transmuxing example showing how to use typefind, multiqueue and
-    dynamic pads
--   basic-tutorial-12 was ported and added
-
-Changed
-
--   Rust 1.31 is the minimum supported Rust version now
--   Update to latest gir code generator and glib bindings
-
--   Functions returning e.g. gst::FlowReturn or other “combined” enums
-    were changed to return split enums like
-    Result<gst::FlowSuccess, gst::FlowError> to allow usage of the
-    standard Rust error handling.
-
--   MiniObject subclasses are now newtype wrappers around the underlying
-    GstRc<FooRef> wrapper. This does not change the API in any breaking
-    way for the current usages, but allows MiniObjects to also be
-    implemented in other crates and makes sure rustdoc places the
-    documentation in the right places.
-
--   BinExt extension trait was renamed to GstBinExt to prevent conflicts
-    with gtk::Bin if both are imported
-
--   Buffer::from_slice() can’t possible return None
-
--   Various clippy warnings
+-   FIXME
 
 
 GStreamer Rust Plugins
 
-Like the GStreamer Rust bindings, the Rust plugins are now officially
-part of the GStreamer project and are also maintained in the GStreamer
-GitLab.
-
-In the 0.3.x versions this contained infrastructure for writing
-GStreamer plugins in Rust, and a set of plugins.
-
-In git master that infrastructure was moved to the GLib and GStreamer
-bindings directly, together with many other improvements that were made
-possible by this, so the gst-plugins-rs repository only contains
-GStreamer elements now.
-
-Elements included are:
-
--   Tutorials plugin: identity, rgb2gray and sinesrc with extensive
-    comments
-
--   rsaudioecho, a port of the audiofx element
-
--   rsfilesrc, rsfilesink
-
--   rsflvdemux, a FLV demuxer. Not feature-equivalent with flvdemux yet
-
--   threadshare plugin: ts-appsrc, ts-proxysrc/sink, ts-queue, ts-udpsrc
-    and ts-tcpclientsrc elements that use a fixed number of threads and
-    share them between instances. For more background about these
-    elements see Sebastian’s talk “When adding more threads adds more
-    problems - Thread-sharing between elements in GStreamer” at the
-    GStreamer Conference 2017.
+-   FIXME
 
--   rshttpsrc, a HTTP source around the hyper/reqwest Rust libraries.
-    Not feature-equivalent with souphttpsrc yet.
 
--   togglerecord, an element that allows to start/stop recording at any
-    time and keeps all audio/video streams in sync.
-
--   mccparse and mccenc, parsers and encoders for the MCC closed caption
-    file format.
-
-Changes to 0.3.X since 0.3.0
-
--   All references were updated from GitHub to freedesktop.org GitLab
--   Fix various links in the README.md
--   Link to the correct location for the documentation
-
-Changes in git master for 0.4
-
--   togglerecord: Switch to parking_lot crate for mutexes/condition
-    variables for lower overhead
--   Merge threadshare plugin here
--   New closedcaption plugin with mccparse and mccenc elements
--   New identity element for the tutorials plugin
-
--   Register plugins statically in tests instead of relying on the
-    plugin loader to find the shared library in a specific place
-
--   Update to the latest API changes in the GLib and GStreamer bindings
--   Update to the latest versions of all crates
+Build and Dependencies
 
+-   The Autotools build system has finally been removed in favour of the
+    Meson build system. Developers who currently use gst-uninstalled
+    should move to gst-build.
 
-Build and Dependencies
+-   API and plugin documentation are no longer built with gtk_doc. The
+    gtk_doc documentation has been removed in favour of a new unified
+    documentation module built with hotdoc. The intention is to
+    distribute the generated documentation in form of tarballs alongside
+    releases.
 
--   The MESON BUILD SYSTEM BUILD IS NOW FEATURE-COMPLETE (*) and it is
-    now the recommended build system on all platforms and also used by
-    Cerbero to build GStreamer on all platforms. The Autotools build is
-    scheduled to be removed in the next cycle. Developers who currently
-    use gst-uninstalled should move to gst-build. The build option
-    naming has been cleaned up and made consistent and there are now
-    feature options to enable/disable plugins and various other features
-    on a case-by-case basis. (*) with the exception of plugin docs which
-    will be handled differently in future
-
--   Symbol export in libraries is now controlled via explicit exports
-    using symbol visibility or export defines where supported, to ensure
-    consistency across all platforms. This also allows libraries to have
-    exports that vary based on detected platform features and configure
-    options as is the case with the GStreamer OpenGL integration library
-    for example. A few symbols that had been exported by accident in
-    earlier versions may no longer be exported. These symbols will not
-    have had declarations in any public header files then though and
-    would not have been usable.
-
--   The GStreamer FFmpeg wrapper plugin (gst-libav) now depends on
-    FFmpeg 4.x and uses the new FFmpeg 4.x API and stopped relying on
-    ancient API that was removed with the FFmpeg 4.x release. This means
-    that it is no longer possible to build this module against an older
-    system-provided FFmpeg 3.x version. Use the internal FFmpeg 4.x copy
-    instead if you build using autotools, or use gst-libav 1.14.x
-    instead which targets the FFmpeg 3.x API and _should_ work fine in
-    combination with a newer GStreamer. It’s difficult for us to support
-    both old and new FFmpeg APIs at the same time, apologies for any
-    inconvenience caused.
-
--   Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and
-    nvenc can be built against CUDA Toolkit versions 9 and 10.0 now. The
-    dynlink interface has been dropped since it’s deprecated in 10.0.
-
--   The (optional) OpenCV requirement has been bumped to >= 3.0.0 and
-    the plugin can also be built against OpenCV 4.x now.
-
--   New sctp plugin based on usrsctp (for WebRTC data channels)
+-   FIXME
 
 Cerbero
 
@@ -1172,221 +175,66 @@ Windows, Android, iOS and macOS.
 
 Cerbero has seen a number of improvements:
 
--   Cerbero has been ported to Python 3 and requires Python 3.5 or newer
-    now
-
--   Source tarballs are now protected by checksums in the recipes to
-    guard against download errors and malicious takeover of projects or
-    websites. In addition, downloads are only allowed via secure
-    transports now and plain HTTP, FTP and git:// transports are not
-    allowed anymore.
-
--   There is now a new fetch-bootstrap command which downloads sources
-    required for bootstrapping, with an optional --build-tools-only
-    argument to match the bootstrap --build-tools-only command.
-
--   The bootstrap, build, package and bundle-source commands gained a
-    new --offline switch that ensures that only sources from the cache
-    are used and never downloaded via the network. This is useful in
-    combination with the fetch and fetch-bootstrap commands that acquire
-    sources ahead of time before any build steps are executed. This
-    allows more control over the sources used and when sources are
-    updated, and is particularly useful for build environments that
-    don’t have network access.
-
--   bootstrap --assume-yes will automatically say ‘yes’ to any
-    interactive prompts during the bootstrap stage, such as those from
-    apt-get or yum.
-
--   bootstrap --system-only will only bootstrap the system without build
-    tools.
-
--   Manifest support: The build manifest can be used in continuous
-    integration (CI) systems to fixate the Git revision of certain
-    projects so that all builds of a pipeline are on the same reference.
-    This is used in GStreamer’s gitlab CI for example. It can also be
-    used in order to re-produce a specific build. To set a manifest, you
-    can set manifest = 'my_manifest.xml' in your configuration file, or
-    use the --manifest command line option. The command line option will
-    take precedence over anything specific in the configuration file.
-
--   The new build-deps command can be used to build only the
-    dependencies of a recipe, without the recipe itself.
-
--   new --list-variants command to list available variants
-
--   variants can now be set on the command line via the -v option as a
-    comma-separated list. This overrides any variants set in any
-    configuration files.
-
--   new qt5, intelmsdk and nvidia variants for enabling Qt5 and hardware
-    codec support. See the Enabling Optional Features with Variants
-    section in the Cerbero documentation for more details how to enable
-    and use these variants.
-
--   A new -t / --timestamp command line switch makes commands print
-    timestamps
+-   FIXME
 
 
 Platform-specific changes and improvements
 
 Android
 
--   toolchain: update compiler to clang and NDKr18. NDK r18 removed the
-    armv5 target and only has Android platforms that target at least
-    armv7 so the armv5 target is not useful anymore.
-
--   The way that GIO modules are named has changed due to upstream GLib
-    natively adding support for loading static GIO modules. This means
-    that any GStreamer application using gnutls for SSL/TLS on the
-    Android or iOS platforms (or any other setup using static libraries)
-    will fail to link looking for the g_io_module_gnutls_load_static()
-    function. The new function name is now
-    g_io_gnutls_load(gpointer data). data can be NULL for a static
-    library. Look at this commit for the necessary change in the
-    examples.
-
--   various build issues on Android have been fixed.
+-   FIXME
 
 macOS and iOS
 
--   various build issues on iOS have been fixed.
-
--   the minimum required iOS version is now 9.0. The difference in
-    adoption between 8.0 and 9.0 is 0.1% and the bump to 9.0 fixes some
-    build issues.
-
--   The way that GIO modules are named has changed due to upstream GLib
-    natively adding support for loading static GIO modules. This means
-    that any GStreamer application using gnutls for SSL/TLS on the
-    Android or iOS platforms (or any other setup using static libraries)
-    will fail to link looking for the g_io_module_gnutls_load_static()
-    function. The new function name is now
-    g_io_gnutls_load(gpointer data). data can be NULL for a static
-    library. Look at this commit for the necessary change in the
-    examples.
+-   FIXME
 
 Windows
 
--   The webrtcdsp element is shipped again as part of the Windows binary
-    packages, the build system issue has been resolved.
-
--   ‘Inconsistent DLL linkage’ warnings when building with MSVC have
-    been fixed
-
--   Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and
-    nvenc build on Windows now, also with MSVC and using Meson.
-
--   The ksvideosrc camera capture plugin supports 16-bit grayscale video
-    now
+-   toolchain upgrade
 
--   The wasapisrc audio capture element implements loopback recording
-    from another output device or sink
-
--   wasapisink recover from low buffer levels in shared mode and some
-    exclusive mode fixes
-
--   dshowsrc now implements the GstDeviceMonitor interface
+-   FIXME
 
 
 Contributors
 
-Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț,
-Alex Ashley, Alexey Chernov, Alicia Boya García, Amit Pandya, Andoni
-Morales Alastruey, Andreas Frisch, Andre McCurdy, Andy Green, Anthony
-Violo, Antoine Jacoutot, Antonio Ospite, Arun Raghavan, Aurelien Jarno,
-Aurélien Zanelli, ayaka, Bananahemic, Bastian Köcher, Branko Subasic,
-Brendan Shanks, Carlos Rafael Giani, Charlie Turner, Christoph Reiter,
-Corentin Noël, Daeseok Youn, Damian Vicino, Dan Kegel, Daniel Drake,
-Daniel Klamt, Danilo Spinella, Dardo D Kleiner, David Ing, David
-Svensson Fors, Devarsh Thakkar, Dimitrios Katsaros, Edward Hervey,
-Emilio Pozuelo Monfort, Enrique Ocaña González, Erlend Eriksen, Ezequiel
-Garcia, Fabien Dessenne, Fabrizio Gennari, Florent Thiéry, Francisco
-Velazquez, Freyr666, Garima Gaur, Gary Bisson, George Kiagiadakis, Georg
-Lippitsch, Georg Ottinger, Geunsik Lim, Göran Jönsson, Guillaume
-Desmottes, H1Gdev, Haihao Xiang, Haihua Hu, Harshad Khedkar, Havard
-Graff, He Junyan, Hoonhee Lee, Hosang Lee, Hyunjun Ko, Ilya Smelykh,
-Ingo Randolf, Iñigo Huguet, Jakub Adam, James Stevenson, Jan Alexander
-Steffens, Jan Schmidt, Jerome Laheurte, Jimmy Ohn, Joakim Johansson,
-Jochen Henneberg, Johan Bjäreholt, John-Mark Bell, John Bassett, John
-Nikolaides, Jonathan Karlsson, Jonny Lamb, Jordan Petridis, Josep Torra,
-Joshua M. Doe, Jos van Egmond, Juan Navarro, Julian Bouzas, Jun Xie,
-Junyan He, Justin Kim, Kai Kang, Kim Tae Soo, Kirill Marinushkin, Kyrylo
-Polezhaiev, Lars Petter Endresen, Linus Svensson, Louis-Francis
-Ratté-Boulianne, Lucas Stach, Luis de Bethencourt, Luz Paz, Lyon Wang,
-Maciej Wolny, Marc-André Lureau, Marc Leeman, Marco Trevisan (Treviño),
-Marcos Kintschner, Marian Mihailescu, Marinus Schraal, Mark Nauwelaerts,
-Marouen Ghodhbane, Martin Kelly, Matej Knopp, Mathieu Duponchelle,
-Matteo Valdina, Matthew Waters, Matthias Fend, memeka, Michael Drake,
-Michael Gruner, Michael Olbrich, Michael Tretter, Miguel Paris, Mike
-Wey, Mikhail Fludkov, Naveen Cherukuri, Nicola Murino, Nicolas Dufresne,
-Niels De Graef, Nirbheek Chauhan, Norbert Wesp, Ognyan Tonchev, Olivier
-Crête, Omar Akkila, Pat DeSantis, Patricia Muscalu, Patrick Radizi,
-Patrik Nilsson, Paul Kocialkowski, Per Forlin, Peter Körner, Peter
-Seiderer, Petr Kulhavy, Philippe Normand, Philippe Renon, Philipp Zabel,
-Pierre Labastie, Piotr Drąg, Roland Jon, Roman Sivriver, Roman Shpuntov,
-Rosen Penev, Russel Winder, Sam Gigliotti, Santiago Carot-Nemesio,
-Sean-Der, Sebastian Dröge, Seungha Yang, Shi Yan, Sjoerd Simons, Snir
-Sheriber, Song Bing, Soon, Thean Siew, Sreerenj Balachandran, Stefan
-Ringel, Stephane Cerveau, Stian Selnes, Suhas Nayak, Takeshi Sato,
-Thiago Santos, Thibault Saunier, Thomas Bluemel, Tianhao Liu,
-Tim-Philipp Müller, Tobias Ronge, Tomasz Andrzejak, Tomislav Tustonić,
-U. Artie Eoff, Ulf Olsson, Varunkumar Allagadapa, Víctor Guzmán, Víctor
-Manuel Jáquez Leal, Vincenzo Bono, Vineeth T M, Vivia Nikolaidou, Wang
-Fei, wangzq, Whoopie, Wim Taymans, Wind Yuan, Wonchul Lee, Xabier
-Rodriguez Calvar, Xavier Claessens, Haihao Xiang, Yacine Bandou,
-Yeongjin Jeong, Yuji Kuwabara, Zeeshan Ali,
+-   FIXME
 
 … and many others who have contributed bug reports, translations, sent
 suggestions or helped testing.
 
 
-Stable 1.16 branch
+Stable 1.18 branch
 
-After the 1.16.0 release there will be several 1.16.x bug-fix releases
+After the 1.18.0 release there will be several 1.18.x bug-fix releases
 which will contain bug fixes which have been deemed suitable for a
 stable branch, but no new features or intrusive changes will be added to
-a bug-fix release usually. The 1.16.x bug-fix releases will be made from
-the git 1.16 branch, which is a stable branch.
+a bug-fix release usually. The 1.18.x bug-fix releases will be made from
+the git 1.18 branch, which will be a stable branch.
 
-1.16.0
+1.18.0
 
-1.16.0 was released on 19 April 2019.
+1.18.0 has not been released yet.
 
 
 Known Issues
 
--   possibly breaking/incompatible changes to properties of wrapped
-    FFmpeg decoders and encoders (see above).
-
--   The way that GIO modules are named has changed due to upstream GLib
-    natively adding support for loading static GIO modules. This means
-    that any GStreamer application using gnutls for SSL/TLS on the
-    Android or iOS platforms (or any other setup using static libraries)
-    will fail to link looking for the g_io_module_gnutls_load_static()
-    function. The new function name is now
-    g_io_gnutls_load(gpointer data). See Android/iOS sections above for
-    further details.
+-   FIXME
 
 
-Schedule for 1.18
+Schedule for 1.20
 
-Our next major feature release will be 1.18, and 1.17 will be the
-unstable development version leading up to the stable 1.18 release. The
-development of 1.17/1.18 will happen in the git master branch.
+Our next major feature release will be 1.20, and 1.19 will be the
+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.18 development cycle is yet to be confirmed, but it
-is possible that the next cycle will be a short one in which case
-feature freeze would be perhaps around August 2019 with a new 1.18
-stable release in September.
+The plan for the 1.20 development cycle is yet to be confirmed.
 
-1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
-1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+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.
 
 ------------------------------------------------------------------------
 
 _These release notes have been prepared by Tim-Philipp Müller with_
-_contributions from Sebastian Dröge, Guillaume Desmottes, Matthew
-Waters, _ _Thibault Saunier, and Víctor Manuel Jáquez Leal._
+_contributions from … (FIXME)_
 
 _License: CC BY-SA 4.0_
diff --git a/RELEASE b/RELEASE
index d43afe7..2ddc70d 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,18 +1,15 @@
-This is GStreamer gst-plugins-bad 1.17.0.1.
+This is GStreamer gst-plugins-bad 1.17.1.
 
-The GStreamer team is thrilled to announce a new major feature release in the
-stable 1.0 API series of your favourite cross-platform multimedia framework!
+GStreamer 1.17 is the development branch leading up to the next major
+stable version which will be 1.18.
 
-As always, this release is again packed with new features, bug fixes and
-other improvements.
-
-The 1.16 release series adds new features on top of the 1.14 series and is
+The 1.17 development series adds new features on top of the 1.16 series and is
 part of the API and ABI-stable 1.x release series of the GStreamer multimedia
 framework.
 
 Full release notes will one day be found at:
 
-  https://gstreamer.freedesktop.org/releases/1.16/
+  https://gstreamer.freedesktop.org/releases/1.18/
 
 Binaries for Android, iOS, Mac OS X and Windows will usually be provided
 shortly after the release.
@@ -60,7 +57,7 @@ You can find source releases of gstreamer in the download
 directory: https://gstreamer.freedesktop.org/src/gstreamer/
 
 The git repository and details how to clone it can be found at
-https://cgit.freedesktop.org/gstreamer/gstreamer/
+https://gitlab.freedesktop.org/gstreamer/
 
 ==== Homepage ====
 
index a50f6a4..a25935b 100644 (file)
@@ -72,7 +72,7 @@
         "filename": "gstaccurip",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstadpcmdec",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstaiff",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstasfmux",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstassrender",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstaudiolatency",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstautoconvert",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstbayer",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstbluez",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstbs2b",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstbz2",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstchromaprint",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstde265",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstdtsdec",
         "license": "GPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstdvbsubenc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstdvbsuboverlay",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstdvdspu",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfaad",
         "license": "GPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfaceoverlay",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfbdevsink",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfdkaac",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfestival",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstflite",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfluidsynthmidi",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfreeverb",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstfrei0r",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstgaudieffects",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstgdp",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstgme",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstgsm",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstid3tag",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstivfparse",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstjp2kdecimator",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstjpegformat",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstkate",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstkms",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstladspa",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmicrodns",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmidi",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmms",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmodplug",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmpegpsdemux",
         "license": "unknown",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmpegpsmux",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmpegtsdemux",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 }
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstmusepack",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 }
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstneonhttpsrc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstnvcodec",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstofa",
         "license": "GPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstopenal",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstopenexr",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstopusparse",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstpcapparse",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstpnm",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstremovesilence",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstresindvd",
         "license": "GPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstrfbsrc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstrsvg",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstrtmp",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstrtpmanagerbad",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstrtponvif",
         "license": "unknown",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsbc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsctp",
         "license": "BSD",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsdpelem",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsegmentclip",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstshm",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsiren",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsmooth",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsmoothstreaming",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsndfile",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsoundtouch",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstspandsp",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstspeed",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstsubenc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstswitchbin",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstteletext",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gsttranscode",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstttmlsubs",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstv4l2codecs",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstvideoframe_audiolevel",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstvideoparsersbad",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstvideosignal",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstvmnc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstvoaacenc",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstwaylandsink",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 }
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
                 ]
             }
         },
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
         "filename": "gstzbar",
         "license": "LGPL",
         "other-types": {},
-        "package": "GStreamer Bad Plug-ins git",
+        "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "url": "Unknown package origin"
index c7009d1..395a6be 100644 (file)
@@ -19,7 +19,7 @@ something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.
  </description>
  <category></category>
- <bug-database rdf:resource="http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&amp;component=gst-plugins-bad" />
+ <bug-database rdf:resource="https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/" />
  <screenshots></screenshots>
  <mailing-list rdf:resource="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" />
  <programming-language>C</programming-language>
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
 
  <release>
   <Version>
+   <revision>1.17.1</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2020-06-19</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.17.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.16.0</revision>
    <branch>master</branch>
    <name></name>
index 570f651..a6ac4a2 100644 (file)
@@ -1,5 +1,5 @@
 project('gst-plugins-bad', 'c', 'cpp',
-  version : '1.17.0.1',
+  version : '1.17.1',
   meson_version : '>= 0.49',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
@@ -175,7 +175,7 @@ cdata.set('SIZEOF_VOIDP', cc.sizeof('void*'))
 cdata.set_quoted('VERSION', gst_version)
 cdata.set_quoted('PACKAGE', 'gst-plugins-bad')
 cdata.set_quoted('PACKAGE_VERSION', gst_version)
-cdata.set_quoted('PACKAGE_BUGREPORT', 'http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer')
+cdata.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/new')
 cdata.set_quoted('PACKAGE_NAME', 'GStreamer Bad Plug-ins')
 cdata.set_quoted('GETTEXT_PACKAGE', 'gst-plugins-bad-1.0')
 cdata.set_quoted('GST_API_VERSION', api_version)