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

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

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Forward STREAM_START to all branchs
	  Otherwise the branch that get selected later won't receive it ever.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>

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

	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombiner.h:
	* gst/encoding/gststreamsplitter.c:
	  streamsplitter/combiner: Drain encoder before switching branch
	  Otherwise we miht have frames queued in the encoder from the old branch
	  that do not get encoded/muxed when they should.
	  The implementation is a bit 'weird' but the rational and solution
	  is documented in the code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>

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

	* gst/encoding/gstencodebin.c:
	  encodebin: Rebuilt internal state when swicthing to avoid-reencoding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>

2020-07-15 17:51:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  rtpbasepayload: place twcc-ext-id behind environment variable
	  Adding properties for each and every rtp header extension is not
	  scalable and a new interface will be implemented for the general case
	  (https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/777).
	  Set the environment variable "GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY"
	  to any value to reenable the short-lived twcc-ext-id property.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/761
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/756>

2020-07-16 16:25:15 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: Error out on streams with no way to guess framerate
	  This is better than going into an infinite loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>

2020-07-16 16:04:23 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Assert on invalid result from internal code
	  Letting this through instead results in an infinite loop where
	  the exact same buffer gets pushed out ad infinitum.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>

2020-07-15 22:54:55 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/videorate.c:
	  videorate: Add test that reproduces infinite loop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>

2020-07-06 14:46:33 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/alsa/gstalsadeviceprovider.c:
	  alsadeviceprovider: Remove redundant start function
	  The ALSA provider doesn't provider live monitoring, so don't
	  pretend otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/735>

2020-07-16 16:31:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	  Revert "gstgldisplay: Add public foreign_display property"
	  This introduced a possible regression where the EGL display connection
	  could be leaked when a foreign native display (x11, wayland, etc) could
	  create a non-foreign EGL display that would never be destroyed.
	  The underlying problem needed to be solved in a different way.  See
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/640
	  for more details.
	  This reverts commit 2e686b0dad9700b10d91da5e91f34849fa7d32ae.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/758>

2020-07-16 14:34:51 +0200  Silvio Lazzeretti <silviola@amazon.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  audioutilsprivate: restore thread priority before ending
	  The priority of the thread that executes audioringbuffer_thread_func
	  is incremented on Windows by the usage of the AvSetMmThreadCharacteristics
	  API. This change has to be restored, as described on the documentation
	  of the API (https://docs.microsoft.com/en-us/windows/win32/api/avrt/nf-avrt-avsetmmthreadcharacteristicsw#remarks),
	  with a call to the AvRevertMmThreadCharacteristics. If this is not done,
	  a handle will be leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/760>

2020-07-17 18:48:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	  audioutilsprivate: Don't try to load avrt for UWP application
	  All APIs in avrt.h are desktop only.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/763>

2020-07-16 18:07:34 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  build/gl: remove unused cocoa/win32 header variables
	  We don't install any cocoa/win32 specific headers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/759>

2020-04-07 11:00:39 +0200  Havard Graff <havard@pexip.com>

	* tests/check/libs/rtp.c:
	  test/rtp: use the proper _INIT for initializing rtp/rtcp buffer structs.
	  Fixes -Wmissing-field-initializers in Clang.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/757>

2020-02-12 14:48:36 +0100  Havard Graff <havard@pexip.com>

	* tests/check/libs/rtpbasedepayload.c:
	  rtpbasedepayload: test warning fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/757>

2020-07-14 22:03:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Update cache with new raw pixel format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754>

2020-07-14 21:43:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/video.c:
	  video: Add support for linear 32x32 NV12 tiles
	  This adds linear 32x32 NV12 based tiles. This format is notably used by
	  Allwinner VCU and exposed in V4L2 as being "SUNXI Tiled" format. In this
	  patch we generalize the plane info calculation so we can share this part
	  with the 4L4 variant.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754>

2020-07-14 11:29:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Update cache after adding a new pixel format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>

2020-07-14 10:42:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: Fix tiling support
	  When using tile format, the stride has a different meaning. It used
	  the MSB and LSB 16bits to encode respectively the width and height in
	  number of tiles.
	  This issue was introduce with commit e5b70d384c which was fixing
	  missing size recalculation when strides and offset is updated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>

2020-07-13 16:18:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-tile.c:
	* gst-libs/gst/video/video-tile.h:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/video.c:
	  video: Add NV12_4L4 tile format
	  This format is produced by Verisillicon VC8000D VPU decoder, it is a simple 4x4
	  tiling layout in a linear way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>

2020-06-16 11:44:08 -0400  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/video/video-frame.c:
	  video: allow frame copy destination to have dimensions smaller than source
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/707>

2020-07-14 14:06:58 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/qt/gl-compat-defines.h:
	* tests/examples/gl/qt/meson.build:
	* tests/examples/gl/qt/mousevideooverlay/meson.build:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/mousevideooverlay/qrenderer.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/meson.build:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglrenderer.h:
	* tests/examples/gl/qt/qglwtextureshare/meson.build:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.h:
	  examples/gl/qt: silence compiler warnings
	  -Waggregate-return: used by some Qt clases extensively and not super
	  useful for this example. Supress it.
	  warning: "GL_GLEXT_VERSION" redefined: Perform the same workaround as
	  qmlglsink by defining the old gl/GL.h header guard if the new GL/gl.h
	  guard exists.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/752>

2019-11-27 16:51:55 +0100  Santiago Carot-Nemesio <scarot@twilio.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Notify error in case packet can not be added to an RTCP compound packet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/476>

2020-07-10 14:57:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Add scaling fast-path for GBRA format
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/684
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/749>

2020-07-10 19:49:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
	  glwindow/winrt: Add warning message if window is being closed from a UI thread
	  All UI elements will follow Single-Threaded Apartments (STA) model.
	  As a result, we should access them from dedicated UI thread.
	  Due to the nature of the threading model, ANGLE will wait the UI
	  thread while closing internal window/swapchain objects.
	  A problem here is that when destroying GstGLWindow from the UI thread,
	  it will wait GstGLContext's internal thread. Meanwhile, the GstGLContext's
	  internal thread will be blocked because ANGLE wants to access the UI thread.
	  That will cause a deadlock or exceptions.
	  In short, application should not try to call
	  gst_element_set_state(pipeline, GST_STATE_NULL) from a UI thread.
	  That's a limitation of current implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>

2020-07-09 22:23:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
	* gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.h:
	  glwindow/winrt: Add window resize event handler
	  GstGLWindow implmentaion should be able to report native window size
	  and also it need to handle resize event for glimagesink.
	  Note that GstD3D11Window implementation was referenced for this change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>

2020-07-09 19:51:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
	  glwindow/winrt: Move to c++
	  For native window size query, c++ API is much convenient than c API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>

2020-07-10 02:46:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Fix annotations
	  Don't put double ':' there
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>

2020-05-17 02:44:42 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/elements/appsrc.c:
	  tests: appsrc: Add unit test for custom segment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>

2020-05-17 02:29:39 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Add support for custom GstSegment
	  Add property "handle-segment-change" for user to allow pushing
	  custom segment event. For now, this property can work only for
	  time format GstSegment.
	  This property can be useful in case application controls timeline
	  of stream such as there is timestamp discontinuity but playback is
	  expected to be continuous. Multi-period scenario of MPEG-DASH is an
	  example of this use case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>

2020-07-09 11:05:35 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: Do not restrict number of similar profiles in a container
	  We have the notion of presence, and when the user want to be in control
	  it is totally legitimate for him to have several occurrences of a
	  similar profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/746>

2020-07-09 13:13:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-converter.c:
	  videoconverter: Relax frame size checks
	  Since we are using VideoMeta, the converter (similarly to the video_frame_copy
	  utility) should have no issue dealing with frames that are slightly larger.
	  This situation occure as some element will use padded width/height for
	  allocation, which results in a VideoMeta width/height being larger then the
	  display width/height found in the negotiated caps.
	  Fixes #790
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/747>

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

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Fix negotiation with downstream if there is no peer yet
	  get_allowed_caps() will return NULL, which is not a problem in itself.
