=== release 1.20.3 ===

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

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

	* tests/check/elements/rtprtx.c:
	  rtprtx: signed/unsigned and style fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1888>

2022-03-04 15:36:20 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/gstdeinterlace.c:
	  deinterlace: Prevent race between _set_method and latency query
	  It's possible that the method is being manipulated while downstream
	  queries our latency, leading to crashes.
	  Prevent that from happening.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1859>

2022-03-03 23:04:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/gstsouploader.c:
	  soup: Fix static build with MSVC
	  ../ext/soup/gstsouploader.c(818): error C4098: '_soup_session_send_async': 'void' function returning a value
	  It's technically a false warning, but that's how MSVC works, so fix
	  it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>

2022-03-03 00:37:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/meson.build:
	  soup: Fix pkgconfig generation and documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>

2022-03-02 23:22:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/meson.build:
	  soup: Fix static build when default_library=both
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1007
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>

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

	* ext/soup/meson.build:
	  soup: Don't error out in static build unless option is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>

2022-02-27 15:45:01 +0100  Philippe Normand <philn@igalia.com>

	* ext/soup/gstsouploader.c:
	  soup: Lookup libsoup dylib files on Apple platforms
	  Fixes #1007
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>

2022-03-01 20:59:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-mux.c:
	  matroska-mux: Handle pixel-aspect-ratio caps field correctly when checking caps equality
	  Not having this field is equivalent with it being 1/1 so consider
	  it like that. The generic caps functions are not aware of these
	  semantics and would consider the caps different, causing a negotiation
	  failure when caps are changing from caps with to caps without or the
	  other way around.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1833>

2022-03-01 20:56:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-mux.c:
	  matroska-mux: Handle multiview-mode/flags caps fields correctly when checking caps equality
	  Not having these fields is equivalent with them being mono/0 so consider
	  them like that. The generic caps functions are not aware of these
	  semantics and would consider the caps different, causing a negotiation
	  failure when caps are changing from caps with to caps without or the
	  other way around.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1833>

2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>

	* README.md:
	  Maintain build instructions at a single location
	  Do not maintain similar build instructions within each gst-plugins-*
	  subproject and the subproject/gstreamer subproject. Use the build
	  instructions from the mono-repository and link to them via hyperlink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1829>

2022-03-01 00:12:56 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/deinterlace/x86/yadif.asm:
	  yadif.asm: Fix improper usage of LOAD macro
	  LOAD macro relies in m7 being zero for interleaving purposes. Using LOAD
	  on the m7 register makes it interleave with its new content instead of
	  with 0.
	  The effect of this bug was bobbing on some static lines that appeared
	  over fast-moving content.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>

2022-03-01 00:12:33 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/deinterlace/x86/yadif.asm:
	  yadif.asm: Typo fixes in comments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>

2022-02-28 20:39:11 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/deinterlace/yadif.c:
	  yadif: Fix bug in C implementation of CHECK
	  It was different compared to the corresponding part in both ffmpeg and
	  the asm implementation. Fixing this makes videotestsrc pattern=spokes
	  not jump at all when not using the asm optimisations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>

2021-12-06 12:49:18 -0500  Joseph Donofry <rubberduckie3554@gmail.com>

	* sys/osxaudio/gstosxaudiodeviceprovider.c:
	  osxaudiosrc: Support a device as both input and output
	  osxaudiodeviceprovider now probes devices more than once to determine
	  if the device can function as both an input AND and output device.
	  Previously, if the device provider detected that a device had any output
	  capabilities, it was treated solely as an Audio/Sink.  This causes issues
	  that have both input and output capabilities (for example, USB interfaces
	  for professional audio have both input and output channels).  Such devices
	  are now listed as both an Audio/Sink as well as an Audio/Source.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1809>

2022-02-24 20:28:23 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* docs/gst_plugins_cache.json:
	* gst/rtp/gstrtpldacpay.c:
	* gst/rtp/gstrtpldacpay.h:
	  rtp: ldac: Set frame count information in payload
	  The RTP payload seems to be required as it carries the frame count
	  information. Also, gst_rtp_base_payload_allocate_output_buffer had
	  the second argument incorrect.
	  Strangely some devices like Shanling MP4 and Sony XM3 would still
	  work without this while some like the Sony XM4 do not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1804>

2022-02-25 12:44:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/greedyh.c:
	  deinterlace: greedyh: Stop adding 2 to cur_field_idx
	  Just a simplification.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>

2022-02-24 17:36:40 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/greedyh.c:
	  deinterlace: greedyh: Use _plane in _packed, fix planar formats
	  This greatly reduces code duplication. It also exposed the cause for
	  planar formats not being properly deinterlaced:
	  The planar path was missing the initial offset adjustment that the
	  packed path did to `L2` and `L2P` in the case of an even field, which
	  caused it to select the wrong weave lines every other field.
	  Add those offsets in `_plane`.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1047
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>

2022-02-25 12:39:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/greedyh.c:
	  deinterlace: greedyh: Rename _planar_plane to _plane
	  As well as `i` to `plane`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>

2022-02-25 12:36:17 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/greedyh.c:
	  deinterlace: greedyh: Move code from _planar into _planar_plane
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>

2022-02-25 12:30:21 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/tvtime/greedyh.c:
	  deinterlace: greedyh: Move _planar_plane upwards
	  In preparation of refactoring. No functional change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>

2022-02-18 15:23:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/matroska/matroska-demux.c:
	  matroska-demux: Emit a warning when no codec data found
	  It is bad if an mkv file does not have codec data for the ProRes
	  variant, so we should emit a warning. ffmpeg does the same thing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1766>

2022-02-21 13:27:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtpulpfecenc.c:
	  ulpfecenc: slightly safer dispose impl
	  Technically dispose can be called more than once (even if gstelement is
	  not actually set up to do that) so need to protect against that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>

2022-02-21 13:24:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtpulpfecenc.c:
	  ulpfecenc: fix unmatched free() call
	  One must always match a g_slice_new with a g_slice_free and a g_new with
	  a g_free.  This was not the case for the internal ctx struct.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>

2021-11-09 17:37:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtpulpfecenc.c:
	  rtpulpfecenc: add some debug logging
	  Like, what configuration we are using or whether a fec packet is
	  generated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>

2022-02-02 12:49:29 +0100  Rouven Czerwinski <rouven@czerwinskis.de>

	* sys/v4l2/gstv4l2tuner.c:
	  gstv4l2tuner: return NULL if no norm set
	  If the video4linux device supports norms but has no norm set, norm is
	  returned as an uninitialized variable after the ioctl call, leading to
	  gst_v4l2_tuner_get_norm_by_std_id() returning a random norm from the
	  supported norms. Catch this case and instead return NULL to indicate
	  that no norm is setup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1758>

2022-02-17 17:36:22 +0100  Sebastian Wick <sebastian.wick@redhat.com>

	* gst/matroska/matroska-demux.c:
	  matroska: default prores fourcc apcn
	  If there is no codec private data for prores it should default to Apple
	  ProRes 422 Standard Definition (apcn). Can be tested with
	  strobe_scientist.mkv from
	  https://developers.google.com/media/vp9/hdr-encoding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1753>

2021-04-08 12:18:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: Don't post an error message if pushing a sample failed with FLUSHING
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1732>

2022-02-11 23:55:57 +0100  Marek Vasut <marex@denx.de>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Pull row_stride from GST_VIDEO_FRAME_PLANE_STRIDE()
	  The libjpeg-turbo internal state might not be correctly initialized for
	  the first frame in a stream, pull the frame stride from gstreamer frame
	  metadata instead, which is correct even for the first frame, and which
	  makes this code consistent with the surrounding lines.
	  Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>

2022-02-11 23:44:24 +0100  Marek Vasut <marex@denx.de>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Call gst_jpeg_turbo_parse_ext_fmt_convert() before jpeg_start_decompress()
	  It is imperative that the libjpeg-turbo state is properly initialized
	  before jpeg_start_decompress() is called. Make sure cinfo.out_color_space
	  and cinfo.raw_data_out are set to their final values matching their peer
	  caps before calling jpeg_start_decompress().
	  Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>

2022-02-11 23:44:20 +0100  Marek Vasut <marex@denx.de>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Factor out gst_jpeg_turbo_parse_ext_fmt_convert()
	  Pull out peer caps checking code into gst_jpeg_turbo_parse_ext_fmt_convert().
	  This code is used by libjpeg-turbo extras to determine whether peer is capable
	  of handling buffers into which libjpeg-turbo can directly decode data. This
	  kind of check must be performed before jpeg_start_decompress() is called in
	  gst_jpeg_dec_prepare_decode() as well as in gst_jpeg_dec_negotiate(), hence
	  the common code.
	  This commit does modify the code a little to make it easier to call from both
	  call sites without much duplication, hence the extra `if (*clrspc)` test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>

2022-02-11 23:29:27 +0100  Marek Vasut <marex@denx.de>

	* ext/jpeg/gstjpegdec.c:
	  Revert "jpegdec: only allow conversions from RGB"
	  This reverts commit 2aa2477208c029b0e1b8232d69f4f99a3bf1d473.
	  The commit is completely wrong, libjpeg-turbo is perfectly capable
	  of decoding I420 (YUV) to RGB. The test case provided alongside the
	  aforementioned commit passes without this revert because it decodes
	  image of JCS_YCrCb color space, so the new `if (clrspc == JCS_RGB)`
	  condition is false on that image, and the libjpeg-turbo decoding
	  does not get used. The real bug is hidden by that commit.
	  The real problem is in the call order of gst_jpeg_dec_prepare_decode()
	  and gst_jpeg_dec_negotiate(). The gst_jpeg_dec_prepare_decode() calls
	  jpeg_start_decompress() which sets up internal state of the libjpeg,
	  however, neither cinfo.out_color_space nor cinfo.raw_data_out are
	  set correctly yet. Those two are set up in gst_jpeg_dec_negotiate()
	  which is called a bit later. Therefore, the real fix is the set up
	  cinfo.out_color_space and cinfo.raw_data_out before calling
	  jpeg_start_decompress(). This is however a separate patch.
	  Fixes: 2aa2477208 ("jpegdec: only allow conversions from RGB")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>

2022-02-11 21:35:54 +0100  Heiko Becker <heirecka@exherbo.org>

	* ext/lame/meson.build:
	  meson: Don't build lame plugin with -Dlame=disabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1720>

2022-02-01 14:28:24 +0100  Bastien Nocera <hadess@hadess.net>

	* ext/gtk/gtkgstglwidget.c:
	  gtk: Fix rotation not being applied when paused
	  The video wouldn't be redrawn immediately when a rotation was applied
	  but the pipeline was paused, as no new buffers were scheduled to be
	  displayed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1710>

2022-02-01 14:26:02 +0100  Bastien Nocera <hadess@hadess.net>

	* ext/gtk/gtkgstbasewidget.c:
	* ext/gtk/gtkgstbasewidget.h:
	  gtk: Add a way to queue redrawing the base GTK widget
	  This will be used to request a redraw of the GTK widget should the
	  display be changed using properties not directly handled by the base GTK
	  widget, but by one of its descendants.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1710>

2022-02-07 16:17:28 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.20.0 ===

2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.0

2022-02-01 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/meson.build:
	* sys/osxvideo/osxvideosink.m:
	  docs: Add objc and objcpp files to hotdoc gst_c_sources
	  Hotdoc should be able to extract and parse comments out of these. Just
	  need to be careful to only add the glob in directories that actually
	  contain *.m (objc) and *.mm (objcpp) files.
	  Also fix some doc comments and remove redundant ones.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>

2022-01-30 19:06:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/osxaudio/gstosxaudiosink.c:
	* sys/osxaudio/gstosxaudiosrc.c:
	* sys/osxvideo/osxvideosink.m:
	  docs: Rename "OS X" to "macOS" in some documentation
	  No one uses the term "Mac OS X" anymore, it's "macOS". "OS X" is even
