=== 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:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.17.90

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

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Don't call NULL GstMeta transform function
	  It's optional and if it does not exist then no transformation is
	  possible.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/790>

2020-08-11 22:54:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/tag/lang-tables.dat:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/mklangtables.c:
	  tags: update to latest iso-code and support more languages
	  Some languages have an ISO 639-2 representation but no 639-1
	  representation, for example where "eng" has a two-letter
	  equivalent in "en", "enm" doesn't have one.
	  Discarding those languages from our static table caused functions
	  such as gst_tag_get_language_code_iso_639_2T() or
	  gst_tag_get_language_code_iso_639_2B() to return NULL for
	  valid language codes such as "enm", potentially causing users
	  of these API such as mpegtsmux to discard language code tags
	  as invalid.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/785>

2020-08-11 17:15:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Add latest H.264 level values
	  The spec now list 6, 6.1 and 6.2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/786>

2020-08-11 03:45:32 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Post a bus error if a segment can't be applied
	  When applying segments from the input samples, post a bus
	  error and fail loudly if the segment fails to configure, instead of
	  just posting debug output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/783>

2020-08-11 16:53:51 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/egl.h:
	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/gl/wayland/wayland.h:
	* gst-libs/gst/gl/x11/x11.h:
	  build/gl: add top-level include files for sub-libraries
	  Makes gir happy
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/809
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/784>

2020-08-10 16:18:31 +0000  Josh Matthews <josh@joshmatthews.net>

	* tests/examples/gl/cocoa/meson.build:
	  Add required dependencies of cocoa GL example for linking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/782>

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

	* pkgconfig/gstreamer-gl-egl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-wayland-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-x11-uninstalled.pc.in:
	  pkg-config: Fix dependency typo in uninstalled gstreamer-gl-* pc files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/781>

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

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Add support for new sample selection API
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/805
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/780>

2020-08-07 09:34:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	* tests/check/elements/compositor.c:
	* tests/examples/compositor/signals.c:
	  videoaggregator: Update for additional info parameter to the "samples-selected" signal
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/590
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/780>

2020-08-06 14:22:27 +0000  Josh Matthews <josh@joshmatthews.net>

	* pkgconfig/gstreamer-gl-egl.pc.in:
	  Fix incorrect pkgconfig description.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/779>

2020-07-23 19:48:55 +1000  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* docs/libs/gl-egl/index.md:
	* docs/libs/gl-egl/sitemap.txt:
	* docs/libs/gl-wayland/index.md:
	* docs/libs/gl-wayland/sitemap.txt:
	* docs/libs/gl-x11/index.md:
	* docs/libs/gl-x11/sitemap.txt:
	* docs/meson.build:
	* ext/gl/meson.build:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/meson.build:
	* pkgconfig/gstreamer-gl-egl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-egl.pc.in:
	* pkgconfig/gstreamer-gl-prototypes-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-prototypes.pc.in:
	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-wayland-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-wayland.pc.in:
	* pkgconfig/gstreamer-gl-x11-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl-x11.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	* pkgconfig/meson.build:
	* tests/check/meson.build:
	* tests/examples/gl/generic/cube/meson.build:
	* tests/examples/gl/generic/cubeyuv/meson.build:
	* tests/examples/gl/generic/doublecube/meson.build:
	* tests/examples/gl/generic/recordgraphic/meson.build:
	* tests/examples/gl/qt/meson.build:
	* tests/examples/gl/qt/mousevideooverlay/meson.build:
	* tests/examples/gl/qt/qglwidgetvideooverlay/meson.build:
	* tests/examples/gl/qt/qglwtextureshare/meson.build:
	  gl: move each gl platform specific API to its own gir
	  With contributions from:
	  Thibault Saunier <tsaunier@igalia.com>
	  Matthew Waters <matthew@centricular.com>
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/651
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/661>

2020-05-13 10:08:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  gl: egl: add missing gir annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/661>

2020-08-05 16:54:19 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	* tests/check/elements/compositor.c:
	* tests/examples/compositor/signals.c:
	  videoaggregator: update to new samples selection API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/778>

2020-08-03 19:53:58 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/audioresample.c:
	  tests/check/elements/audioresample.c: avoid implict int ot float conversion
	  Also use doubles instead so the calculation won't overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/773>

2020-08-04 15:17:35 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: fix compiler warning with clang 10
	  ```
	  ../subprojects/gst-plugins-base/ext/alsa/gstalsamidisrc.c:201:54: error: converting the result of '<<' to a boolean always evaluates to false [-Werror,-Wtautological-constant-compare]
	  snd_seq_ev_schedule_real (&ev, alsamidisrc->queue, SND_SEQ_TIME_MODE_ABS,
	  ^
	  /usr/include/alsa/seq_event.h:215:34: note: expanded from macro 'SND_SEQ_TIME_MODE_ABS'
	  ```
	  The ALSA API expects 0 or 1 here and will then add the flags accordingly,
	  and that's also what other code using this API does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/777>

2020-08-04 07:11:54 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/validate/meson.build:
	  Meson: find_program() will return gst-tester from subproject
	  gstreamer now use override_find_program() so it won't return the system
	  version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/776>

2020-08-04 05:32:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Only look for Objective-C compiler on macOS/iOS
	  On Windows, MinGW-GCC Objective-C compilers can be in PATH and mess up
	  the build since they may not match the CPU family of the C/C++
	  compilers we are using.
	  Also require them on macOS/iOS, because they should always be present.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/88
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/774>

2020-08-01 00:22:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/compositor/signals.c:
	  examples: compositor: fix build with older GLib versions
	  Don't use g_hash_table_steal_extended() which was only
	  added in 2.58.
	  Fixes #801
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/772>

2020-07-16 21:56:47 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/compositor/compositor.c:
	  compositor: Frames where we introduce alpha can't obscure anything
	  When a pad has alpha != 1.0 it means that the resulting frames will
	  contain alpha and thus can't fully obscure with a lower zorder.
	  Also simplifies the other checks as blending with an OVER or on a
	  transparent is not a no-op as previously assumed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/764>

2020-07-01 03:47:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/video/gstvideoaggregator.c:
	* tests/check/elements/compositor.c:
	* tests/examples/compositor/meson.build:
	* tests/examples/compositor/signals.c:
	  videoaggregator: implement samples selection API
	  Call gst_aggregator_selected_samples() after filling the queues
	  (but before preparing frames).
	  Implement GstAggregator.peek_next_sample.
	  Add an example that demonstrates usage of the new API in combination
	  with the existing buffer-consumed signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/728>

2020-07-24 08:33:23 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding: Support more topologies in profile_from_discoverer()
	  Previous implementation was only working when the stream was inside a
	  container, this refactoring allows using virtually any stream as input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/766>

2020-07-30 19:16:06 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
	  glwindow/winrt: Increase timeout value to 15 seconds
	  5 seconds might not be enough value for timeout in case an application
	  is running on a device with very limited computing power.
	  Note that ANGLE uses 10 seconds timeout value. So even if a timeout
	  happens here, it's also ANGLE's timeout condition as well
	  (meaning that bad things will happen either way)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/769>

2020-07-27 18:55:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Only check downstream caps when handling CAPS events if we didn't negotiate with downstream yet
	  If we already negotiated with downstream there is not point in checking
	  if the caps are supported. We already know that this is the case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/768>

2020-07-27 18:49:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Check all downstream allowed caps structures if they support the upstream rate
	  Otherwise it might happen that downstream prefers a different rate (i.e.
	  puts it into the first structure) and also supports other rates, but
	  audioaggregator would then fail negotiation.
	  Also this now correctly handles downstream returning a range of
	  supported rates.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/795
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/768>

2020-07-23 16:52:11 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* meson.build:
	  meson: add a plugin summary
	  This summary displays a list of plugins which
	  have been enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/765>

2020-07-04 12:33:20 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gstsmartencoder.h:
	  encodebin: Fix and refactor smart encoding
	  It was not working properly and the implementation of the smartencoder
	  element was weird. This introduce a number of changes (which are all
	  in one single commit because they basically all work together and lead
	  to basically reimplementing the element):
	  * Make smartencoder a bin so that the reencoding chain of elements are
	  inside of it instead of not having any parent. Those elements were not
	  be visible when dumping the pipeline which was very confusing.
	  * Make encodebin create the right encoder with a capsfilter (and parser)
	  to properly enforce the format specified by the user, and so that the
	  encoder properties specified in the encoding profile are respected.
	  * Use `decodebin` to do the decoding instead of selecting a decoder
	  ourself and not plug any parser etc...
	  * Ensure that negotiated format in the sinkpad of smart encoder is fixed
	  through time when the user requested a non dynamic output
	  * Add a parser at the beginning of the smart encoder
	  * Handle errors when reencoding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>
