=== release 1.20.4 ===

2022-10-12 16:39:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.20.4

2022-10-12 16:39:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.4

2022-09-30 18:57:01 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/multifile/gstsplitmuxpartreader.c:
	  splitmuxsrc: don't consider unlinked pads when deactivating part
	  If splitmuxsrc exposes multiple pads, but only one is linked, part pads
	  will never see an EOS event. This shouldn't prevent the part from being
	  eventually deactivated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3148>

2022-10-06 15:02:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Retry SETUP with non-compliant URL resolution on "Bad Request" and "Not found"
	  Various RTSP servers/cameras assume base and control URL to be simply
	  appended instead of being resolved according to the relative URL
	  resolution algorithm as mandated by the RTSP specification.
	  To work around this, try using such a non-compliant control URL if the
	  server didn't like the URL used in the first SETUP request.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1447
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/922
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3137>

2022-09-27 13:56:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: guard against timestamp calculation overflow in gap event loop
	  Could possibly cause an endless loop.
	  Fixes #1400.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3085>

2022-09-02 17:21:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/rtpjitterbuffer.c:
	  rtpjitterbuffer: Add test for crash caused by removing timers twice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>

2022-09-02 12:20:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Make it more explicit that update_rtx_timers() takes ownership of the passed in timer
	  It is not valid anymore afterwards and must not be used, otherwise an
	  already freed pointer might be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>

2022-09-02 12:20:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Don't shadow variable
	  While this didn't cause any problems in this context it is simply
	  confusing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>

2022-09-02 12:19:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Change RTX timer availability checks to assertions
	  It's impossible to end up in the corresponding code without a timer for
	  RTX packets because otherwise it would be an unsolicited RTX packet and
	  we would've already returned early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>

2022-09-02 12:17:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Only unschedule timers for late packets if they're not RTX packets and only once
	  Timers for RTX packets are dealt with later in update_rtx_timers(), and
	  timers for non-RTX packets would potentially also be unscheduled a
	  second time from there so avoid that.
	  Also don't shadow the timer variable from the outer scope but instead
	  make use of it directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>

2022-08-18 17:08:51 +0300  Raul Tambre <raul@tambre.ee>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	* tests/check/elements/rtpjitterbuffer.c:
	  rtpjitterbuffer: remove lost timer for out of order packets
	  When receiving old packets remove the running lost timer if present.
	  This fixes incorrect reporting of a lost packet even if it arrived in time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2995>

2022-08-26 18:42:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/gstrtpvp8depay.c:
	  rtpvp8depay: If configured to wait for keyframes after packet loss, also do that if incomplete frames are detected
	  This can happen if the data inside the packets is incomplete without the
	  seqnums being discontinuous because of ULPFEC being used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2988>

2022-08-24 17:30:34 +0800  Jianhui Dai <jianhui.j.dai@intel.com>

	* sys/v4l2/gstv4l2allocator.c:
	  v4l2allocator: Fix invalid imported dmabuf fd
	  Fix a typo that set userptr to dmabuf fd. It leads to failure of
	  dmabuf-import io-mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2940>

2022-08-23 10:28:30 +0000  zhiyuan.liu <zhiyuan.liu@seraphic-corp.com>

	* gst/isomp4/gstisoff.c:
	  isoff: Fix earliest pts field parse issue
	  earliest pts will be covered by first_offset field on version 0 case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2934>

2022-08-17 09:11:52 +1000  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsrc.c:
	  splitmuxsrc: Stop pad task before cleanup
	  When stopping the element, make sure the pad task
	  is stopped before destroying the part readers.
	  Closes a race where the pad task might access
	  a freed pointer.
	  Also add a guard against this sort of thing
	  by holding a ref to the reader in the pad loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2902>

2022-08-12 20:20:43 +1000  Jan Schmidt <jan@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Avoid crash on reconfiguring.
	  When reconfiguring a stream that never created
	  an output pad, don't access a NULL GstPad pointer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2900>

2022-08-15 14:30:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	  v4l2bufferpool: Fix debug trace
	  The tracing of the buffer pointer was done on the secondary pointer, which
	  does not match with other traces of the same buffer. This made the trace
	  confusing and less useful.
	  Fixes #1379
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2898>

2022-08-12 13:20:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Consider the actual control base URI also in case the connection URI contains a query string
	  That is, get rid of unnecessary and wrong special-casing.
	  This could always use gst_rtsp_url_get_request_uri_with_control() but as
	  we only have the control base URI as string it is easier to just call
	  gst_uri_join_strings().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2877>

2022-08-12 02:20:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
	  rtpst2022-1-fecenc: Drain column packets on EOS
	  Otherwise we won't send the protection packets for the last few
	  packets when a stream ends.
	  Also send EOS on the FEC src row pad immediately, and on the FEC src
	  column pad after draining is complete. This makes it so that the FEC
	  src pads on rtpbin behave the same way as the RTCP src pads on rtpbin
	  when EOS is received on the send_rtp_sink pad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2874>

2022-08-11 08:48:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't use invalid values from failed trex parsing
	  If parsing the fragment default values (`trex` atom) failed, don't try to
	  compute a bogus sample_description_id value.
	  Fixes #1369
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2862>

2022-08-04 18:09:52 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst/alpha/gstalpha.c:
	  alpha: fix stride issue when out buffer has padding on right
	  if outbuf has padding on right, need jump to next line use stride,
	  otherwise downstream element will show a wrong picture when use the
	  same stride
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2854>

2022-05-25 18:40:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtsp+rtmp: Forward warning added to tls-validation-flags to our users
	  With the 2.72 release, glib-networking developers have decided that
	  TLS certificate validation cannot be implemented correctly by them, so
	  they've deprecated it.
	  In a nutshell: a cert can have several validation errors, but there
	  are no guarantees that the TLS backend will return all those errors,
	  and things are made even more complicated by the fact that the list of
	  errors might refer to certs that are added for backwards-compat and
	  won't actually be used by the TLS library.
	  Our best option is to ignore the deprecation and pass the warning onto
	  users so they can make an appropriate security decision regarding
	  this.
	  We can't deprecate the tls-validation-flags property because it is
	  very useful when connecting to RTSP cameras that will never get
	  updates to fix certificate errors.
	  Relevant upstream merge requests / issues:
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
	  https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
	  https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>

2022-07-27 15:44:09 +0200  Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

	* gst/videofilter/gstvideoflip.c:
	  videoflip: Fix caps negotiation when method is selected
	  The caps negotiation should respect the selected method to the test pipeline below works properly.
	  gst-launch-1.0 videotestsrc ! video/x-raw,width=320,height=600 ! videoflip method=clockwise ! video/x-raw,width=600,height=320 ! fakesink
	  Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2815>

2022-07-24 23:44:10 -0400  fduncanh <fduncanh@gmail.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object.c: add support for Apple's full-range bt709 colorspace variant
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2806>

2022-07-08 18:22:58 +0800  Elliot Chen <elliot.chen@nxp.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	  v4l2: fix the critical log when unreference the buffer with no data
	  In the trick mode, driver may queue a valid buffer follow by an
	  empty buffer which has no valid data to indicate EOS.For the empty
	  buffer whose memory is multi-plane, need to resize it before
	  unreference it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2794>

2022-07-15 13:22:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/qt/qtglrenderer.cc:
	  qt: Fix another instance of Qt/GStreamer both defining `GLsync` differently
	  In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:87,
	  from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:14:
	  ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration 'typedef void* GLsync'
	  40 | typedef gpointer GLsync;
	  |                  ^~~~~~
	  In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengl.h:127,
	  from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsggeometry.h:44,
	  from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgnode.h:43,
	  from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgrendererinterface.h:43,
	  from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qquickwindow.h:44,
	  from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/QQuickWindow:1,
	  from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:6:
	  ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: note: previous declaration as 'typedef struct __GLsync* GLsync'
	  24 | typedef struct __GLsync *GLsync;
	  |                          ^~~~~~
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2771>

2022-07-15 06:40:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/osxaudio/gstosxaudiodeviceprovider.c:
	* sys/osxaudio/gstosxcoreaudiohal.c:
	  osxaudio: Fix deprecation in macOS 12.0
	  kAudioObjectPropertyElementMaster has been renamed to
	  kAudioObjectPropertyElementMain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2764>

2022-07-12 21:19:35 +1000  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Fix memory leak
	  Fix a leak of the buffer info struct when reaching
	  EOS without data on the reference input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2753>

2022-04-14 01:19:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	* tests/check/elements/splitmuxsink.c:
	  splitmuxsink: Don't crash on EOS without buffer
	  Fix a case where upstream pushed EOS without buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2753>

2022-05-28 15:04:10 -0400  fduncanh <fduncanh@gmail.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: replace multiple decoder bug warnings with single one
	  Achieve this by dropping frames after a drain if the driver failed to so.
	  This works around RaspberryPi driver issue [1].
	  [1] https://github.com/raspberrypi/linux/issues/5059#issuecomment-
	  Fixes #1103
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2710>

2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  coding style: allow declarations after statement
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
	  and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2702>

2022-06-25 19:50:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: skip unit tests for dependency-less elements that have been disabled
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2672>

2022-06-28 01:29:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/dv/meson.build:
	  dv, opusparse: fix duplicate symbols in static build
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2673>

2022-06-24 12:10:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/jack/meson.build:
	  examples: don't try and build jack examples if jack was disabled
	  Fixes meson build ERROR: Unknown variable "libjack_dep".
	  Fixes #1301
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2658>

2022-02-07 17:51:39 -0500  Tristan Matthews <tmatth@videolan.org>

	* gst/matroska/matroska-mux.c:
	  matroskamux: allow width+height caps changes for VP8/9
	  For VP8 and VP9, width+height changes are signalled inband.
	  Refs https://github.com/Kurento/bugtracker/issues/535 and
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2640>

2022-02-07 16:41:40 -0500  Tristan Matthews <tmatth@videolan.org>

	* gst/matroska/matroska-mux.c:
	  matroskamux: allow width + height changes for avc3|hev1
	  For avc3 and hev1, the intent was to allow more flexibility for caps changes
	  (see https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit_id=9bd8d608d5bae27ec5ff09e733f76ca32b17420c)
	  however width and resolution were previously omitted.
	  avc3 and hev1 specifically support changing stream-parameters on the fly, whereas avc1/hvc1 disallow in-band SPS.
	  This commit allows for changes to width and height for these which is in line with matroskamux's behaviour prior to 1.14.0.
	  Practically speaking, one use case where this is commonly seen is when capturing a WebRTC stream, as the browser will adapt the resolution live.
	  Suggested-by: Mathieu Duponchelle "<mathieu@centricular.com>"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2640>

2022-06-16 00:59:00 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>

=== release 1.20.3 ===

2022-06-15 23:36:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.20.3

2022-06-15 23:36:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.3

2022-05-18 10:23:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-demux.c:
	  matroskademux: Avoid integer-overflow resulting in heap corruption in WavPack header handling code
	  blocksize + WAVPACK4_HEADER_SIZE might overflow gsize, which then
	  results in allocating a very small buffer. Into that buffer blocksize
	  data is memcpy'd later which then causes out of bound writes and can
	  potentially lead to anything from crashes to remote code execution.
	  Thanks to Adam Doupe for analyzing and reporting the issue.
	  CVE: CVE-2022-1920
	  https://gstreamer.freedesktop.org/security/sa-2022-0004.html
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1226
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2613>

2022-05-30 10:15:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix integer overflows in zlib decompression code
	  Various variables were of smaller types than needed and there were no
	  checks for any overflows when doing additions on the sizes. This is all
	  checked now.
	  In addition the size of the decompressed data is limited to 200MB now as
	  any larger sizes are likely pathological and we can avoid out of memory
	  situations in many cases like this.
	  Also fix a bug where the available output size on the next iteration in
	  the zlib decompression code was provided too large and could
	  potentially lead to out of bound writes.
	  Thanks to Adam Doupe for analyzing and reporting the issue.
	  CVE: tbd
	  https://gstreamer.freedesktop.org/security/sa-2022-0003.html
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>

2022-05-18 11:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-read-common.c:
	  matroskademux: Fix integer overflows in zlib/bz2/etc decompression code
	  Various variables were of smaller types than needed and there were no
	  checks for any overflows when doing additions on the sizes. This is all
	  checked now.
	  In addition the size of the decompressed data is limited to 120MB now as
	  any larger sizes are likely pathological and we can avoid out of memory
	  situations in many cases like this.
	  Also fix a bug where the available output size on the next iteration in
	  the zlib/bz2 decompression code was provided too large and could
	  potentially lead to out of bound writes.
	  Thanks to Adam Doupe for analyzing and reporting the issue.
	  CVE: CVE-2022-1922, CVE-2022-1923, CVE-2022-1924, CVE-2022-1925
	  https://gstreamer.freedesktop.org/security/sa-2022-0002.html
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>

2022-05-18 12:00:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/avi/gstavidemux.c:
	  avidemux: Fix integer overflow resulting in heap corruption in DIB buffer inversion code
	  Check that width*bpp/8 doesn't overflow a guint and also that
	  height*stride fits into the provided buffer without overflowing.
	  Thanks to Adam Doupe for analyzing and reporting the issue.
	  CVE: CVE-2022-1921
	  See https://gstreamer.freedesktop.org/security/sa-2022-0001.html
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1224
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2609>

2022-05-19 04:16:25 +0000  Adam Doupe <adamdoupe@gmail.com>

	* gst/smpte/gstmask.c:
	  smpte: Fix integer overflow with possible heap corruption in GstMask creation.
	  Check that width*height*sizeof(guint32) doesn't overflow when
	  allocated user_data for mask, potential for heap overwrite when
	  inverting.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1231
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2605>

2022-06-07 17:31:43 +0200  Bastien Nocera <hadess@hadess.net>

	* ext/gtk/gtkgstglwidget.c:
	  gtk: Fix double-free when OpenGL can't be initialised
	  gtk_gl_area_get_error() doesn't return a copy of the error, but just the
	  error. If initialising OpenGL fails, then GtkGstGLWidget will consume
	  the error, and cause GTK to try and display freed memory.
	  ==50914== Invalid read of size 8
	  ==50914==    at 0x4C4CB8A: gtk_gl_area_draw_error_screen (gtkglarea.c:663)
	  ==50914==    by 0x4C4CB8A: gtk_gl_area_draw (gtkglarea.c:687)
	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
	  ==50914==    by 0x4D4B6BF: gtk_stack_render (gtkstack.c:2207)
	  ==50914==    by 0x4BB4B03: gtk_css_custom_gadget_draw (gtkcsscustomgadget.c:159)
	  ==50914==    by 0x4BBA4C4: gtk_css_gadget_draw (gtkcssgadget.c:885)
	  ==50914==    by 0x4D4D780: gtk_stack_draw (gtkstack.c:2119)
	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
	  ==50914==    by 0x4BAF0C3: gtk_container_draw (gtkcontainer.c:3674)
	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
	  ==50914==  Address 0x187a0818 is 8 bytes inside a block of size 16 free'd
	  ==50914==    at 0x48480E4: free (vg_replace_malloc.c:872)
	  ==50914==    by 0x49A5B8C: g_free (gmem.c:218)
	  ==50914==    by 0x49C1013: g_slice_free1 (gslice.c:1183)
	  ==50914==    by 0x4990DE4: g_error_free (gerror.c:870)
	  ==50914==    by 0x4990FE9: g_clear_error (gerror.c:1052)
	  ==50914==    by 0x1A489780: _get_gl_context (gtkgstglwidget.c:540)
	  ==50914==    by 0x1A4863CB: gst_gtk_invoke_func (gstgtkutils.c:39)
	  ==50914==    by 0x49A3834: g_main_context_invoke_full (gmain.c:6137)
	  ==50914==    by 0x1A486450: gst_gtk_invoke_on_main (gstgtkutils.c:59)
	  ==50914==    by 0x1A48A29E: gtk_gst_gl_widget_init_winsys (gtkgstglwidget.c:632)
	  ==50914==    by 0x1A4887E7: gst_gtk_gl_sink_start (gstgtkglsink.c:267)
	  ==50914==    by 0x6579810: gst_base_sink_change_state (gstbasesink.c:5662)
	  ==50914==  Block was alloc'd at
	  ==50914==    at 0x484586F: malloc (vg_replace_malloc.c:381)
	  ==50914==    by 0x49A9278: g_malloc (gmem.c:125)
	  ==50914==    by 0x49C1BA5: g_slice_alloc (gslice.c:1072)
	  ==50914==    by 0x49C3BCC: g_slice_alloc0 (gslice.c:1098)
	  ==50914==    by 0x499096B: g_error_allocate (gerror.c:708)
	  ==50914==    by 0x4990AF1: UnknownInlinedFun (gerror.c:722)
	  ==50914==    by 0x4990AF1: g_error_copy (gerror.c:892)
	  ==50914==    by 0x4C4B9F9: gtk_gl_area_set_error (gtkglarea.c:1036)
	  ==50914==    by 0x4C4BAF7: gtk_gl_area_real_create_context (gtkglarea.c:346)
	  ==50914==    by 0x4B21B28: _gtk_marshal_OBJECT__VOIDv (gtkmarshalers.c:2730)
	  ==50914==    by 0x4920B78: UnknownInlinedFun (gclosure.c:893)
	  ==50914==    by 0x4920B78: g_signal_emit_valist (gsignal.c:3406)
	  ==50914==    by 0x4920CB2: g_signal_emit (gsignal.c:3553)
	  ==50914==    by 0x4C4B927: gtk_gl_area_realize (gtkglarea.c:308)
	  Reproduced by running:
	  MESA_GL_VERSION_OVERRIDE=2.7 totem
	  See https://gitlab.gnome.org/GNOME/totem/-/issues/522
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2567>

2022-06-03 18:35:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/audioparsers/gstaacparse.c:
	  aacparse: Avoid mismatch between src_caps and output_header_type
	  If our downstream caps didn't intersect, we attempted to convert between
	  raw and ADTS stream formats, if possible. If the caps still did not
	  intersect, we then used the modified `src_caps` but left the
	  `output_header_type` unmodified.
	  This caused a mismatch between caps and actual stream format.
	  Avoid this by first copying the `src_caps` to `convcaps` for the
	  additional intersection tests, replacing `src_caps` if we succeed.
	  While we're here, clean up the code a bit and remove the `codec_data`
	  field from outgoing ADTS caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2563>

2022-06-04 10:27:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/flv/gstflvdemux.c:
	* gst/flv/gstflvelement.c:
	  flvdemux: Actually make use of the debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2560>

2022-06-01 16:14:24 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* ext/soup/gstsoup.c:
	* ext/soup/gstsoupelement.c:
	* ext/soup/gstsouploader.c:
	  soup: fix soup debug category
	  Use soup debug category in souploader
	  for soup plugin element load.
	  Inititalize properly soup utils category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2547>

2022-05-29 20:27:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst/rtpmanager/gstrtpptdemux.c:
	  rtpptdemux: Don't GST_FLOW_ERROR when ignoring invalid packets
	  https://bugzilla.gnome.org/show_bug.cgi?id=741398 changed
	  rtpptdemux in 2014 to not post a GST_ELEMENT_ERROR on the
	  bus when dropping an invalid (non-RTP) packet, but still
	  returned GST_FLOW_ERROR upstream - so the pipeline still
	  stops, but now without a useful bus error.
	  Return GST_FLOW_OK instead, so the pipeline keeps
	  running. Some old telephony equipment can send invalid
	  packets before the real RTP traffic starts.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2523>

2022-05-28 16:46:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/jack/gstjackaudiosrc.c:
	  jack: Always use jack_free as specified by the docs
	  Fixes a crash on Windows due to a CRT mismatch. The JACK installation
	  still uses MSVCRT, and we the Universal CRT for both MinGW and MSVC.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>

2022-05-26 01:21:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/jack/meson.build:
	  jack: Add support for detecting libjack on Windows
	  No source code changes were necessary to get the plugin working on
	  Windows with MSVC.
	  Run QJackCtl and audiotestsrc ! jackaudiosink just works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>

2022-05-24 16:07:13 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2: Reset transfer in gst_v4l2_object_acquire_format()
	  get_colorspace() checks input caps transfer when mapping V4L2_XFER_FUNC_709
	  back to V4L2_COLORSPACE_BT2020 and GST_VIDEO_TRANSFER_BT2020_12. After
	  receiving source change event, decoder will G_FMT and S_FMT again. So need
	  to reset transfer when acquiring format to avoid using the old transfer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2505>

2022-05-03 11:34:15 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* ext/soup/gstsoup.c:
	* ext/soup/gstsoupelement.c:
	* ext/soup/gstsoupelements.h:
	* ext/soup/gstsouphttpclientsink.c:
	* ext/soup/gstsouphttpsrc.c:
	  soup: Fix plugin/element init
	  In case of per features registration such as the
	  customizable gstreamer-full library, each
	  element should check that the soup library can be loaded to
	  facilitate the element registration.
	  Initialize the debug category properly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2491>

2022-05-23 21:24:40 -0400  Eli Schwartz <eschwartz@archlinux.org>

	* meson.build:
	  meson: use better zlib dependency fallback
	  zlib is required, and if it isn't found it is checked several ways and
	  then forced via subproject(). This code was added in commit
	  b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
	  zlib doesn't have pkg-config files installed.
	  But Meson already does dependency fallback, and also, since 0.54.0, does
	  the in-between checks for find_library('z') and has_header('zlib.h') via
	  the "system" type dependency. Simplify dependency lookup by marking it
	  as required, which also makes sure that the console log doesn't
	  confusingly list "not found".
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2486>

2022-05-16 14:14:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/gstdeinterlace.c:
	  deinterlace: Clean up error handling in chain and _push_history
	  - Consistently unref the chained buffer at the end of the chain
	  function, if we're not handing it off to `gst_pad_push`. This avoids a
	  few buffer leaks in the error paths in `_chain` and `_push_history`.
	  - When mapping the video frame fails, return a flow error instead of
	  crashing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2444>

2022-05-11 15:18:42 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/vpx/gstvpxenc.c:
	  vpxenc: fix crash if encoder produces unmatching ts
	  If for some reason the encoder produces frames with a pts higher than
	  the input one, we were dropping all the video encoder frames and ended
	  up crashing when trying to access the pts of a NULL pointer returned by
	  gst_video_encoder_get_oldest_frame().
	  I hit this scenario by feeding a decreasing timestamp to vp8enc which
	  seem to confuse the encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2436>

2022-05-13 01:42:21 +0000  Thibault Saunier <tsaunier@igalia.com>

	* gst/rtpmanager/gstrtpbin.c:
	  rtpbin: Avoid holding lock GST_RTP_BIN_LOCK  when emitting pad-added
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2415>

2022-05-12 17:11:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't use tfdt for parsing subsequent trun boxes
	  The timestamp in the tfdt refers to the first trun box and if there are
	  multiple trun boxes then the distance between the first timestamps will
	  grow.
	  At some point this distance reaches a threshold and triggers the
	  resetting of the first sample's timestamp of this trun box to be reset
	  to the tfdt.
	  This threshold is implemented for files where there is a jump in the
	  timeline between fragments and where this can be detected via a jump
	  between the end timestamp of the previous fragment and the tfdt of the
	  next. This behaviour is preserved.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2414>

2022-04-28 09:19:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2object.c:
	* sys/v4l2/gstv4l2videoenc.c:
	  v4l2videoenc: Setup crop rectangle if needed
	  Hantro H1 and Rockchip VEPU2 drivers will pad the width/height to a
	  multiple of 16. In order to obtain the right JPEG size, the image needs
	  to be cropped using the S_SELECTION API. This support is added as best
	  effort since older drivers may emulate this by looking at the capture
	  queue width/height.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>

2021-09-30 17:56:56 +0900  Damian Hobson-Garcia <dhobsong@igel.co.jp>

	* sys/v4l2/gstv4l2object.c:
	* sys/v4l2/gstv4l2object.h:
	* sys/v4l2/gstv4l2transform.c:
	  v4l2object: rename crop function to reflect its usage
	  The gst_v4l2_object_set_crop() is used for removing buffer
	  alignment padding. Give it a name that better reflects
	  that usage.  This helps to distinguish from cropping of the
	  input image (e.g. cropping at the image sensor on a captre
	  device), which can be  unrelated to the memory buffer padding,
	  especially if scaling is involved.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>

2022-05-05 20:36:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/gstqtmux.c:
	  mp4mux: Disable aggregator's default negotiation
	  mp4mux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>

2022-05-05 20:24:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Disable aggregator's default negotiation
	  flvmux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>

2022-05-03 17:27:32 +1000  Matthew Waters <matthew@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: ensure that any pending segment is sent before an EOS event is sent
	  Specifically fixes seqnum handling when an aggregator-based element
	  (audiomixer et al) is downstream and a seek is performed that
	  immediately causes an EOS from wavparse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2369>

2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* docs/gst_plugins_cache.json:
	  gst_plugin_load_file: force plugin reload if diff filename
	  If a file includes a new version of a plugin that exits in the
	  registry, the output of gst-inspect is incorrect. The output has the
	  correct version but incorrect filename, and element description.
	  This seems to have also fixed some documentation issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2357>

2022-05-03 00:39:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>

=== release 1.20.2 ===

2022-05-02 23:29:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.20.2

2022-05-02 23:29:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.2

2022-04-27 12:24:23 +0900  dongil.park <dongil.park@lge.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode
	  In push mode (streaming), if the received chunk buffer size from _chain is bigger
	  than output buffer size, the flags of the divided-buffers are propagated to the
	  DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT
	  flags are abnormally transformed when changing the sampling rate by audioresample element.
	  So unset unnecessary DISCONT flag before pad_push().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2322>

2022-04-23 01:57:53 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtp/gstrtpredenc.c:
	* gst/rtp/gstrtpredenc.h:
	  rtpredenc: quieten warning about ignoring header extensions
	  Turn it into a FIXME, and only log once
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2281>

2022-04-15 09:53:19 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: copy colorimetry values to output_state caps
	  This is to avoid transcoding negotiation fail between v4l2h265dec
	  and v4l2h264enc caused by colorimetry mismatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2220>

2022-04-07 11:12:47 +1000  Havard Graff <havard.graff@gmail.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: fix leak of channel_mapping
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2184>

2022-04-06 09:46:30 -0400  Tristan Matthews <tmatth@videolan.org>

	* gst/rtp/gstrtpopusdepay.c:
	  rtpopusdepay: assume 2 channels if sprop-stereo is missing
	  Fixes #1064
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2139>

2022-03-26 01:02:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/meson.build:
	  meson: Add some messages when selecting libsoup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>

2022-03-26 00:59:12 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/gstsouphttpsrc.c:
	  soup: Fix usage of symbols / defines that are gone in libsoup3
	  I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it
	  was definitely already broken when using libsoup-3.0 in a shared
	  build. souphttpsrc probably needs to be ported from SoupMessage to
	  SoupServerMessage when using libsoup-3.0.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>

2022-03-26 00:56:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/gstsouploader.c:
	* ext/soup/gstsouploader.h:
	  soup: Fix pre-processor macros in souploader for libsoup-3.0
	  Some of the preprocessor conditionals in the loader were very broken
	  with libsoup-3.0 + --default-library=static
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>

2022-03-28 18:12:03 +1100  Matthew Waters <matthew@centricular.com>

	* sys/osxaudio/gstosxcoreaudio.c:
	  osxcoreaudio: fix unused-but-set warning
	  ../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable]
	  gboolean sign, interleaved;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068>

2022-03-28 13:35:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc:
	  deinterlace: silence unused-but-set werror from imported code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2062>

2022-03-28 09:50:38 +1100  Matthew Waters <matthew@centricular.com>

	* sys/osxvideo/osxvideosink.m:
	  osxvideosink: fix unused-but-set-variable warning
	  ../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable]
	  guint8 *data, *readp, *writep;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2055>

2021-11-17 17:27:13 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rtpmanager/gstrtpptdemux.c:
	  rtpptdemux: fix leak of caps when ignoring a pt
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2033>

2022-03-18 15:20:49 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* gst/wavparse/gstwavparse.c:
	* tests/check/elements/wavparse.c:
	  wavparse: handle query in any parse state
	  In order to create the stream_id, we need to
	  pass the query to the default query handler.
	  If the parse state is different from GST_WAVPARSE_DATA
	  the query should be passed to the default query
	  handler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2011>

2022-03-15 15:44:17 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* gst/rtpmanager/rtpjitterbuffer.c:
	  rtpjitterbuffer: Fix invalid memory access in rtp_jitter_buffer_pop()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1994>

2022-01-26 10:06:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2transform.c:
	  v4l2transform: Handle caps changes
	  As this element is single threaded, we only need to stop the objects to
	  allow changing the format again. Fixes assertion notably on shutdown and
	  on some other situation where the format may be set twice without
	  actually activating the element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991>

2022-01-26 09:55:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Avoid crash on early failure
	  This happens while an external error lead to an early shutdown.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991>

2022-03-14 16:19:33 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: set frame duration according to framerate
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1989>

2022-03-14 12:29:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtpmanager/rtpsession.c:
	* gst/rtpmanager/rtptwcc.c:
	  twcc: Add some logging to debug TWCC feedback
	  This should allow people to debug when TWCC feedback is not enabled
	  because they haven't set the extmap in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979>

2022-03-14 13:45:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtpmanager/gstrtpsession.c:
	  twcc: Note that packet-loss-pct can count reordering as loss
	  This is difficult to encounter in ordinary networks, but is
	  encountered when using tc-netem to add random delays to packets, and
	  also when your UDP stream is bonded over multiple links with varying
	  characteristics.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979>

2022-03-14 14:48:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development

=== release 1.20.1 ===

2022-03-14 11:33:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.20.1

2022-03-14 11:33:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.1

2022-02-22 10:13:28 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtpmanager/rtpsource.c:
	  rtpsource: fix rtp_source_get_nack_deadlines doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1950>

2022-01-14 23:42:27 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>

	* sys/v4l2/ext/types-compat.h:
	  v4l2: include <sys/ioccom.h> on Illumos
	  Needed for _IOR/_IORW
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1947>

2022-03-03 13:47:05 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2bufferpool.c:
	  v4l2bufferpool: Fix race condition between qbuf and pool streamoff
	  There is a chance that pool->buffers[index] sets BUFFER_STATE_QUEUED, but
	  it has not been queued yet which makes pool->buffers[index] still NULL.
	  At this time, if pool_streamff release all buffers with BUFFER_STATE_QUEUED
	  state regardless of whether the buffer is NULL or not, it will cause segfault.
	  To fix this, also check buffer when streamoff release buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1948>

2022-03-11 10:32:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/scalerbob.c:
	  deinterlace: scalerbob: Reduce latency to 0
	  We only need the current field, just like `linear`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1944>

2022-03-12 17:13:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/deinterlace/yadif.c:
	  yadif: Fix CHECK macro for YUY2 format
	  Used to make comb artifacts for videotestsrc pattern=ball for YUY2
	  format only (not AYUV).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1943>

2022-03-10 18:43:45 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* gst/rtp/gstrtpvp8depay.c:
	  rtpvp8depay: Fix crash when making 'GstRTPPacketLost' custom event
	  This patch fixes a seg.fault in gst_structure_new() with warnings as below.
	  GLib-GObject-WARNING **:
	  ../gobject/gtype.c:4330: type id '0' is invalid
	  GLib-GObject-WARNING **:
	  can't peek value table for type '<invalid>' which is not currently referenced
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1920>

2022-03-09 12:17:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/gstsouploader.c:
	  soup: Load the runtime library, not the development library
	  libsoup-2.4.so / libsoup-3.0.so are symlinks installed by development
	  packages, they are not available at runtime.
	  Also eliminate G_MODULE_SUFFIX since it's not useful for us, and is
	  actually incorrect on macOS anyway.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1071
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1907>

2021-02-08 21:40:19 +0100  Havard Graff <havard@pexip.com>

	* gst/rtpmanager/gstrtprtxreceive.c:
	* gst/rtpmanager/gstrtprtxreceive.h:
	* gst/rtpmanager/gstrtprtxsend.c:
	* gst/rtpmanager/gstrtprtxsend.h:
	  rtprtx: don't access type-system per buffer
	  When doing only a single stream of audio/video this hardly matters,
	  but when doing many at the same time, the fact that you have to get
	  a hold of the glib global type-system lock every time you process a buffer,
	  means that there is a limit to how many streams you can process in
	  parallel.
	  Luckily the fix is very simple, by doing a cast rather than a full
	  type-check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1890>

2020-02-10 14:37:30 +0100  Havard Graff <havard@pexip.com>

