=== release 1.18.4 ===

2021-03-15 17:47:59 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2021-03-03 01:08:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix frame size check and potential invalid reads
	  Check the right variable when checking if there's
	  enough data left to read the frame size.
	  Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1066>

2021-03-10 14:26:22 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix input_buffer ownership
	  The way pad->priv->input_buffer reference was managed was pretty
	  spurious:
	  - it was overridden without unrefing it, which could potentially lead to
	  leaks.
	  - we were unreffing it while keeping the pointer around, which could
	  potentially lead to use-after-free or double-free.
	  As priv->input_buffer is actually no longer used outside of the
	  aggregate() method, remove it from pad->priv to simplify the code and
	  prevent the issues desribed above.
	  Fix a single buffer leak when shutting down the pipeline as the buffer
	  returned from gst_aggregator_pad_drop_buffer() was never unreffed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1062>

2021-03-10 16:22:14 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix input buffer when converting
	  This code path is meant to convert the current buffer to the new format
	  on update. It was using priv->input_buffer as input which is either
	  priv->buffer or a converted version of it.
	  Use priv->buffer instead as priv->input_buffer may no longer be a valid
	  reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1062>

2021-02-19 16:44:35 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Don't upsample/downsample/dither invalid lines
	  This is a fallout from the conversion to support multiple threads.
	  convert->upsample_p is never NULL now, it's always an allocated array of
	  n_threads potentially-null pointers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1054>

2021-02-25 11:03:31 +0100  Kristofer Björkström <kristofb@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  gstrtspconnection: correct data_size when tunneled mode
	  gst_rtsp_connection_send_messages_usec in tunneled mode does base64
	  encode messages. When calculating data_size 1 bytes is added, which
	  results in ending the base64 with a NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1053>

2021-02-24 19:51:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Log if the sample rate of one sinkpad is not accepted
	  Otherwise this can silently cause not-negotiated errors without any
	  direct hint about what went wrong.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1052>

2021-02-22 15:36:53 +0900  Jeongki Kim <jeongki.kim@jeongki.kim>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Respect buffer layout when drain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1050>

2021-01-19 15:56:18 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: change stream selection message owner
	  In order to select the streams on GST_MESSAGE_STREAM_COLLECTION,
	  the app needs to send the select-streams event
	  to the decodebin and not to the parsebin.
	  The message should be always owned by the decodebin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1044>

2021-02-15 16:05:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: make caps property work
	  The caps set on uridecodebin3 via the "caps" property
	  were never passed to the internal decodebin3, so did
	  absolutely nothing.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/837
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1038>

2021-02-13 00:27:04 +0100  Alicia Boya García <ntrrgc@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix racy critical when pool negotiation occurs during flush
	  I found a rather reproducible race in a WebKit LayoutTest when a player
	  was intantiated and a VP8/9 video was loaded, then torn down after
	  getting the video dimensions from the caps.
	  The crash occurs during the handling of the first frame by gstvpxdec.
	  The following actions happen sequentially leading to a crash.
	  (MT=Main Thread, ST=Streaming Thread)
	  MT: Sets pipeline state to NULL, which deactivates vpxdec's srcpad,
	  which in turn sets its FLUSHING flag.
	  ST: gst_vpx_dec_handle_frame() -- which is still running -- calls
	  gst_video_decoder_allocate_output_frame(); this in turn calls
	  gst_video_decoder_negotiate_unlocked() which fails because the
	  srcpad is FLUSHING. As a direct consequence of the negotiation
	  failure, a pool is NOT set.
	  gst_video_decoder_negotiate_unlocked() still assumes there is a
	  pool, crashing in a critical in gst_buffer_pool_acquire_buffer()
	  a couple statements later.
	  This patch fixes the bug by returning != GST_FLOW_OK when the
	  negotiation fails. If the srcpad is FLUSHING, GST_FLOW_FLUSHING is
	  returned, otherwise GST_FLOW_ERROR is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1037>

2021-02-15 17:22:47 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/audio/audio.c:
	  libs: audio: Fix gst_audio_buffer_truncate meta handling
	  In the non-interleaved case, it made `buffer` writable but then changed
	  the meta of the non-writable buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1036>

2021-01-26 14:05:48 +0100  Knobe, Daniel <daniel.knobe@miele.com>

	* tests/examples/overlay/meson.build:
	  overlay/example: added qt core dependency for qt overlay example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1026>

2021-01-12 10:36:34 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video: Convert info_to_caps to take self as const ptr
	  This requires a slight modification to the function itself because it
	  was overwriting a member locally.
	  However, now this side-effect cannot be observed outside the function
	  anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1024>

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

	* meson.build:
	  Back to development

=== release 1.18.3 ===

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

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

2020-12-07 11:23:49 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Ensure that parsers are compatible with selected encoders
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/845
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1007>

2020-12-24 11:44:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: When reconfiguring a slot make sure that the ghostpad is unlinked
	  This was only taken care of previously if there was a decoder before.
	  However if previously a decoder was not needed then the ghostpad
	  would've been linked directly to the slot's srcpad.
	  Reconfiguring the slot requires this to be undone so that linking can
	  happen normally.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/987>

2020-07-14 20:44:18 +0200  Jakub Adam <jakub.adam@collabora.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix blending 8-bit and 16-bit frames together
	  Replace hardcoded 255s with the correct max value for the given color
	  depth. Use 64-bit integer in calculations where overflow may occur.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1006>

2021-01-05 20:18:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgl_enums.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglutils.c:
	  gl: document some GL caps specifics
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/854
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/998>

2021-01-04 13:40:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: resize and trim buffer in place to fix interaction with oggdemux
	  Elements operating in pull mode may optionally pass a buffer to
	  pull_range that should be filled with the data. The only element
	  that does that at the moment is oggdemux operating in pull mode.
	  tagdemux currently creates a sub-buffer whenever a buffer pulled
	  from upstream (filesrc, usually) needs to be trimmed. This creates
	  a new buffer, however, so disregards any passed-in buffer from a
	  downstream oggdemux.
	  This would cause assertion failures and playback problems for
	  ogg files that contain ID3 tags at the end.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/848
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/995>

2020-12-29 20:24:51 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/compositor/blend.c:
	  compositor/blend: fix blending of subsampled components
	  The correct way to determine the byte offset at a certain yoffset
	  in a subsampled component is to shift the yoffset by the component's
	  hsub
	  This fixes out-of-bounds memory accesses and visible artefacts,
	  example pipeline with the samples from #802:
	  gst-launch-1.0 compositor name=vmixer sink_1::xpos=1910 sink_1::ypos=1080 ! \
	  videoconvert ! videorate ! xvimagesink \
	  filesrc location=VID_20200723_203606.mp4 ! decodebin name=demux1 ! \
	  queue ! videoflip method=vertical-flip ! vmixer. \
	  filesrc location=bridgeoverstubbledwater.mp4 ! decodebin name=demux2 ! \
	  queue ! vmixer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/989>

2020-12-31 17:25:40 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix signal documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/993>

2020-12-30 14:56:54 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Pop out old buffers on timeout
	  This situation happens in the situation where an input stream has a framerate
	  exceeding the timeout latency (Ex: 1fps with a latency of 500ms) and an input
	  stream greater than output framerate (ex: 60fps in, 30 fps out).
	  The problem that would happen is that we would timeout, but then buffers from
	  the fast input stream would only be popped out one by one.... until a buffer
	  reaches the low-framerate input stream at which point they would quickly be
	  popped out/used. The resulting output would be "slow ... fast ... slow ... fast"
	  of that input fast stream.
	  In order to avoid this situation, whenever we detect a late buffer, check if
	  there's a next one and re-check with that one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/991>

2020-12-15 15:07:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Make buffer writable before changing its metadata
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/978>

2020-12-10 19:06:00 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/libvisual/plugin.c:
	  libvisual: workaround clang warning
	  libvisual api expects a priv data pointer to be passed, though we know its
	  going to be `GstDebugLevel`.
	  ```
	  ../subprojects/gst-plugins-base/ext/libvisual/plugin.c:33:39: error: cast to smaller integer type 'GstDebugLevel' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
	  GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) (priv), NULL, "%s - %s",
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/976>

2020-12-11 10:13:59 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Release selection lock when pushing EOS
	  We can't keep the lock otherwise this would lock other actions. In order to keep
	  it safe, we grab a list of peer pads to send EOS to with the lock taken, then
	  send to the peer pads with the lock released.
	  Also make sure the selection lock is taken for another call to this function
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/847
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/973>

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

	* meson.build:
	  Back to development

=== release 1.18.2 ===

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

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

2020-11-06 14:05:39 +0800  He Junyan <junyan.he@intel.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Avoid assert in query.
	  The sink_query just uses context, other_context and display to query info.
	  But all these objects can be changed or distroyed in state_change() func
	  and other places.
	  This patch is not very perfect. The condition race still exists in other
	  places in this element. All the functions directly access these objects
	  without protection. Most of them are executed when the data is pushing and
	  draw context/window have already been established, so they should not have
	  problems. But the sink_query and propose_allocation functions are the query
	  -like functions and executed in query context, which can be called in any
	  state of the element. So it can cause some crash issues because of destroyed
	  context object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>

2020-11-06 16:18:14 +0800  He Junyan <junyan.he@intel.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconver: Return empty caps in transform_caps if fails.
	  We should not return a NULL in transform_caps() function. The NULL
	  will generate a assert of:
	  "transform_caps returned caps which are not a real subset of the
	  filter caps"
	  in transform base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>

2020-11-06 15:36:01 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: Need to check the display before lock it.
	  In find_gl_context_unlocked(), the display of filter may be NULL
	  and can cause crash if we directly access and lock it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>

2020-11-06 15:36:21 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: Delete the un-paired unlock in change_state().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/962>

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

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Fix incorrect GST_LOG_OBJECT usage
	  GstBuffer is not a GstObject, so this causes a warning to be emitted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/961>

2020-11-26 14:52:26 +0200  Mart Raudsepp <mart@leio.tech>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/eagl: Fix automatic resize behaviour
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681
	  added a layoutSubViews, which never gets called, because it should have been
	  called layoutSubviews (non-capital "v"). However after fixing that, it still
	  doesn't work correctly, because window_width/height values are immediately
	  updated and then draw_cb will never trigger the resize path, because the
	  values are already up to date.
	  Update the values inside the resize path again instead, so the check for
	  entering the resize path is logically always correct.
	  This makes the layoutSubviews unnecessary, as it only updated the internal
	  size values prematurely, so it is deleted instead of method naming fixed.
	  These changes were originally done to avoid accessing UIKit objects on the
	  main thread, but no additional accesses are added here, only internal
	  private variable assignments under the same draw_lock, so there should be
	  no threading issues reintroduced.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/960>

2020-11-26 14:45:05 +0200  Mart Raudsepp <mart@leio.tech>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/eagl: Fix resize condition check in draw_cb to not get called unnecessarily
	  A CGSize contains CGFloat values (a typedef to double or float), which means
	  that the values aren't equal, despite it being equal after they are cast to
	  int by assigning them to window_height/width private members. This leads to
	  excessive gst_gl_window_resize calls on each frame, at least if the CGFloat
	  value has a .5 decimal value, e.g. 103.5.
	  Fix it by storing them as CGFloat instead of gint.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/960>

2020-11-20 16:51:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video/converter: increase the number of cache lines for resampling
	  The exising hardcoded max default does not account for the possible
	  -1 offset when retrieving lines for resampling.  As a result, when
	  another chain has the same number of cache lines (4), the resample
	  operation would be attempting to generate 5 lines with a cache size
	  of 4 and would overwrite the first cache line.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/821
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/959>

2020-11-04 17:02:13 +0800  He Junyan <junyan.he@intel.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: Avoid race condition of base class' context.
	  The base class' context may change, we should use the common API
	  with lock to access it, rather than the just directly access the
	  struct field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/921>

2020-11-04 23:05:27 +0800  He Junyan <junyan.he@intel.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: Avoid race condition in propose_allocation().
	  The inside upload and context may have race condition in the function
	  of propose_allocation(). They may be destroyed while this function is
	  stilling using it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/921>

2020-12-01 13:13:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/compositor/compositor.c:
	  compositor: Don't crash in prepare_frame() if the pad was just removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/955>

2020-12-01 09:31:48 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: gir annotate the size of plane array in new API
	  Fix #838
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/954>

2020-11-27 11:41:36 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Move max_errors out of GstAudioDecoderContext
	  Currently max-errors gets set during init to default or via property.
	  However, if a decoder element calls gst_audio_decoder_reset with 'full'
	  argument set to TRUE, it would result in all the fields of context being
	  zeroed with memset. This effectively results in max-errors getting a
	  value of 0 overriding the default or user requested value set during
	  init.
	  This would result in calls to GST_AUDIO_DECODER_ERROR which track error
	  counts and allow max-errors, to be ineffective.
	  To fix this move max-errors out of GstAudioDecoderContext, as changes to
	  context should not affect this. The error_count is anyways also in
	  GstAudioDecoderPrivate and not in context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/953>

2020-11-19 14:35:32 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Don't leak filter caps
	  Introduced by previous commit
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/933
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/935>

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

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Properly handle caps query with no filter
	  There's no guarantee that upstream elements will do queries with specified
	  filter caps. If that's the case, just return GST_CAPS_ANY
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/935>

2020-11-10 23:26:39 +0100  David Keijser <keijser@gmail.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  Fix segfault when using invalid encoding profile
	  Trying to use gst_encoding_profile_get_file_extension on a
	  GstEncodingProfile with a cap containing a typo would result in strcmp
	  being called with NULL. Instead use g_strcmp0 that handles this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/930>

2020-10-30 13:56:16 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/video/gstvideoaggregator.c:
	* gst/compositor/compositor.c:
	* tests/check/elements/compositor.c:
	* tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest:
	* tests/validate/meson.build:
	  videoaggregator: Guarantee that the output format is supported
	  In the case `videoaggregator` is set as allowing format conversions,
	  and as we convert only on the sinkpads, we should ensure that the
	  chosen format is usable by the subclass. This in turns implies
	  that the format is usable on the srcpad.
	  When doing conversion *any* format can be used on the sinkpads, and this
	  is the only way that we can avoid race conditions during renegotiations
	  so we can not change that fact, we just need to ensure that the chosen
	  intermediary format is usable, which was not actually ensured before
	  that patch.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/834
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/928>

2020-10-29 16:38:44 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  video-aggregator: Fix renegotiation when using convert pads
	  Since 23189c60f4cff998c7880e1768cee2f6d1b719d0 we started using the
	  useless result of `modified_caps` which, was never used since it was
	  introduced 7 years ago (in videomixer2). The intersection is useless and
	  we should just avoid doing it at all (which was always the case before)
	  as it can end up failing renegotiation for bad reasons.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/907>

2020-11-09 18:00:48 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Use local var instead of reloading vagg->info
	  `gst_video_aggregator_default_negotiated_src_caps` races with
	  `gst_video_aggregator_reset` called by
	  `gst_video_aggregator_release_pad` of the last sinkpad. It can happen
	  that `latency = gst_util_uint64_scale (...` gets called with a zero
	  framerate.
	  There doesn't seem to be any reason not to use the local `info` instead
	  of `vagg->info`, so do that.
	  Cherry-picked changes from b3fe2d3623722ebf9dfe5c3dc198764ce17cba38.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/926>

2020-11-09 17:58:09 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Take object lock for writing vagg->info
	  Take `GST_OBJECT_LOCK` when writing `vagg->info`, so that reading in
	  subclasses is protected against races, as documented in the struct.
	  /*< public >*/
	  /* read-only, with OBJECT_LOCK */
	  GstVideoInfo                  info;
	  Cherry-picked changes from b3fe2d3623722ebf9dfe5c3dc198764ce17cba38.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/926>

2020-10-26 08:59:34 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	  video: fix doc warning
	  @mode has been renamed to
	  gst_video_decoder_set_interlaced_output_state() but not in the header
	  file, raising a doc warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/925>

2020-11-03 20:19:16 +0800  He Junyan <junyan.he@intel.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: Avoid race condition of inside upload creation.
	  The operations for the inside GstGLUploadElement->upload have race
	  condition. The _transform_caps() will creates this object if it does
	  not exist, while the _stop() and change_state() can destroy this object.
	  The _transform_caps() is called by the gst_base_transform_query(),
	  so it does not hold the stream lock. It may use the upload while the
	  _stop() and change_state() has already destroy that object, and then
	  crash.
	  Fix: #645
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/920>

2020-11-03 16:40:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/glprototypes/sync.h:
	  gl: Fix prototype of glGetSynciv()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/917>

2020-10-30 13:52:29 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/tcp/gsttcpserversink.c:
	  tcpserversink: Don't assume g_socket_get_remote_address succeeds
	  When the client disconnects immediately after connecting, the remote
	  address is no longer available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/912>

2020-10-20 12:44:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: Initialize max_errors in instance_init()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/903>

2020-10-09 17:15:37 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/examples/gl/gtk/meson.build:
	  examples/gl/gtk: Add missing dependency on gstgl
	  Occasionally, a clean build would fail like this:
	  In file included from ../subprojects/gst-plugins-base/tests/examples/gl/gtk/gstgtk.c:24:
	  ../subprojects/gst-plugins-base/gst-libs/gst/gl/gl.h:25:10: fatal error: gst/gl/gl-enumtypes.h: No such file or directory
	  25 | #include <gst/gl/gl-enumtypes.h>
	  |          ^~~~~~~~~~~~~~~~~~~~~~~
	  Add the missing dependency so that the headers are generated beforehand.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/906>

2020-10-28 01:19:37 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: document and fix locking in convert pad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/904>

2020-10-20 11:51:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: Don't reset max-errors in reset()
	  Otherwise setting the property on the elements has no effect at all
	  because it's immediately reset during startup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/902>

2020-10-27 12:34:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.1 ===

2020-10-26 11:10:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.18.1

2020-10-21 14:55:40 -0500  Zebediah Figura <z.figura12@gmail.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: Set telemetry options only if they are nonzero
	  Setting telemetry options, even to zero, causes libtheora to enable an expensive code path. For large enough videos (e.g. 1920x1080) this can increase the time to decode each frame by 30-40 ms, which can be enough to cause noticeable stutter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/892>

2020-10-21 11:42:54 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: delete shader on finalize of stage
	  GLSLstage creates the glShader using glCreateShader, but never calls
	  glDeleteShader if the glShader is not used anymore. This forces the GL
	  library to keep the compiled shader around, because it might be used in
	  the future. Therefore, the glShader is leaked whenever a GLSLStage is
	  destroyed.
	  Fix the leak by deleting the glShader when finishing the GLSLStage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/891>

2020-10-22 19:16:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix crash caused by use after free
	  OutputSlotInfo doesn't hold ref of queue, so gst_bin_remove()
	  will free the queue memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/890>

2020-10-13 03:34:07 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/decodebin_next/meson.build:
	* tests/examples/decodebin_next/uridecodebin3-select-all.c:
	  examples: Add an uridecodebin3 example
	  Demonstrate a way to select multiple streams
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/889>

2020-10-19 20:03:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gsturidecodebin3.c:
	  decodebin3: Store stream-start event on output pad before exposing it
	  It's required for users to be able to figure out associated GstStream
	  object with a pad on pad-added callback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/889>

2020-10-17 12:35:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  Add some missing nullable annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/878>

2020-10-17 10:42:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind/xdgmime: Validate mimetypes to be valid GstStructure names before using them
	  On macOS, for example, "text/*" can be returned as mimetype for
	  plaintext files but we don't allow '*' in structure names and this would
	  cause critical warnings.
	  It's a valid mimetype but not a valid structure name.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/616
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/877>

2020-10-13 17:57:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Forward upstream events to decodebin3 directly
	  Otherwise default handler will try to forward it to sink element
	  or srcpad which might not be available at that moment.

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

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Add fast paths from v210 to I420/YV12, Y42B, UYVY and YUY2
	  These then don't require going through the generic code path via AYUV64
	  first but can be converted directly.
	  This speeds up processing of
	  videotestsrc ! v210 ! videoconvert ! other_format ! fakesink
	  by a factor of 1.55 for I420/YV12 and 1.40 for the other destination
	  formats and reduces memory pressure considerably.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/870>

2020-10-13 15:31:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Limit accepted caps by template caps
	  This seems like an obvious mistake, since `modified_caps` was created
	  but not used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/869>

2020-10-13 15:28:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Log the format name instead of index
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/869>

2020-10-12 12:21:17 +0100  Will Miller <will.miller@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/libs/rtp.c:
	  gstrtpbuffer: fix header extension length validation
	  We validate the header extensions length of an RTP buffer by comparing
	  it against the block size. Since we multiply the length in words by 4 to
	  get the length in bytes, a suitably large length could cause a wrapround
	  of the uint16, giving a lower length which erroneously passes the check
	  and allows the buffer to be mapped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/865>

2020-10-10 17:26:42 +0200  François Laignel <fengalin@free.fr>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: only force streams-selected seqnum after a select-streams
	  The initial streams-selected message might not match any select-streams,
	  in which case it is currently overriden with GST_SEQNUM_INVALID.
	  Related to:
	  - https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/861>

2020-10-08 13:52:33 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst/videoscale/gstvideoscale.c:
	  audio: video: Fix in/outbuf confusion of transform_meta
	  There are three instances where in- and outbuf have been swapped. This
	  didn't affect the correctness of the libs *filter code, but the
	  videoscale implementation swapped the arguments of meta->transform_func.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/856>

2020-10-09 12:25:21 +1100  Matthew Waters <matthew@centricular.com>

	* meson.build:
	  build: use cpu_family for arch checks
	  e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all
	  generally have the same layouts.  cpu_family() groups all of these into
	  just 'arm' that the ABI check table is expecting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/858>

2020-09-14 17:56:07 +0900  sohwan.park <sohwan.park@lge.com>

	* meson.build:
	  meson: add abi configuration for meson build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/858>

2020-10-09 12:02:14 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/video/video-info.h:
	  video-info: clarify GST_VIDEO_INTERLACE_MODE_ALTERNATE doc
	  Fields really should alternate in this mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/859>

2020-10-05 12:07:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix output state interlace-mode
	  When user is passing the actual interlace-mode when calling
	  gst_video_decoder_set_interlaced_output_state() it should not be
	  overidden by the input interlace-mode.
	  Needed to fix #825 as we want to keep interlace-mode=interleaved from
	  parsers and have the OMX decoder producing interlace-mode=alternate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/859>

2020-10-05 11:38:09 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: add interlace-mode to debug output when setting output state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/859>

2020-10-01 11:22:51 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Don't pass NULL caps to gst_caps_is_equal
	  Apparently the sinkpad caps can get cleared when shutting down the
	  pipeline while the sink is working, provoking a critical warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/857>

2020-09-08 15:41:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Actually build gstgl without implicit include dirs
	  Fixes a typo from https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/800
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/849>

2020-09-16 04:30:40 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: Always wrap "prefix" option with join_paths() to make Windows happy
	  Both "\" and "/" separators are allowed on Windows but the problem
	  is that "\" is not converted to "\\" in this case.
	  It will result to unknown/unrecognized character escape sequence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/851>

2020-09-11 21:40:26 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: ensure peek_next_sample() uses the correct caps
	  gst_pad_get_current_caps() may be wrong when there is a renegotiation in
	  progress for the pad and we have not yet received or selected the buffer
	  with different caps yet.
	  Fix by storing the caps through in a similar way to the existing code
	  for buffer/video-info selection machinery.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/850>

2020-08-20 09:06:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	  videoaggregator: Don't require any pads to be configured for negotiating source pad caps
	  This is not actually required (anymore?). Source pad caps can be
	  negotiated at any time regardless of any configured (or existing) sink
	  pads and videoaggregator comes up with some fixated caps based on the
	  downstream caps.
	  Subclasses can override this behaviour as needed by overriding
	  update_src_caps().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/848>

2020-09-03 21:19:29 +0200  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/video/video-color.c:
	  gst-libs: gl: Fix documentation typo and clarify gl_memory_texsubimage
	  `gst_gl_memory_read_pixels` reads pixels from `GLMemory` into the
	  pointer, effectively writing to it. This is opposite from
	  `gst_gl_memory_texsubimage` which reads texture data from `read_pointer`
	  into `GLMemory`.
	  Both cases are clarified by changing `read_pointer` to `write_pointer`,
	  and explaining what `gst_gl_memory_texsubimage` does in addition to
	  referring back to `gst_gl_memory_read_pixels`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/847>

2020-08-20 16:31:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Reset offset if the output rate is renegotiated
	  On next aggregation the new offset will be calculated based on the
	  segment position.
	  Without this a rate change would cause a jump forwards or backwards in
	  the output timeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/845>

2020-08-18 10:42:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-anc.c:
	  video-anc: Implement transform functions for AFD/Bar metas
	  If the transformation is just a copy, copy over the metadata. For AFD
	  also copy over the metadata if the aspect ratio stays the same in
	  scaling transformations. In all other cases fail the transformation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/841>

2020-08-24 19:37:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Wake up the create() function on caps changes
	  This allows the new caps to be sent downstream as soon as possible
	  instead of having to wait for the next buffer/buffer list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/840>

2020-08-21 03:06:04 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: do not forget delayed segment when forwarding gaps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/839>

2020-09-08 17:44:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.18.0 ===

2020-09-08 00:03:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitlab-ci.yml:
	* ChangeLog:
	* NEWS:
	* README:
	* RELEASE:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.18.0

2020-09-07 22:36:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/dist-translations.py:
	* scripts/meson.build:
	  meson: dist pot file in tarball
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/808>

2020-09-07 12:10:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-converter.c:
	* gst/videoconvert/gstvideoconvert.c:
	* tests/check/libs/video.c:
	  video: Rename gst_video_color_transfer_*() to gst_video_transfer_function_*() in new API
	  The type is called GstVideoTransferFunction so the function names should
	  match, otherwise gobject-introspection is keeping the functions as
	  global functions instead of methods on the type.
	  The same mistake was also made in lots of other APIs over the years, but
	  here we can at least fix it for 1.18 still.
	  Thanks to Marijn Suijten for noticing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/807>

2020-09-02 21:53:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* pkgconfig/meson.build:
	  meson: Fix gstreamer-gl-prototypes pkgconfig file on Windows
	  When we're using wgl, we have to link to `-lopengl32`, not `-lGL`.
	  Fixes building of anything that uses this pc file, such as the nvcodec
	  plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/803>

2020-08-28 12:56:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  audio/video: Copy more metas by default in the codec base classes
	  For audio we copy metas that have no tags at all, or that only have the
	  "audio" and/or "audio-channels" tag. Audio codecs don't change the
	  audio aspect of the stream and in almost all cases don't change the
	  number of channels. They might however change the sample rate (e.g.
	  Opus). Subclasses that change the number of channels will have to
	  override ::transform_meta() accordingly.
	  For video we copy metas that have no tags at all, or that only have the
	  "video" and/or "video-size" and/or "video-orientation" tag. Video codecs
	  don't change the "video" aspect of the stream and in almost all cases
	  don't change the resolution or orientation. Subclasses that rescale or
	  change the orientation will have to override ::transform_meta()
	  accordingly.
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/576#note_610581
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/801>

2020-08-28 12:30:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: make local quark vars static
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/802>

2020-08-26 19:15:19 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gl_mkenum.py:
	* gst-libs/gst/gl/meson.build:
	  gl/build: build with implicit_include_directories : false
	  Fixes case-insensitive file systems confusing gst-libs/gst/gl/egl/egl.h
	  with EGL/egl.h when the source directory gst-libs/gst/gl is automatically
	  added to the compiler's search path.
	  Due to https://github.com/mesonbuild/meson/issues/7582 we also need to
	  perform manual enumtype generation.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/814

2020-08-20 05:44:46 +1000  Jan Schmidt <jan@centricular.com>

	* gst/compositor/compositororc-dist.c:
	* gst/compositor/compositororc.orc:
	  compositor: fix off-by-1 error in blending ARGB
	  Use a more naive blend formulation that avoids off-by-one errors
	  at the 0x00 and 0xff alpha endpoints.
	  Fixes #810
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/796>

2020-08-25 12:56:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/gstaudioresample.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	  videorate/videoscale/audioresample: Ensure that the caps returned from fixate_caps() are actually fixated
	  If there is some other field than the ones we care about left and not
	  fixated yet then basetransform will just error out. So instead just pass
	  the result through gst_caps_fixate() in the very end.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/799>

2019-04-16 12:08:30 +0100  Marcin Kolny <marcin.kolny@gmail.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: minor fix in documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/212>

=== release 1.17.90 ===

2020-08-20 16:10:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
