tcp: Convert tcpserversink to new helpers.
[platform/upstream/gstreamer.git] / ChangeLog
index 7ad00e4..b1ff96b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.18.0 ===
+
+2020-09-08 00:03:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * 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.
+         Just take the template caps for negotiation in that case instead of
+         erroring out.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/744>
+
+2020-07-08 16:48:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-plugins-base.doap:
+       * meson.build:
+       * scripts/extract-release-date-from-doap-file.py:
+         meson: set release date from .doap file for releases
+         And fix up DOAP file XML. Parser would complain about
+         unknown entity &excl; here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/743>
+
+2020-07-08 15:15:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
+       * pkgconfig/gstreamer-plugins-base.pc.in:
+       * pkgconfig/meson.build:
+         pkgconfig: fix gstreamer-plugins-base-1.0 .pc files for no OpenGL case
+         Don't put gl into the libraries list if the gst-gl library isn't
+         being built, and also don't include it in the list of linker flags
+         then.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/613
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/742>
+
+2020-07-02 22:33:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         glwindow/win32: Fix possible deadlock around key/mouse event handling
+         Calling gst_gl_window_send_{key,mouse}_event() from GstGLContext
+         thread might cause a deadlock. Instead, use the dedicated event handling
+         thread in GstGLDisplay.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/721>
+
+2020-06-23 16:41:31 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Add test for fullscreen mode switch
+         Add test option "--fullscreen" for testing fullscreen mode switch.
+         When enabled, user can switch fullscreen mode via SPACE key or
+         right mouse button click.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/721>
+
+2020-07-08 09:53:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * pkgconfig/gstreamer-gl-uninstalled.pc.in:
+       * pkgconfig/gstreamer-gl.pc.in:
+         pkgconfig: fix meson warnings about GL_CFLAGS in gstreamer-gl .pc files
+         We added GL_CFLAGS in autotools because we unconditionally included OpenGL
+         headers. We do not do that anymore for a standard #include <gst/gl/gl.h>.
+         OpenGL headers are only included for the platform specific files
+         e.g. #include <gst/gl/x11/gstgldisplay_x11.h> which must always be hidden
+         behind a #if GST_GL_HAVE_WINDOW_X11, or #include <gst/gl/gstglfuncs.h> to
+         gain access to the contents of the GstGLFuncs object.
+         Users of our headers must include the necessary include paths for the
+         platforms they are intending to support.
+         We might introduce extra .pc files for what GstGL was built against though.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/735
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/741>
+
+2020-07-08 04:08:33 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+         examples/gl/qt: Don't include GL/glx.h unconditionally
+         The header file might not be available on non-*nix platform.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/740>
+
+2020-07-07 20:01:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/validate/meson.build:
+         tests: validate: fix meson warning
+         meson.build:4: WARNING: Trying to compare values of different types (ExecutableHolder, bool) using ==.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/739>
+
+2020-07-07 14:55:06 +0200  Edward Hervey <edward@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update cache for removed properties
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
+
+2020-07-07 10:57:38 +0200  Edward Hervey <edward@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/playback/gstplay-enum.c:
+         playback: Clarify flag usage for playbin3
+         Forcing software-decoder has no effect on playbin3 now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
+
+2020-07-07 10:52:40 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gsturidecodebin3.c:
+         Revert "playbin3: handle GST_PLAY_FLAG_FORCE_SW_DECODERS"
+         This reverts commit f4bcf8290b3568690dacf0dac95af7f7036f7110.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
+
+2020-07-02 14:25:27 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gsturidecodebin3.c:
+         decodebin3: Only override the selection if needed
+         Whenever a new collection is calculated, the internal `select_streams_seqnum`
+         variable is reset. This ensures that we reliably know whether a select-streams
+         event has been received for that new collection.
+         Use that to decide whether we should add previously un-selected streams or new
+         streams in the current selection
+         Fixes #784
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/733>
+
+2020-06-29 18:21:23 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/alsa/gstalsaplugin.c:
+         alsadeviceprovider: Rank down to secondary so PulseAudio can hide it
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/727>
+
+2020-07-04 12:13:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+         Update disted generated orc backup files
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/734>
+
+2020-07-04 00:31:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/video/meson.build:
+       * gst/adder/meson.build:
+       * gst/audiomixer/meson.build:
+       * gst/compositor/meson.build:
+       * gst/videotestsrc/meson.build:
+       * gst/volume/meson.build:
+       * meson.build:
+       * scripts/update-orc-dist-files.py:
+         meson: add update-orc-dist target
+         Add target to update backup orc -dist.[ch] files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/734>
+
+2020-07-04 00:39:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/video-color.h:
+         video-color.h: fix comment syntax
+
+2020-06-26 12:22:08 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * 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:
+         video-converter: Make fast path work for equivalent transfer functions
+         For example, BT709, BT601, and BT2020_10 all have theoretically
+         different transfer functions, but the same function in practice. In
+         these cases, we should use the fast path for negotiating. Also,
+         BT2020_12 is essentially the same as the other three, just with one more
+         decimal point, so it gives the same result for fewer bits. This is now
+         also aliased to the former three.
+         Also make videoconvert do passthrough if the caps have equivalent
+         transfer functions but are otherwise matching.
+         As of the previous commit, we write the correct transfer function for
+         BT601, instead of the (functionally identical but different ISO code)
+         transfer function for BT709. Files created using GStreamer prior to that
+         commit write the wrong transfer function for BT601 and are, strictly
+         speaking, 2:4:5:4 instead. However, this commit takes care of
+         negotiation, so that conversions from/to the same transfer function are
+         done using the fast path.
+         Fixes #783
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724>
+
+2020-06-25 20:56:48 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+       * gst-libs/gst/video/video-info.c:
+       * tests/check/libs/video.c:
+         video-color: Add bt601 transfer function
+         Functionally the same as 709 but technically has a different value, and
+         external software (e.g. ffmpeg) finds "wrong" values produced by
+         GStreamer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724>
+
+2020-07-03 02:03:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
+=== release 1.17.2 ===
+
+2020-07-03 00:24:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.17.2
+
+2020-07-01 20:14:57 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: Fix gst_buffer_get_video_(afd|bar)_meta
+         The macros were not passing the meta GType to gst_buffer_get_meta,
+         rendering them unusable.
+         Also, the doc comments were specifying parameters meant for the
+         add_video_X_meta functions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/732>
+
+2020-06-24 15:59:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/pango/gstbasetextoverlay.c:
+         basetextoverlay: mark valign and halign props as DOC_SHOW_DEFAULT
+         To document it, we instantiate a subclass and inspect the properties
+         on the created object. Subclasses (in that case textrender) may
+         initialize those properties with a different default, we do not
+         want to expose that in the base class documentation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/723>
+
+2019-06-14 10:14:23 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/audio/gstaudiofilter.c:
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideofilter.c:
+       * gst/audioconvert/gstaudioconvert.c:
+       * gst/audioresample/gstaudioresample.c:
+         audio: video: Optimize by using cached quark for meta tag
+         Avoid taking the global quark lock for every single buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/295>
+
+2020-05-14 15:49:54 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+         rtpbasedepayload: improve logging around negative gaps
+         When warning, it is important that the log will contain information to
+         help debug the problem. Sequence-numbers are crucial here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/725>
+
+2020-06-20 00:37:09 +0530  Ayush Mittal <ayush.mittal9398@gmail.com>
+
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/encoding-target.h:
+         Added the path property in encoding-target
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/714>
+
+2020-06-23 17:31:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: add GstVisual to plugins cache
+
+2020-06-23 02:49:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/libvisual/visual.c:
+         docs: mark more plugin API
+
+2020-06-22 20:10:10 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/tcp/gstmultisocketsink.c:
+         doc: Fix link in tcp multi*sinks.
+
+2020-06-23 00:01:13 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         plugins_cache: add base classes
+
+2020-06-23 00:00:40 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         meson: mark plugins cache target as always stale
+
+2020-06-21 01:33:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstgleffects.c:
+       * ext/gl/gstglmixer.c:
+       * ext/ogg/gstogmparse.c:
+       * ext/pango/gstbasetextoverlay.c:
+       * gst/gio/gstgiobasesink.c:
+       * gst/gio/gstgiobasesrc.c:
+       * gst/rawparse/gstrawbaseparse.c:
+       * gst/tcp/gstmultihandlesink.c:
+         docs: mark more types as plugin API
+
+2020-06-19 22:49:44 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         doc: Stop documenting properties from parents
+
+2020-06-24 01:57:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.h:
+         videometa: Fix documentation
+         Fix gst_video_region_of_interest_meta_add_params to
+         gst_video_region_of_interest_meta_add_param and add newline to be
+         more readable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/722>
+
+2020-06-22 21:43:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         audiodecoder: Add max-errors property
+         The number of consecutive decode errors that should be tolerated before
+         returning flow error should be up to the application, not the element.
+         Hence max-error should be exposed as a property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/720>
+
+2020-06-22 21:36:02 +0300  Haakon Sporsheim <haakon@pexip.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Add max-errors property
+         The number of consecutive decode errors that should be tolerated before
+         returning flow error should be up to the application, not the element.
+         Hence max-error should be exposed as a property.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/720>
+
+2020-06-22 19:35:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         glwindow/win32: Chain up mouse event to parent window
+         Fix a regression of the commit 940c9998e5cfffd90fade8a7f39f29a426e20460
+         Unlike key event, mouse event will not be chained up to parent window
+         by DefWindowProc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/718>
+
+2020-06-22 12:32:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstparsebin.c:
+         Don't call gst_ghost_pad_construct() anymore
+         It's deprecated, unneeded and doesn't do anything anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/717>
+
+2020-06-22 12:19:28 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+       * tools/gst-discoverer.c:
+         tools:discoverer: Remove short name for use-cache
+         There is no need to add short name for 'use-cache'.
+         The 'async' option already has 'a' short name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/716>
+
+2020-06-17 09:03:51 +0900  Hosang Lee <hosang10.lee@lge.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: lower text buffer threshold
+         It is possible for subtitle files to have a string length less than 30.
+         WebVTT for example may contain only the 'WEBVTT' string in the file
+         without any cues.
+         As an example in hls streams, since WEBVTT files can be segmented
+         like video/audio, some subtitle segments may only contain just the
+         header string.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/708>
+
+2020-06-20 00:28:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
+=== release 1.17.1 ===
+
+2020-06-19 19:16:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * docs/plugins/gst_plugins_cache.json:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.17.1
+
+2020-06-19 12:17:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+       * gst-libs/gst/audio/audio-resampler.c:
+       * gst-libs/gst/audio/audio-resampler.h:
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.h:
+         Fix up and add various "Since" markers and other related docs fixes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/713>
+
+2020-06-18 12:15:57 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdp: fix gst_sdp_message_new_from_text() doc
+         Arguments were in the wrong order in the doc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/711>
+
+2020-06-18 10:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/validate/meson.build:
+         tests: validate: Add workaround for older meson versions
+         subproject.get_variable() only has fallback since 0.51
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/710>
+
+2020-06-18 09:01:34 +0900  Hosang Lee <hosang10.lee@lge.com>
+
+       * tests/check/elements/subparse.c:
+         tests: subparse: add test for webvtt without hour component
+         Test for webvtt without hour component.
+         mm:ss.000
+
+2020-06-15 13:22:38 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videotestsrc/gstvideotestsrc.c:
+         videotestsrc: Do not try to answer the duration query before negotiation
+         We have no idea at that moment and this code was trying to divide by 0!
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/705>
+
+2020-06-15 09:46:17 -0400  Aaron Boxer <boxerab@gmail.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         video: allow frame copy where destination dimensions are smaller than source
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/695>
+
+2020-06-12 13:04:23 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/examples/gl/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:
+       * tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+       * tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+       * tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_gstthread.cpp:
+       * tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_pipeline.cpp:
+       * tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_qrenderer.cpp:
+       * tests/examples/gl/qt/videooverlay/meson.build:
+       * tests/examples/gl/qt/videooverlay/videooverlay.pri:
+       * tests/examples/gl/qt/videooverlay/videooverlay.pro:
+         gl/examples/qt: hook up to meson build
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/702>
+
+2020-06-06 01:22:21 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+       * tests/check/libs/video.c:
+         video-converter: Add checks for configuration sanity.
+         If the cropping or scaling input or output rects put us completely
+         outside the input/output frame respectively, we can't draw anything
+         except black safely. Check for those conditions and don't set up a
+         configuration that attempts to access out of bounds memory outside
+         the input/output framebuffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/696>
+
+2020-06-05 23:34:44 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+       * tests/check/libs/video.c:
+         video-converter: Guard against invalid frame input
+         If the frames passed in to gst_video_converter_frame()
+         have a different layout than was configured for, the
+         conversion code might go out of bounds and crash.
+         Do a sanity check on each frame passed in, and in the
+         absence of a return value in the API, just
+         refuse the conversion in invalid cases and leave the
+         destination frame untouched so it's obvious to
+         users that it was broken.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/696>
+
+2020-06-12 00:21:56 +0200  David Bender <benderdave@gitlab.fdo>
+
+       * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+         gstglwindow_x11: fix resize
+         This patch was taken from #629#note_178766, the comment made
+         at the time was:
+         The root issue is a mismatch between the initialization of render_rect
+         in GstGLWindowX11Private and what's expected in the draw_cb function.
+         Because render_rect is not explicitly initialized to a width and height
+         of -1 (unlike gstglwindow_wayland_egl.c which does initialize to -1),
+         the less-than check for explicitly-set render_rect at gstglwindow_x11.c:453-454
+         always fails, even when the parent_win has been set and the render rectangle
+         has never been set.
+         Maybe this came from copying the similar check in the wayland code? Regardless,
+         I think the correct inequality should be '<= 0' (on both lines).
+         Alternatively initialization could be changed, but other sinks, e.g.
+         xvimagesink don't appear to use -1 to mean "unset" render_rect this way.
+         The issue can be reproduced by running the example in
+         tests/examples/gl/qt/videooverlay/ on X11, and resizing the output
+         window
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/701>
+
+2020-06-12 00:17:24 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/videooverlay.c:
+         videooverlay: chevrons don't need to be escaped in code examples
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/700>
+
+2020-06-11 16:39:23 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Lower error message to debug
+         Debugging leftover
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/699>
+
+2020-06-11 20:57:58 +0300  Jordan Petridis <jpetridis@gnome.org>
+
+       * ext/libvisual/visual.c:
+         libvisual: use gst_element_class_set_metadata when passing dynamic strings
+         gst_element_class_set_metadata is meant to only be used with
+         static or inlined strings, which isn't the case for this element
+         resulting in use-after-free later on.
+         https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/698>
+
+2020-06-11 13:16:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson_options.txt:
+       * tests/meson.build:
+       * tests/validate/meson.build:
+         meson: Use the tests option for validate
+         This is what gstreamer core does too, and avoids a configure error
+         when tests are disabled globally. Also print a useful error when
+         gst_tester is not found from the gstreamer subproject.
+         This broke in https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/667
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/697>
+
+2020-06-09 15:18:43 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins cache
+
+2020-06-10 10:43:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/audio-format.h:
+         audio: add missing space in GST_AUDIO_FORMATS_ALL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/694>
+
+2020-06-08 10:40:15 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins cache
+
+2020-06-04 16:40:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-format.h:
+         video: sort formats by quality
+         Will ensure that we pick the "best" format when negotiating caps.
+         Fix #649
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/689>
+
+2020-06-04 16:40:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/audio-format.h:
+         audio: sort formats by quality
+         Will ensure that we pick the "best" format when negotiating caps.
+         Fix #649
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/689>
+
+2020-06-05 15:26:58 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * tests/check/elements/compositor.c:
+       * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+       * tests/validate/videorate/change_rate_while_playing.validatetest:
+       * tests/validate/videorate/check-rate-prop.meta:
+         tests: enforce I420 format
+         Tests are assuming video is I420 but are not actually enforcing it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/689>
+
+2020-05-22 00:35:03 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Let decodebin do its stream selection if no one answers
+         If no one answers our `select-stream` signal, uridecodebin3 should
+         behave the same way as `decodebin3` and let decodebin do its own stream
+         selection.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/666>
+
+2020-05-22 00:32:15 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Avoid overriding explicit user selection
+         In case the user set a list of streams to select or answer explicitly
+         to all 'select-stream' event, we should respect his choice and not
+         try to add a stream per type.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/666>
+
+2020-06-08 08:11:00 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/elements/decodebin.c:
+         tests: Avoid hang with decodebin test
+         When adding elements dynamically to a pipeline one should never guess what the
+         curren/target state is, and instead use `gst_element_sync_state_with_parent()`.
+         Fixes racy hang when running within valgrind
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/692>
+
+2020-06-06 20:22:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+         playbin: Fix wrong AV element pair selection when rank is very large value
+         If user set very high rank to an element (e.g., integer max),
+         integer overflow can happen while multiplication operation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/690>
+
+2020-06-06 00:41:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/cdparanoia/gstcdparanoiasrc.c:
+       * ext/gl/gstglalpha.c:
+       * ext/gl/gstgldeinterlace.c:
+       * ext/gl/gstgleffects.c:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstgltestsrc.c:
+       * ext/gl/gstglvideoflip.c:
+       * ext/gl/gstglvideomixer.c:
+       * ext/opus/gstopusenc.c:
+       * ext/pango/gstbasetextoverlay.c:
+       * ext/pango/gsttextrender.c:
+       * ext/pango/gsttimeoverlay.c:
+       * ext/theora/gsttheoraenc.c:
+       * gst/audiomixer/gstaudiointerleave.c:
+       * gst/audiomixer/gstaudiomixer.c:
+       * gst/audioresample/gstaudioresample.c:
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * gst/compositor/compositor.c:
+       * gst/encoding/gstencodebin.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaysink.c:
+       * gst/rawparse/gstrawaudioparse.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/videoscale/gstvideoscale.c:
+       * gst/videotestsrc/gstvideotestsrc.c:
+         plugins: uddate gst_type_mark_as_plugin_api() calls
+
+2020-06-04 16:25:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/videoencoder.c:
+         videoencoder: Add test for min-force-key-unit-interval property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-04 15:19:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * tests/check/libs/videoencoder.c:
+         videoencoder: Also don't request a new key-unit if we already got one after the requested running time
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-04 15:10:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Don't request another keyunit if another one is pending or we requested one for a future time already
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 21:46:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.h:
+         videoencoder: Add min-force-key-unit-interval property
+         This allows configuring the minimum interval between subsequent
+         force-key-unit requests and prevents a big bitrate increase if a lot of
+         key-units are requested.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 20:49:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/videoencoder.c:
+         videoencoder: Add test for correct force-keyunit event handling
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 20:26:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/videoencoder.c:
+         videoencoder: Fix force-keyunit handling in test
+         This now behaves according to the videoencoder API instead of some other
+         signalling.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 22:38:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: When pushing headers as part of a keyframe mark the first header as keyframe
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 20:17:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Handle all matching force-keyunit events at once
+         Previously we only handled one event at a time, which could lead to the
+         following two suboptimal situations:
+         - frame 0 at 20ms, frame 1 at 40ms and two force-keyunit events at 10ms
+         and 15ms. We would create a new keyframe for both of the frames.
+         - 100 force-keyunit events with running-time NONE would cause all
+         following 100 frames to be made into a keyframe.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 19:59:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Sort force-keyunit-events by their running time
+         That way we can more easily work with the whole list without iterating
+         over all of the elements.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684>
+
+2020-06-03 11:29:09 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturidecodebin.c:
+         uridecodebin: Dont link random pads
+         When linking source pads to decodebin, make sure we use the *specified* new
+         source pad and not some random one.
+         This avoids ending up with source pads being unlinked.
+         Main cause of random timeouts with rtsp change_state_intensive validate tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/687>
+
+2020-06-04 10:41:13 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/video-hdr.c:
+         video-hdr: fix memset warning
+         Fix warning on fedora arm64 target
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/685>
+
+2020-06-04 11:22:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video: Fix NV12_64Z32 number of component
+         This format has 3 components, just like NV12.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/686>
+
+2020-06-03 20:50:05 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/video-multiview.h:
+         doc: Add a minimal GstVideoMultiviewFlagsSet documentation
+
+2020-06-03 18:38:38 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         doc: Require hotdoc >= 0.11.0
+
+2020-05-27 16:00:48 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update gst_plugins_cache.json
+
+2020-05-29 02:43:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/cdparanoia/gstcdparanoiasrc.c:
+       * ext/gl/gstglalpha.c:
+       * ext/gl/gstgldeinterlace.c:
+       * ext/gl/gstgleffects.c:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstgltestsrc.c:
+       * ext/gl/gstglvideoflip.c:
+       * ext/gl/gstglvideomixer.c:
+       * ext/opus/gstopusenc.c:
+       * ext/pango/gstbasetextoverlay.c:
+       * ext/pango/gsttextrender.c:
+       * ext/pango/gsttimeoverlay.c:
+       * ext/theora/gsttheoraenc.c:
+       * gst/audiomixer/gstaudiointerleave.c:
+       * gst/audiomixer/gstaudiomixer.c:
+       * gst/audioresample/gstaudioresample.c:
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * gst/compositor/compositor.c:
+       * gst/encoding/gstencodebin.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaysink.c:
+       * gst/rawparse/gstrawaudioparse.c:
+       * gst/rawparse/gstrawaudioparse.h:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/videoscale/gstvideoscale.c:
+       * gst/videotestsrc/gstvideotestsrc.c:
+         plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
+
+2020-06-03 15:06:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Simplify header buffer metadata updating
+         Instead of doing a shallow copy of the list just to call make_writable()
+         on each buffer, do that inline in the same loop and modify the list
+         contents.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/683>
+
+2020-06-03 14:37:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoutils.h:
+         video: Use GQueue instead of plain GList in a few places
+         Also not optimal but at least simplifies the code a bit and doesn't
+         require g_list_length() and g_list_append() in a few places.
+         For 2.0 there are some more candidates to change but unfortunately
+         they're currently part of the API.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/683>
+
+2020-06-02 16:56:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format: RGB16/15 are not 16 bit per component but only 5.333 and 5
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/682>
+
+2020-05-27 15:41:43 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/audio-format.c:
+       * gst-libs/gst/audio/audio-format.h:
+       * gst-libs/gst/audio/audio-info.h:
+       * tests/check/libs/audio.c:
+         audio: add gst_audio_make_raw_caps()
+         More binding friendly version of GST_AUDIO_CAPS_MAKE().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676>
+
+2020-06-01 15:24:32 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/audio-format.h:
+         audio-format: remove empty space prefix from GST_AUDIO_FORMATS_ALL
+         This space prevent deserialization using gst_value_deserialize().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676>
+
+2020-05-27 15:05:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/audio-format.c:
+       * gst-libs/gst/audio/audio-format.h:
+         audio-format: add gst_audio_formats_raw()
+         The existing GST_AUDIO_FORMATS_ALL macro is not binding friendly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676>
+
+2020-05-27 15:41:43 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * tests/check/libs/video.c:
+         video: add gst_video_make_raw_caps()
+         More binding friendly version of GST_VIDEO_CAPS_MAKE().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676>
+
+2020-05-27 15:05:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+         video-format: add gst_video_formats_raw()
+         The existing GST_VIDEO_FORMATS_ALL macro is not binding friendly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676>
+
+2020-05-29 19:08:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+         glcontext/eagl: handle sending one message during shutdown
+         gst_gl_window_quit() will attempt to send a message but will be called
+         from GstGLContext's finalize handler and so the weak ref that backs
+         gst_gl_window_get_context will return NULL as it has already been
+         cleared.  We need that context in send_message_async to decide whether
+         to run the provided callback immediately or queue in GCD
+         This is the equivalent commit for iOS as:
+         7f59cefafb1cd733cf527fb935b2cd32418fcbe2
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/618
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681>
+
+2020-05-29 15:44:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+       * gst-libs/gst/gl/eagl/gstglios_utils.h:
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+       * gst-libs/gst/gl/meson.build:
+         gl/eagl: don't access UIkit objects on the main thread
+         This means we cannot access [view layer] or view.bounds from the OpenGL
+         thread.  This also means that we need to call the main thread when
+         setting the window handle.  However, we cannot perform that
+         synchronously as that may deadlock with the application performing the
+         set_window_handle() call.
+         We need to defer the actual update and run it asynchronously and wait
+         for the window handle update internally at each point it is needed.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/372
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681>
+
+2020-05-29 14:12:38 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+         gl/ios: fix typo GS_GL -> GST_GL
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681>
+
+2020-05-29 16:21:11 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/check-rate-prop.meta:
+       * tests/validate/videorate/rate_0_5.validatetest:
+       * tests/validate/videorate/rate_0_5/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/rate_0_5/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/rate_0_5_with_decoder.validatetest:
+       * tests/validate/videorate/rate_0_5_with_decoder/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/rate_0_5_with_decoder/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/rate_2_0.validatetest:
+       * tests/validate/videorate/rate_2_0/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/rate_2_0/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/rate_2_0_with_decoder.validatetest:
+       * tests/validate/videorate/rate_2_0_with_decoder/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/rate_2_0_with_decoder/flow-expectations/log-videorate-src-expected:
+         videorate: Update QoS events taking into account our rate
+         Otherwise there is a mismatch between the QoS values and what upstream
+         would expect, leading to too much buffer dropping in video decoders in
+         case rate < 1.0 or not enough buffer dropping in case rate > 1.0
+         Adding validate tests with and without decoders.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/679>
+
+2020-05-31 00:27:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+       * gst/videorate/gstvideorate.h:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+       * tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/change_rate_reverse_playback/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/change_rate_while_playing.validatetest:
+       * tests/validate/videorate/change_rate_while_playing/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/change_rate_while_playing/flow-expectations/log-videorate-src-expected:
+         videorate: Fix changing `rate` property during playback
+         We need to take into account the base_ts to compute next_ts and it needs
+         to be updated on rate change.
+         This introduces `pending_rate` so that change rate is properly handled
+         in the streaming thread in a safe way.
+         Added tests
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/679>
+
+2020-05-28 13:42:22 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * tests/validate/meson.build:
+       * tests/validate/videorate/10_to_1fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/10_to_1fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.10_to_30fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.10_to_30fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.1_to_10fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.1_to_10fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.30fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.30fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.variable_to_10fps.validatetest:
+       * tests/validate/videorate/reverse.variable_to_10fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.variable_to_10fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/videorate-test.meta:
+         tests:validate: Run all test using a simple fakesink
+         `fakevideosink` is in -bad and thus not available here.
+         Update the expectation files as video metas are not negotiated anymore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/677>
+
+2020-05-29 11:39:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglmemory.h:
+       * gst-libs/gst/gl/gstglupload.h:
+         libs: gl: silence gir compiler
+         There were a couple complains of the gir compiler on these gstgl
+         files.
+         * Added namespace to public macros, even if they are helpers.
+         * Removed a misused private tag
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/678>
+
+2020-01-23 12:38:44 -0600  Michael Gruner <michael.gruner@ridgerun.com>
+
+       * gst/videoscale/gstvideoscale.c:
+         videoscale: reorder code to avoid indent missmatches
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/548>
+
+2020-01-23 11:02:52 -0600  Michael Gruner <michael.gruner@ridgerun.com>
+
+       * gst/videoscale/gstvideoscale.c:
+         videoscale: transform size sensitive metas
+         Currently, videoscale just drops all metas that have other tags
+         besides video. However videoscale wont change the colorspace or
+         the orientation of the video so metas tagged as such may be
+         copied safely. Additionaly, given that videoscale will change
+         the frame size, we invoke the meta transform implementation
+         to give it the opportunity to scale accordingly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/548>
+
+2020-01-22 22:30:11 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/audiosink.c:
+       * tests/check/meson.build:
+         tests: audiosink: Test class extension struct
+         Test a vfunc which belongs to GstAudioSinkExtension struct.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/547>
+
+2020-01-22 00:14:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/audio/gstaudiosink.c:
+       * gst-libs/gst/audio/gstaudiosink.h:
+         audiosink: Keep baseclass extensible
+         Add a structure for future extension.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/716
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/547>
+
+2020-05-27 15:11:17 +0200  uno20001 <regisztralo111@gmail.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin: only emit 'drained' signal when top chain is drained
+         Without this, decodebin emits 'drained' multiple times which then
+         causes (uri)playbin to emit 'about-to-finish' multiple times for
+         for file types.
+         Fixes #751
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/673>
+
+2020-05-27 19:59:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/audioresample.c:
+         audioresample: Add new test that checks for downstream renegotiation
+         This test always consumes 48kHz and outputs different sample rates based
+         on downstream renegotiation. Previously this would produce completely
+         wrong timestamps and not output all samples.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
+
+2020-05-27 19:08:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/audioresample.c:
+         audioresample: Fix up test_live_switch
+         Actually check that we get back all samples, which we didn't before
+         because no draining was happening. Also remove commented out 0.10 code
+         and related comments.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
+
+2020-05-26 22:51:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audioresample/gstaudioresample.c:
+         audioresample: Drain resampler on discontinuities
+         Otherwise we would lose the last few samples when resetting the
+         resampler.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
+
+2020-05-26 22:49:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audioresample/gstaudioresample.c:
+         audioresample: Drain resampler and reset timestamp tracking on stream-start event too
+         And also reset timestamp tracking on EOS events as more data might come
+         afterwards with a new stream-start event. This keeps the code the same.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
+
+2020-05-26 22:45:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audioresample/gstaudioresample.c:
+         audioresample: Drain the resampler and reset timestamp tracking on caps changes
+         Especially when changing the sample rate our timestamp tracking will be
+         completely off, but even otherwise we would usually lose the last few
+         samples if we don't drain here as the resampler gets reset if anything
+         but the sample rate changes.
+         This is usually not a problem as the first buffer after a caps event
+         usually has the discont flag set, but can cause problems if
+         - the caps event is followed by a segment event, which then causes
+         draining according to the new sample rate
+         - the caps were changed because of rengotiation due to a reconfigure
+         event and there is not discontinuity from upstream
+         In both cases we would output buffers with completely wrong timestamps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
+
+2020-05-08 11:19:24 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: init type before g_once_init_enter
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/675>
+
+2020-05-08 11:03:52 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/video-hdr.c:
+         video-hdr: fix typo
+         fix typo in video_hdr_ascii_string_to_unsigned
+         method name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/675>
+
+2020-05-26 18:51:03 +0200  Niels De Graef <nielsdegraef@gmail.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: Correct signals gtkdoc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/669>
+
+2020-05-25 16:59:53 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/reverse.10_to_1fps.validatetest:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.10_to_30fps.validatetest:
+       * tests/validate/videorate/reverse.10_to_30fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.10_to_30fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.1_to_10fps.validatetest:
+       * tests/validate/videorate/reverse.1_to_10fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.1_to_10fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.30fps.validatetest:
+       * tests/validate/videorate/reverse.30fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.30fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.variable_to_10fps.validatetest:
+       * tests/validate/videorate/reverse.variable_to_10fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.variable_to_10fps/flow-expectations/log-videorate-src-expected:
+         videorate: Fix buffer selection logic in reverse playback
+         Stop comparing all timestamps from buffers that are before the segment
+         with the segment.stop and compare with the actual end times.
+         Comparing to segment.stop for all the buffers that where before
+         the segment.stop was incorrect and leading to consuming wrong buffers
+         and not respecting segment.stop, this is now properly tested.
+         Expectations for `reverse.10_to_1fps.validatetest` have been fixed to
+         take that into account and comparing the checksums of the sinkpad and
+         srcpad expectations makes pretty clear how wrong that was.
+         (we can see in the expectations that videotestsrc outputs an extra
+         buffer with pts == segment.stop and this one is now properly dropped
+         by videorate as bec7f4ad5ed4bb1abfb92db946e654338766562b aimed at
+         doing)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
+
+2020-05-25 16:29:15 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Factor out a method for the`max-duplication-time` property
+         Sensibly simplifying gst_video_rate_transform_ip
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
+
+2020-05-25 14:48:04 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Use CLOCK_TIME_IS_VALID instead of checking CLOCK_TIME_NONE
+         Making it more consistency with the rest of the code.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
+
+2020-05-25 14:33:54 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Factor out a method to reset mode
+         Working on simplifying gst_video_rate_transform_ip
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
+
+2020-05-25 12:31:32 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/validate/meson.build:
+       * tests/validate/videorate/10_to_1fps.validatetest:
+       * tests/validate/videorate/10_to_1fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/10_to_1fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/reverse.10_to_1fps.validatetest:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-sink-expected:
+       * tests/validate/videorate/reverse.10_to_1fps/flow-expectations/log-videorate-src-expected:
+       * tests/validate/videorate/videorate-test.meta:
+         videorate: Do not push an extra buffer on EOS when we are done pushing already
+         There is no reason that when we have already pushed all the buffers in
+         a segment we push a new one on EOS
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
+
+2020-05-22 23:24:55 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * meson_options.txt:
+       * tests/check/meson.build:
+       * tests/meson.build:
+       * tests/validate/audiotestsrc/reverse.validatetest:
+       * tests/validate/audiotestsrc/reverse/flow-expectations/log-asink-sink-expected:
+       * tests/validate/meson.build:
+         audiotestsrc: Fix the way we compute EOS in reverse playback
+         In reverse playback we were not taking into account the current buffer
+         samples to check if we had reached EOS which was leading to a buffer
+         with PTS = CLOCK_TIME_NONE containing too many frames followed by a
+         useless buffer with pts=0 duration=0, and a g_critical issue in
+         gst_object_sync_values.
+         Also add a validate based test case.
+         Without that patch this is how the expectation fails:
+         ``` diff
+         --- log-asink-sink-expected       2020-05-22 23:22:42.654384579 -0400
+         +++ log-asink-sink-actual  2020-05-22 23:29:35.671586380 -0400
+         @@ -27,5 +27,6 @@
+         buffer: pts=0:00:00.058820861, due=0:00:00.023219955, flags=discont
+         buffer: pts=0:00:00.035600907, due=0:00:00.023219954, flags=discont
+         buffer: pts=0:00:00.012380952, due=0:00:00.023219955, flags=discont
+         -buffer: pts=0:00:00.000000000, due=0:00:00.012380952, flags=discont
+         +buffer: due=0:00:00.012380953, flags=discont
+         +buffer: pts=0:00:00.000000000, flags=discont
+         event eos: (no structure)
+         ```
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/667>
+
+2020-05-13 15:28:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         gl: egl: fix gtk-doc doc start code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664>
+
+2020-05-13 14:50:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/gl/gstglfilter.c:
+       * gst-libs/gst/gl/gstglfilter.h:
+         gl: workaround gir warning
+         The gir generator wrongly assume that the vfunc
+         GstGLFilterClass.filter() and the method gst_gl_filter_filter_texture()
+         are related. As a result it complains about not matching argument names.
+         Workaround this by naming both of their arguments input and output.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664>
+
+2020-05-13 10:08:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstegl.c:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+         gl: egl: add missing gir annotations
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664>
+
+2020-05-13 10:13:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+         gl: x11: skip gst_gl_display_x11_new_with_display() from gir
+         The X11 Display type is not usable in gir.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664>
+
+2019-01-25 22:48:17 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * gst-libs/gst/riff/riff-media.c:
+         riff-media: add H.265
+         Closes #359
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/43>
+
+2020-05-05 17:39:04 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglcolorscale.c:
+         glcolorscale: fix documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/653>
+
+2020-05-14 14:00:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+         gl/display/egl: ensure debug category is initialized
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/662>
+
+2020-05-12 04:58:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Pass native: false to add_languages()
+         This is needed for cross-compiling without a build machine compiler
+         available. The option was added in 0.54, but we only need this in
+         Cerbero and it doesn't affect older versions so it should be ok.
+         Will only cause a spurious warning.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/660>
+
+2020-05-09 07:31:04 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/elements/glfilter.c:
+       * tests/check/elements/glmixer.c:
+         check: verify gst_gl_display_add_context()
+         As is done almost everywhere else. Doesn't cost anything.
+         CID #1462817
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/657>
+
+2020-05-08 15:10:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/gstglcontext.c:
+         tests/gl: add test for GL context removal
+         Tests functionality fixed by:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/656>
+
+2020-04-27 09:57:30 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Fix buffer timestamp underflow in reverse playback
+         And fix reverse playback buffer duration computation as in reverse
+         playback, buffer duration is prev_buffer.pts - buffer.pts not pts -
+         next_pts (buffers are displayed from buffer.pts + buffer.duration for
+         a duration of buffers.duration).
+         This is now tested with the `validate.test.clock_sync.videorate.*`
+         tests in the default integration testsuite where we check the exact
+         data flow and the synchronization on the clock behaviour with a
+         TestClock.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/646>
+
+2020-04-23 20:35:39 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videotestsrc/gstvideotestsrc.c:
+         videotestsrc: Fix buffer duration in reverse playback
+         In reverse playback, buffers have to be displayed at buffer.stop running
+         time, meaning:
+         buffer.pts + buffer.duration = prev_buffer.pts
+         =>
+         buffer.duration = prev_buffer.pts - buffer.pts
+         We were setting buffer.duration = next_buffer.pts - buffer.pts which
+         is not correct.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/646>
+
+2020-05-06 16:13:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gldisplay: Fix context leak when removing a context from the display
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654>
+
+2020-05-06 09:26:35 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gldisplay: Fix list iteration
+         We were never moving past the first entry it seems...
+         CID #1461275
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654>
+
+2020-02-27 00:05:52 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
+         If core is built as a subproject (e.g. as in gst-build), make sure to use
+         the gst-plugin-scanner from the built subproject. Without this, gstreamer
+         might accidentally use the gst-plugin-scanner from the install prefix if
+         that exists, which in turn might drag in gst library versions we didn't
+         mean to drag in. Those gst library versions might then be older than
+         what our current build needs, and might cause our newly-built plugins
+         to get blacklisted in the test registry because they rely on a symbol
+         that the wrongly-pulled in gst lib doesn't have.
+         This should fix running of unit tests in gst-build when invoking
+         meson test or ninja test from outside the devenv for the case where
+         there is an older or different-version gst-plugin-scanner installed
+         in the install prefix.
+         In case no gst-plugin-scanner is installed in the install prefix, this
+         will fix "GStreamer-WARNING: External plugin loader failed. This most
+         likely means that the plugin loader helper binary was not found or
+         could not be run. You might need to set the GST_PLUGIN_SCANNER
+         environment variable if your setup is unusual." warnings when running
+         the unit tests.
+         In the case where we find GStreamer core via pkg-config we use
+         a newly-added pkg-config var "pluginscannerdir" to get the right
+         directory. This has the benefit of working transparently for both
+         installed and uninstalled pkg-config files/setups.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582>
+
+2020-02-26 23:46:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: don't look for plugins in -base installdir for tests
+         -base plugins will always be found in the build directory, and
+         core plugins will be found either also via the build directory
+         (if both core and -base are a subproject) or by getting the
+         pluginsdir via pkg-config if core is installed.
+         The GST_PLUGIN_LOADING_WHITELIST env var will make sure we only
+         pick up plugins from core/base and base plugins only from the
+         builddir.
+         There is no reason to look for -base plugins in the install dir.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582>
+
+2020-03-12 09:38:58 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/tcp/gsttcpclientsrc.c:
+       * gst/tcp/gsttcpserversrc.c:
+       * gst/tcp/gsttcpserversrc.h:
+       * gst/tcp/gsttcpsrcstats.c:
+       * gst/tcp/gsttcpsrcstats.h:
+       * gst/tcp/meson.build:
+         tcpserversrc: Add stats property
+         Like in tcpclientsrc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/651>
+
+2020-05-06 11:52:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Check sinkpad existence before retrieving caps
+         Otherwise we would error out without releasing the caps first.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
+
+2020-05-06 11:44:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Ensure that we have fixed, non-empty caps before passing passing to is_subtitle_caps()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
+
+2020-05-06 11:42:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Try to get negotiated caps first on pad-added and only then fall back to a caps query
+         The negotiated caps will be more accurate and are fixed caps in any
+         case.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
+
+2020-05-05 17:17:57 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/gl/gstgloverlaycompositorelement.c:
+         gloverlaycompositor: Don't leak caps feature
+         Only copy it if we really are going to modify and use it
+         CID #1439873
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/652>
+
+2020-05-01 11:27:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't crash when setting pad properties after the aggregator was finalized
+         The application might still have a strong reference to a pad and change
+         properties, which should work without crashing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/649>
+
+2020-05-01 10:08:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+       * gst-libs/gst/video/video-anc.h:
+         Add missing colons to Since markers in the docs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/648>
+
+2020-04-30 17:59:45 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/gl/gstglbasesrc.c:
+       * gst-libs/gst/gl/gstglbasesrc.h:
+         gl: Add since tags for new glbasesrc base class
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
+
+2020-04-30 17:59:24 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+         gst/gl: Add documentation for new scroll API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
+
+2020-04-30 17:58:43 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/video/navigation.h:
+         navigation: Add since tag for new API
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
+
+2020-04-28 21:27:36 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * tests/check/libs/pbutils.c:
+         test: pbutils: Add check for high throughput scc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
+
+2020-04-28 21:14:07 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         libs: pbutils: Add High throughput scc extensions profile idc(IDC 11)
+         It is compitable with scc and we can use scc's function to identify it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
+
+2020-04-28 19:10:05 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         libs: pbutils: select extension profile by profile idc.
+         the old manner does not consider the profile idc. The profile idc should
+         play an more important role in recognizing the profile than the other
+         information. And there is no need to mix profiles of different extensions
+         together to find the closest profile when the bits stream is not standard,
+         different extensions support different features and should not be mixed.
+         The correct way should be recognize the extension category by profile idc
+         firstly, and then find the closest profile.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
+
+2020-04-28 18:17:30 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         libs: pbutils: rename the GstH265FormatRangeExtensionProfile.
+         GstH265FormatRangeExtensionProfile declares the common bits used
+         for not only format range extensions profiles, but also for several
+         different h265 extension profiles, such as high throughput, screen
+         content coding extensions, etc. And So the old name is not proper.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
+
+2020-04-27 09:40:23 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         opusdec: prevent 'channels=0' in caps
+         gst_opus_channel_positions() should fail if caps contains "channels=0".
+         Prevent index underflow when indexing gst_opus_channel_positions[] (CID 1462590).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/644>
+
+2020-04-24 22:40:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasesrc.c:
+         glbasesrc: avoid deadlock when querying for OpenGL context
+         Continuation of:
+         a4e49ba8c9657e2230aad32b6988bbda7a755440
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643>
+
+2020-04-24 22:38:32 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglstereosplit.c:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+         gl: fix application context querying between elements
+         Fixes error introduced by:
+         a4e49ba8c9657e2230aad32b6988bbda7a755440
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
+         Using the application GL context as the local GL context is not going to
+         work very well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643>
+
+2020-04-23 10:17:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: add 'stats' property
+         Allow users to retrieve the number of samples, and their duration,
+         generated using PLC.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/641>
+
+2020-04-24 14:44:46 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglstereosplit.c:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+       * gst-libs/gst/gl/gstglbasesrc.c:
+       * tests/check/elements/glmixer.c:
+       * tests/check/meson.build:
+         gl: avoid deadlock querying for OpenGL context
+         If there are two elements and threads attempting to query each other for
+         an OpenGL context. The locking may result in a deadlock.
+         We need to unlock each element's context_lock when querying another
+         element for the OpenGL context in order to allow any other element to
+         take the lock when the other element is querying for an OpenGL context.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642>
+
+2020-04-21 20:09:41 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/glstereo.c:
+       * tests/check/meson.build:
+         tests: add glviewconvert users integration unit test
+         Catch all smoke test for ensuring a basic pipeline can negotiate
+         successfully.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/638>
+
+2020-04-21 22:56:49 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/pango/gsttextrender.c:
+         textrender: Don't calculate caps on every buffer
+         Only renegotiate with downstream when the srcpad has a pending
+         reconfigure flag, instead of querying, fixating and sending caps
+         for every buffer.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/640>
+
+2020-04-19 18:29:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Register an init function for Bar meta
+         The init function is mandatory and we keep around uninitialized memory
+         otherwise.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/747
+
+2020-04-10 14:08:15 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glvideomixer: fix black output after display changes
+         Partial revert of 55e80b550e4ad02aaf44b30ec8b03da9ee485ac6
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/743
+
+2020-04-10 14:05:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: intersect with template caps when updating
+         Downstream may provide extra things when we ask it for caps that we may
+         need to remove.
+         Fixes the following pipeline warning:
+         gltestsrc ! glvideomixerelement ! glimagesinkelement
+         ** (gst-launch-1.0:908581): WARNING **: 13:53:28.518: glvideomixer0: update_src_caps returned caps which are not a real subset of the filter caps
+
+2020-04-10 22:45:26 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Consider MPEG-PS PSM to be a PES type
+         Include the Program Stream Map packet type 0xBC in the
+         set of packets we treat as PES. This fixes typefinding
+         on MPEG-PS streams with PSM, where the PSM would previously
+         be considered a loss-of-sync and cause the typefind
+         to require more data.
+
+2019-08-12 10:41:31 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Activate suburi playback item
+         The suburi playback item has to be activated after the main playback item so
+         that playsink can properly enable text rendering.
+         Fixes #451
+
+2020-04-10 04:24:03 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/pango/gsttextrender.c:
+         textrender: Fix AYUV output.
+         Fix the check for whether the element is operating in ARGB mode. It
+         was incorrectly checking if the output format has an alpha channel,
+         which is true for both ARGB and AYUV, leading to the element
+         incorrectly outputting ARGB values into AYUV caps.
+
+2020-04-08 15:26:23 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         libs: gl: Fix a context leak when display_create_context failed
+
+2020-04-03 10:36:02 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * tools/gst-discoverer.c:
+         discoverer: Enhance printed information when not verbose
+         Basically print information about media tracks making without tags
+         nor buffers in caps making still quite small but containing all
+         information infos.
+         Stop making 'Topology' section and just print the info
+         before:
+         ```
+         Topology:
+         container: MPEG-2 Transport Stream
+         audio: AC-3 (ATSC A/52)
+         video: H.264 (High Profile)
+         Properties:
+         Duration: 0:00:05.512394259
+         Seekable: yes
+         Live: no
+         Tags:
+         audio codec: AC-3 (ATSC A/52)
+         bitrate: 192000
+         video codec: H.264 (High Profile)
+         minimum bitrate: 12947
+         maximum bitrate: 12947
+         ```
+         After:
+         ```
+         Properties:
+         Duration: 0:00:05.512394259
+         Seekable: yes
+         Live: no
+         container: MPEG-2 Transport Stream
+         audio: AC-3 (ATSC A/52)
+         Stream ID: b076403d73e0c5fc13985832e8d585945603993437ba14b0799f422f9495e8ef:1/00001100
+         Language: <unknown>
+         Channels: 2 (front-left, front-right)
+         Sample rate: 48000
+         Depth: 32
+         Bitrate: 192000
+         Max bitrate: 0
+         video: H.264 (High Profile)
+         Stream ID: b076403d73e0c5fc13985832e8d585945603993437ba14b0799f422f9495e8ef:1/00001011
+         Width: 1920
+         Height: 1080
+         Depth: 24
+         Frame rate: 30000/1001
+         Pixel aspect ratio: 1/1
+         Interlaced: true
+         Bitrate: 10363396
+         Max bitrate: 12947
+         ```
+
+2020-04-06 15:20:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Fix otio typefinder to actually detect otio files
+         The string "\"OTIO_SCHEMA\":" is 14 characters and not 15. Checking for
+         15 characters would also check for the final '\0', which does not exist
+         in any otio file as the string is the key of a JSON map.
+
+2020-04-06 15:14:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Fix otio typefinder detecting anything with curly braces at the start
+         memcmp() returns 0 (aka FALSE) on match and a difference otherwise.
+         Previously the typefinder was matching on anything but otio files that
+         happened to have some curly braces in the beginning of the file.
+         Fixes a false positive with a MOV file.
+
+2020-03-20 10:58:19 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         pbutils: Add EncodingProfile serialization support
+
+2020-03-19 17:02:57 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         pbutils: Support for variable framerate in the encoding serialization
+
+2020-04-02 23:30:57 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/video-hdr.h:
+         video-hdr: Fix a docs typo (x -> y)
+
+2018-11-30 23:10:55 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         audiodecoder: Handle instant-rate-change event
+         When receiving an instant-rate-change event, store the updated
+         seek flags and replace the flags in any input segments with them
+         to allow for instant switching between trickmodes and not.
+
+2018-11-30 22:56:11 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Handle instant-rate-change event
+         When receiving an instant-rate-change event, store the updated
+         seek flags and replace the flags in any input segments with them
+         to allow for instant switching between trickmodes and not.
+
+2018-09-29 00:49:46 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+         audiobasesink: Handle an extra case of buffers being out of segment
+         It's possible that a buffer might be within the segment proper,
+         but not within the "valid" part we're playing, which is only
+         things after the 'offset' part of the segment. In that case,
+         the running-times of the buffer-start and buffer-stop will be
+         GST_CLOCK_TIME_NONE, and we'd better not schedule playback that
+         far in the future.
+
+2018-08-21 02:21:23 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: Add -i parameter for instant rate changes
+         Add a command line flag that enables use of the
+         instant rate changes flag when doing rate changes.
+
+2018-08-18 03:37:09 +1000  Jan Schmidt <jan@centricular.com>
+
+       * tests/examples/seek/instant-rate-change.c:
+       * tests/examples/seek/meson.build:
+         tests/examples/seek/instant-rate-change: Add example app
+         Add an example app to exercise instant rate changes in a few
+         scenarios. Currently it deadlocks a lot sending rate changes to
+         paused pipelines.
+
+2018-06-18 08:51:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/playback/playback-test.c:
+         playback-test: Add support for start_type=stop_type=NONE seeks
+
+2018-05-25 11:01:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/playback/playback-test.c:
+         playback-test: Add support for sending instant-rate-change seeks
+
+2020-04-01 17:47:04 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: subclass 'set_format' should be optional
+         Aligns documentation with the code to make the subclass
+         'set_format' call optional.
+
+2020-03-10 20:36:16 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/video/video-hdr.c:
+       * gst-libs/gst/video/video-hdr.h:
+       * tests/check/libs/video.c:
+         video-hdr: Rework for GstVideoMasteringDisplayInfo and GstVideoContentLightLevel struct
+         This commit modifies GstVideoMasteringDisplayInfo and GstVideoContentLightLevel
+         structs so that each value is to be more like hdr_metadata_infoframe struct
+         of linux drm header and DXGI_HDR_METADATA_HDR10 struct of Windows.
+         So each value is no more fraction but normalized one as per CTA 861.G spec.
+         Also the unit of each value will be consistent with H.264, H.265
+         specifications, hdr_metadata_infoframe struct for linux and
+         DXGI_HDR_METADATA_HDR10 struct for Windows.
+
+2020-04-01 20:05:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix gir warning about invalid doc comment
+         [38/1301] Generating GstVideo-1.0.gir with a custom command.
+         ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.c:231: Error: GstVideo: identifier not found on the first line:
+         *
+         ^
+
+2020-04-01 13:55:50 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         gl: add support for Y412_LE / Y412_BE format
+         Reuse Y410 code for Y412_LE / Y412_BE except gl format. The gl format is
+         RGBA16 for Y412_LE / Y412_BE.
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y412_LE ! glimagesink
+
+2020-03-30 14:37:26 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         gl: add support for Y212_LE / Y212_BE format
+         Because the color value is stored in MSB, so we can reuse the
+         Y210 code for P012_LE / P012_BE
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y212_LE ! glimagesink
+
+2020-03-27 02:48:39 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         gstvideoaggregator: expose max-last-buffer-repeat property on pads
+         This can be used to have compositor display either the background
+         or a stream on a lower zorder after a live input stream freezes
+         for a certain amount of time, for example because of network
+         issues.
+
+2020-03-20 19:09:17 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+       * gst/subparse/gstsubparse.h:
+       * tests/check/elements/subparse.c:
+         subparse: convert from pango-markup to utf8 ..
+         when downstream requires it
+
+2020-03-12 10:27:34 +0800  Haihao Xiang <haihao.xiang@intel.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:
+         video: add support for Y412 format
+         Y412 is a packed 12 bits 4:4:4:4 format in the order U, Y, V, A, 2 bytes
+         per component with the color value stored in the 12 most significant
+         bits
+         Refer to https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h#L182
+         for the LE variant
+
+2020-03-11 10:58:00 +0800  Haihao Xiang <haihao.xiang@intel.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:
+         video: add support for Y212 format
+         Y212 is a packed 12 bits 4:2:2 format in the order Y, U, Y, V, 2 bytes
+         per component with the color value stored in the 12 most significant
+         bits
+         Refer to https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h#L174
+         for the LE variant
+
+2020-03-12 15:18:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-blend.c:
+       * gst-libs/gst/video/video-overlay-composition.h:
+         video-blend: Add support for blending on top of 16 bit per component formats
+         With this we can support every currently supported video format for
+         blending.
+
+2020-03-26 13:51:24 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         glcontext/cocoa: handle sending one message during shutdown
+         gst_gl_window_quit() will attempt to send a message but will be called
+         from GstGLContext's finalize handler and so the weak ref that backs
+         gst_gl_window_get_context will return NULL as it has already been
+         cleared.  We need that context in send_message_async to decide whether
+         to run the provided callback immediately or queue in GCD
+
+2020-03-26 13:50:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+         glcontext: add context is valid precondition to get_thread()
+
+2020-03-26 13:50:22 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+         glwindow: remove unused private alive variable
+
+2020-03-26 13:46:56 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: fix segfault
+         Without this fix, it is possible that outbuf is not initialized, which
+         will result in segfault when call gst_buffer_replace (&outbuf, NULL). In
+         addition, the patch fixes potential memory leak in restart path.
+         The segfault can be reproduced by the pipeline below:
+         GST_GL_PLATFORM=egl \
+         gst-launch-1.0 videotestsrc ! msdkh265enc ! msdkh265dec ! \
+         'video/x-raw(memory:DMABuf)' ! glimagesink
+
+2020-03-24 12:39:50 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         gl: add support for P012_LE / P012_BE format
+         Because the color value is stored in MSB, so we can reuse the
+         P016_LE / P016_BE code for P012_LE / P012_BE
+
+2020-03-09 10:21:53 +0000  Chris Lord <clord@igalia.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage_private.h:
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Fix fallback from direct dmabuf to dmabuf upload method
+         In the situation that the direct dmabuf path is chosen, but with an
+         unsupported texture format, this causes accept to fail rather than
+         continue and fail at the upload stage. It is also possibly necessary to
+         reconfigure after falling back from direct to non-direct dmabuf upload
+         paths.
+
+2020-03-23 18:42:19 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: Signalling reconfigure to upstream whenever updating downstream caps
+         Previously configured bufferpool can be expired/inactivate by the
+         updated caps. Therefore new reconfigure event should be signalled in order to
+         do allocation query dancing between upstream and downstream again.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/730
+
+2020-03-14 20:22:50 +0100  Loïc Minier <lool@dooz.org>
+
+       * pkgconfig/gstreamer-audio-uninstalled.pc.in:
+       * pkgconfig/gstreamer-audio.pc.in:
+       * pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
+       * pkgconfig/gstreamer-pbutils.pc.in:
+         pkgconfig: fix missing gst-tag Requires
+         Promote deps gstreamer-tag to Requires for pbutils and add missing
+         gstreamer-tag Requires for gst-audio. Uninstalled builds would fail
+         with:
+         stage/usr/local/lib/x86_64-linux-gnu/libgstpbutils-1.0.so: undefined reference to `gst_tag_list_to_vorbiscomment_buffer'
+         [...]
+         stage/usr/local/lib/x86_64-linux-gnu/libgstaudio-1.0.so: undefined reference to `gst_tag_register_musicbrainz_tags'
+
+2020-03-14 19:42:24 +0100  Loïc Minier <lool@dooz.org>
+
+       * pkgconfig/gstreamer-sdp-uninstalled.pc.in:
+       * pkgconfig/gstreamer-sdp.pc.in:
+         pkgconfig: add missing gst-rtp dep to gst-sdp
+         Uninstalled builds using rtp would fail with:
+         stage/usr/local/lib/x86_64-linux-gnu/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
+
+2020-03-21 14:03:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: fix documentation
+         Fix list indentation, othewise it is interpreted as verbatim.
+
+2020-03-17 18:40:26 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/video/navigation.c:
+         navigation: Use G_DEFINE_INTERFACE
+
+2020-03-17 18:20:59 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/audio/streamvolume.h:
+         streamvolume: Use G_DECLARE_INTERFACE
+
+2020-03-17 17:51:36 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/allocators/gstphysmemory.c:
+       * gst-libs/gst/allocators/gstphysmemory.h:
+         gstphysmemory: Use G_DECLARE_INTERFACE
+
+2020-03-17 17:47:47 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.h:
+         audiovisualizer: Add support for g_autoptr()
+         Ideally, we would use something like `G_DECLARE_DERIVABLE_TYPE`, but
+         that would break API.
+
+2020-02-20 17:25:19 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * tests/check/libs/rtp.c:
+         rtpbuffer: add_extension_onebyte_header: fix the proper wordlen
+         The wordlen ("length") MUST represent the total "number of 32-bit words
+         in the extension, excluding the four-octet extension header" (rfc3550).
+         There are cases where already existent padding is reused for adding
+         the new extension. So the new wordlen should be updated if the new
+         added extension makes it to increase.
+
+2019-12-13 16:06:44 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+         rtpbuffer: get_onebyte_header_end_offset: allow 0 offset
+         There are some cases where the full extension data could be padding.
+         In order to make the GstRtpBuffer robust enough, this change supports
+         this case.
+
+2020-02-10 18:17:42 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/gl/gstglimagesink.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl/wayland: Mouse events handling
+
+2020-02-10 18:05:01 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglimagesink.h:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/gstglwindow.h:
+         gl/navigation: Scroll events dispatch support
+
+2020-02-10 17:55:24 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/video/navigation.c:
+       * gst-libs/gst/video/navigation.h:
+       * tests/check/libs/navigation.c:
+         navigation: Mouse scroll events support
+         This patch introduces a new API to send and parse mouse scroll events. Mouse
+         event coordinates are sent relative to the display space of the related output
+         area. This is usually the size in pixels of the window associated with the
+         element implementing the GstNavigation interface.
+
+2020-03-18 15:38:25 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+         audio: annotate @buf in finish_frame methods
+
+2020-02-27 17:52:20 +0800  Haihao Xiang <haihao.xiang@intel.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:
+         video: add support for P012 format
+         P012 is a semi-planar 4:2:0 format, 2bytes per component with the value
+         stored in the 12 most significant bits
+
+2020-03-12 13:32:23 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/volume/gstvolume.h:
+         volume: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:31:22 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/videotestsrc/gstvideotestsrc.h:
+         videotestsrc: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:29:22 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/videoscale/gstvideoscale.h:
+         videoscale: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:27:40 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/videorate/gstvideorate.h:
+         videorate: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:25:47 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/videoconvert/gstvideoconvert.c:
+       * gst/videoconvert/gstvideoconvert.h:
+         videoconvert: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:23:36 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/subparse/gstssaparse.h:
+       * gst/subparse/gstsubparse.h:
+         subparse: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:20:51 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/rawparse/gstrawaudioparse.h:
+       * gst/rawparse/gstrawbaseparse.h:
+       * gst/rawparse/gstrawvideoparse.h:
+       * gst/rawparse/gstunalignedaudioparse.c:
+       * gst/rawparse/gstunalignedaudioparse.h:
+       * gst/rawparse/gstunalignedvideoparse.c:
+       * gst/rawparse/gstunalignedvideoparse.h:
+         rawparse: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 13:20:31 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/overlaycomposition/gstoverlaycomposition.h:
+         overlaycomposition: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 08:02:02 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/gio/gstgiobasesink.h:
+       * gst/gio/gstgiobasesrc.h:
+       * gst/gio/gstgiosink.h:
+       * gst/gio/gstgiosrc.h:
+       * gst/gio/gstgiostreamsink.h:
+       * gst/gio/gstgiostreamsrc.h:
+         gio: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:55:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/encoding/gstsmartencoder.h:
+       * gst/encoding/gststreamcombiner.h:
+       * gst/encoding/gststreamcombinerpad.h:
+       * gst/encoding/gststreamsplitter.h:
+         encoding: Use G_DECLARE_FINAL_TYPE
+         Note that we didn't do it for encodebin, as it has a class struct. We
+         _could_ techincally use `G_DECLARE_DERIVABLE_TYPE()` for that one, but
+         that would mean also using a private struct, which is even more work for
+         no gain.
+
+2020-03-12 07:51:24 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/adder/gstadder.h:
+         adder: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:49:45 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+       * gst/audioconvert/gstaudioconvert.h:
+       * gst/audioconvert/plugin.c:
+       * gst/audioconvert/plugin.h:
+         audioconvert: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:46:47 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/audiomixer/gstaudiointerleave.h:
+       * gst/audiomixer/gstaudiomixer.h:
+         audiomixer: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:44:28 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/audiorate/gstaudiorate.h:
+         audiorate: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:42:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/audioresample/gstaudioresample.h:
+         audioresample: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:41:16 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/audiotestsrc/gstaudiotestsrc.h:
+         audiotestsrc: Use G_DECLARE_FINAL_TYPE
+
+2020-03-12 07:39:09 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst/compositor/compositor.h:
+         compositor: Use G_DECLARE_FINAL_TYPE
+
+2020-03-14 14:42:12 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         *aggregator: Add g_autoptr support for *ConvertPad
+
+2020-03-09 15:26:42 +0100  Tobias Ronge <tobiasr@axis.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         gstrtpbasepayloader: Add property for scaling RTP timestamp
+         This patch introduces a property which, if set to FALSE, prevents RTP
+         basepayloader from scaling the RTP time when a segment's rate is not
+         equal to 1.0. The specification is ambiguous on this subject and some
+         clients expect the timestamps not to be scaled.
+
+2020-03-16 15:32:47 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideometa.h:
+         videometa: constify tc argument to add_video_time_meta()
+         We don't modify the argument.
+
+2019-12-16 19:49:09 +0100  Peter Seiderer <ps.report@gmx.net>
+
+       * gst-libs/gst/gl/meson.build:
+       * meson_options.txt:
+         meson: add window system egl
+
+2020-03-12 13:44:10 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtsp: remove documentation link on GTimeVal
+         Looks like it's been removed from glib.devhelp2 on Fedora 31.
+         Fix #508
+
+2020-03-05 12:29:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/wayland_event_source.c:
+       * gst-libs/gst/gl/wayland/wayland_event_source.h:
+         gl/wayland: use wayland's roundtrip_queue()
+         There's no need to roll our own anymore
+
+2020-03-11 01:01:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: accept WebVTT timestamps without an hour component
+         https://www.w3.org/TR/webvtt1/#webvtt-timestamp
+         mm:ss,000 is a valid WebVTT timestamp
+
+2020-03-09 20:16:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/blend.c:
+         compositor: Create a square checkerboard for UYVY/YUY2/YVYU too
+         Previously the "squares" were twice as wide.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/732
+
+2020-03-09 20:12:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+         compositor: Define a separate checker fill function for BGRx/RGBx than for xBGR/xRGB
+         Otherwise we'll create a cyan or yellow checkerboard.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/736
+
+2020-03-03 15:19:21 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/tcp/gsttcpclientsrc.c:
+       * meson.build:
+         tcpclientsrc: Fix compilation on FreeBSD
+         The members of the tcp_info struct are prefixed with a double
+         underscore, as reported in
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/584#note_423487
+
+2020-03-06 00:03:49 +0100  Philipp Zabel <philipp.zabel@gmail.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: dmabuf: only accept uploads to external-oes if supported by the context
+         This keeps the DirectDmabufExternal uploader from accepting buffers if
+         texture-target=external-oes is not supported by the GL context.
+
+2019-11-28 17:31:57 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/gl/gstgloverlaycompositorelement.c:
+         gloverlay: Fix various issues in allocation handling
+         * A copy-paste error was getting the information from the wrong
+         query
+         * The 'allocation_meta' GstStructure was being leaked
+         * No check was done on whether the query existed (to try to set the
+         resulting allocation meta on)
+         CID: 1439872
+         CID: 1439873
+         CID: 1439874
+         CID: 1439875
+         CID: 1439876
+         CID: 1439877
+
+2020-03-03 17:07:24 +0100  Peter Seiderer <ps.report@gmx.net>
+
+       * tools/meson.build:
+         meson: static linkig of tools needs gmodule_dep
+         Add gmodule_dep (analog to gstreamer/tools/meson.build).
+         Fixes:
+         .../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `gst_plugin_register_func':
+         gstplugin.c:(.text+0x3bc): undefined reference to `g_module_make_resident'
+         .../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `_priv_gst_plugin_load_file_for_registry':
+         gstplugin.c:(.text+0x1228): undefined reference to `g_module_supported'
+         .../bin/ld: gstplugin.c:(.text+0x126c): undefined reference to `g_module_open'
+         .../bin/ld: gstplugin.c:(.text+0x1368): undefined reference to `g_module_symbol'
+         .../bin/ld: gstplugin.c:(.text+0x1494): undefined reference to `g_module_supported'
+         .../bin/ld: gstplugin.c:(.text+0x17f4): undefined reference to `g_module_close'
+         .../bin/ld: gstplugin.c:(.text+0x1a2c): undefined reference to `g_module_error'
+
+2020-03-03 11:53:53 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland_private.h:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+       * gst-libs/gst/gl/wayland/wayland_event_source.c:
+       * gst-libs/gst/gl/wayland/wayland_event_source.h:
+         gl/wayland: use a proxy wrapper for the wl_display
+         This allows us to remove races when setting the wl_queue on wayland
+         objects with wl_proxy_set_queue() as each created object is created with
+         the queue already set.
+         We can also move all our initilization code into the window as we
+         can retrieve all wayland objects from each window instance.  This
+         removes a possible race when integrating with external API's as we would
+         always attempt to immediately retrieve a small set of wayland objects.
+         That is no longer the case with the objects from each window instance.
+
+2020-03-03 11:43:48 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglfilter.c:
+         glfilter: use gst_object_unref/ref functions
+         Allows better visibility into ref/unref points with the leaks tracer
+
+2020-03-03 11:42:11 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl/wayland: fix xdg shell close notification
+         Don't segfault by not calling the appropriate callback that destroys
+         resources in the correct order.
+
+2020-02-12 12:44:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         glstereomix: support gl display changes
+
+2020-02-05 12:26:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglcolorconvertelement.c:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+       * gst-libs/gst/gl/gstglbasefilter.h:
+       * tests/check/elements/glfilter.c:
+       * tests/check/meson.build:
+         glbasefilter: add support for changing the display
+         Each element will remove its usage of the old display and context and
+         try to retrieve a new GL context.
+
+2020-02-04 14:19:21 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereosplit.c:
+       * ext/gl/gstglstereosplit.h:
+         glstereosplit: support gl display changes
+
+2020-02-04 14:06:05 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasesrc.c:
+         glbasesrc: add support for changing display's
+
+2020-02-04 14:04:21 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstgldisplay.h:
+         gldisplay: add support removing a context from the internal list
+
+2020-02-04 13:58:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglvideomixer.c:
+         gl/mixer: support GstGLDisplay changes
+
+2020-02-18 13:46:08 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: dmabuf: add DirectDmabufExternal uploader
+         Automatic negotiation of texture-target=external-oes does not work
+         without separating the external-oes support out of the DirectDmabuf
+         uploader into a separate DirectDmabufExternal uploader.
+
+2020-02-24 16:38:56 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: fix transform_caps NULL pointer dereference
+         gst_gl_upload_transform_caps() is missing a NULL pointer check in case
+         the current upload method's transform_caps returns a NULL pointer. In
+         the following loop over all upload methods, NULL pointer return values
+         are already handled correctly.
+
+2020-02-12 18:25:54 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: dmabuf: support direct upload into external-oes textures
+         Some drivers support directly importing DMA buffers in some formats into
+         external-oes textures only, for example because the hardware contains
+         native YUV samplers.
+         Note that in these cases colorimetry can only be passed as hints and
+         there is no feedback whether the driver supports the required YUV
+         encoding matrix and quantization range.
+
+2020-02-13 10:28:40 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+         gl/egl: support direct dmabuf import with external-oes only formats
+         Allow creating EGL images from DMA buffers in formats that the driver
+         only supports for the external-oes texture target.
+         Pass the intended texture target to gst_egl_image_from_dmabuf_direct so
+         that _gst_egl_image_check_dmabuf_direct can decide whether to create an
+         EGL image for a format that can only be targeted at external-oes
+         textures by the driver. Allow creating GstGLMemoryEGL objects from these
+         DMA buffers.
+
+2020-03-02 19:35:16 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglquery.c:
+         glquery: fix a possible unintialized value
+         A GL driver may not fill the resulting value so initialize it to 0
+         ourselves.
+
+2020-02-26 14:33:16 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+         gl/context/glx: dump GLXFBConfig information to debug logs
+
+2020-02-24 16:44:12 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/tcp/gsttcpclientsrc.c:
+       * gst/tcp/gsttcpclientsrc.h:
+       * meson.build:
+         tcpclientsrc: Expose connection stats as property
+         Unfortunately the OS takes care of bad connections for us, so we can't
+         get the stats in a platform-independent way. Count total bytes received
+         as well, platform-independently.
+
+2020-02-10 10:29:25 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.h:
+         video-info: fix typo in doc
+
+2020-02-07 11:18:24 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-frame.h:
+       * tests/check/libs/video.c:
+         video: fix GST_VIDEO_FRAME_IS_BOTTOM_FIELD()
+         GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD is a subset of
+         GST_VIDEO_FRAME_FLAG_TOP_FIELD so needs to be checked accordingly.
+         Fix #726
+
+2020-02-06 14:35:47 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-frame.h:
+       * tests/check/libs/video.c:
+         video: add macros checking for GST_VIDEO_BUFFER_FLAG_TOP/BOTTOM_FIELD flags
+         The GST_VIDEO_BUFFER_FLAG_TOP_FIELD flag is a superset of
+         GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD as they are defined using other
+         flags. As a result we can't use GST_BUFFER_FLAG_IS_SET() to check for
+         those flags.
+
+2020-02-06 09:52:31 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: protect the use of num_subframes
+         change stream lock location to protect the use of
+         frame->abidata.ABI.num_subframes
+
+2020-02-05 02:58:14 -0800  Devarsh Thakkar <devarsh.thakkar@xilinx.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Release stream lock in finish_subframe before pad_push
+         Derived from 780d635dadc0723e39a8ba90cfe0903a2de346fd for
+         https://bugzilla.gnome.org/show_bug.cgi?id=715192
+         which was for finish_frame.
+
+2020-02-18 20:36:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: gl: Update to support when egl and win32 window system are explicitly requested
+
+2020-02-18 20:09:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         glwindow/win32: Accept both win32 and egl display
+         EGL would be the case where we use ANGLE.
+
+2020-02-18 19:40:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/meson.build:
+         glcontext: egl: Fix build with win32 window system
+
+2020-02-18 19:33:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/gl/wgl/gstglcontext_wgl.c:
+       * gst-libs/gst/gl/wgl/gstglcontext_wgl.h:
+         gl: Decouple win32 window and wgl context
+         With ANGLE, win32 window can be used with gles and egl
+
+2020-02-18 13:03:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+         glcontext/egl: Fix build with upstream ANGLE
+         ANGLE_surface_d3d_render_to_back_buffer extension is only available
+         with Microsoft fork of ANGLE. Note that Microsoft's ANGLE repository
+         has been deprecated.
+
+2020-02-13 21:33:11 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         gl/window/win32: Handle mouse and key events
+         This is at least useful for the gst-play-1.0 use case.
+
+2020-02-15 01:19:29 +0800  He Junyan <junyan.he@hotmail.com>
+
+       * gst-libs/gst/allocators/gstdmabuf.c:
+         libs: dmabuf: init the GST_CAT_DEFAULT in type define.
+         To avoid `gst_debug_log_valist: assertion 'category != NULL' failed`
+         if we do not call gst_dmabuf_allocator_new
+
+2020-02-12 13:11:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc/appsink: Make setting/replacing callbacks thread-safe
+         Previously we would simply use them without any locking at all, while
+         using the object lock for setting them. Nothing prevented new callbacks
+         to be set in the meantime, potentially calling a callback with already
+         freed user_data.
+         To prevent this move the callbacks into a reference counted struct and
+         use the appsrc/appsink mutex to protect access to it, which is used in
+         all functions calling the callbacks already anyway.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/729
+
+2020-02-14 09:40:59 +0000  Håvard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+         rtpbasepayload: add property for embedding twcc sequencenumbers
+         By setting the extension-ID for TWCC (Transport Wide Congestion Control),
+         the payloader will embed sequencenumbers as a RTP header-extension
+         according to https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01#section-2
+         The negotiation of this being enabled with downstream elements
+         is done with caps reflecting the way this is communicated using SDP.
+
+2020-02-13 10:41:29 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         gl/window/win32: implement get_window_handle()
+         Some other frameworks need the HWND to retrieve information from.
+
+2020-02-10 17:39:57 +0100  Havard Graff <havard@pexip.com>
+
+       * tests/check/libs/rtpbasepayload.c:
+         rtpbasepayload: fix test warnings
+         Compiling with MSVC and Clang.
+
+2020-01-23 16:11:28 +0100  Kristofer Björkström <kristofb@axis.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+         rtpbasepayload: timestamp bug, if rate control=no
+         With commit "basepayload: Expose onvif-no-rate-control property" the rtp
+         timestamp changed behaviour when rate control is disabled.
+         When disabling rate control, we must take care of the stream time to
+         avoid the timestamps to begin from zero again.
+
+2020-02-10 17:15:13 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Start discovering next URI from right thread
+         When using the cache, we were not using the right GMainContext to setup
+         next URI to discovery, fix that.
+
+2020-02-04 14:14:38 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: error out if memory context is different than ours
+
+2020-02-04 14:06:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgltestsrc.c:
+         gltestsrc: NULL out the functions used
+         Fixes segfault when the display changes
+
+2020-02-04 14:01:47 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: fix reset context for GL context change
+         We need to remove GL resources from the old context instead of the new
+         GL context.  The two GL context may not even be shared.
+
+2020-02-04 14:00:48 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: fix a use-after-free with allocation params
+         _free(params) followed by a params->align is a bad idea :)
+
+2020-02-04 13:59:37 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: also remove GL buffers on a reset
+         Fixes a possible memory leak on renegotiation
+
+2019-12-12 18:59:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasesrc.c:
+         gl/basesrc: call gl_stop when shutting down
+         Fixes multiple leaks
+
+2020-01-28 18:17:47 +0100  Havard Graff <havard@pexip.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.h:
+         rtpbuffer: add gst_rtp_buffer_get_extension_onebyte_header_from_bytes
+         So that one can parse the GBytes returned by gst_rtp_buffer_get_extension_bytes
+
+2020-01-30 19:00:07 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * tests/check/elements/compositor.c:
+         videoaggregator: handle gap buffers properly
+         This simply implies not trying to "prepare" those buffers,
+         as mapping an empty buffer to a video frame does not make
+         much sense.
+         This also adds a simple test in compositor that performs
+         some trivial checking of the handling of gap events, the test
+         was not failing before, but an error was logged, this is
+         no longer the case.
+         Fixes #717
+
+2020-01-28 22:07:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't configure NULL chroma-site/colorimetry
+         If there's no known value in the best caps then the functions to convert
+         them to strings will return NULL. Having the fields not in the caps is
+         not a problem, having them with a NULL value however will cause
+         negotiation failures.
+
+2020-01-17 14:26:29 +0100  Dimitrios Katsaros <patcherwork@gmail.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Reset main group id on PAUSED->READY state change
+         The main_input stream-id would not get reset when going to READY state.
+         This would cause warnings when trying to reuse the same decodebin3, since
+         you would get a new STREAM_START event with a new stream-id, which would
+         collide with the now stale stream-id
+
+2020-01-17 14:16:23 +0100  Dimitrios Katsaros <patcherwork@gmail.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Reduced logging level of messages
+         The logging is set to warning for a drain event, which is part of the
+         normal functionality of the parsebin.
+
+2020-01-23 18:03:13 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/pango/gstclockoverlay.c:
+         clockoverlay: fix bogus time display caused by previous commit
+         Fixes regression introduced by "clean-up" done as part of commit 98ebcb4.
+         dummy must live as long as use the return value of localtime_r() since
+         that's just a pointer to it, and by putting it inside the block we made
+         dummy go out of scope right after localtime_r() returned, which messed
+         up the time values since when we poked at the struct the contents might
+         already have been overwritten.
+         Fixes #722
+
+2020-01-17 11:22:48 +0100  Dimitrios Katsaros <patcherwork@gmail.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Fixed defauts not being set on initialization
+         The default values were not being set on element initialization. This
+         was a problem for buffer_duration and buffer_size since they would be
+         zero initialized, rather then being set to -1. This would cause the
+         underlaying queue2 element to have no limits and depending on the
+         streamed file, could cause queue2 to allocate massive amounts of memory.
+
+2020-01-13 18:32:59 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encodebin: Add missing 'Since' marker
+
+2020-01-13 09:06:02 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/ogg/gstoggstream.c:
+         oggstream: Workaround for broken PAR in VP8 BOS
+         Similarily to the Theora mapping, process 0:N, N:0 and 0:0 pixel aspect ratios
+         as 1:1.
+         Fixes #719
+
+2020-01-11 19:26:24 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/libs/rtpbasedepayload.c:
+         tests: rtpbasedepayload: Test flow return whith push/push_list
+         This validate that the base class properly save and return the flow
+         return value received when gst_rtp_base_depay_push/push_list() helper is
+         being used.
+
+2019-11-21 21:04:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+         rtpbasepayload: Save and forward the push flow return
+         Save push/push_list helper flow return and in case of failure, return it
+         in the process function. This allow forwarding downstream flow return
+         even if the subclass is using the push/push_list helper.
+
+2019-11-03 15:52:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gsturidecodebin3.c:
+         playbin3: handle GST_PLAY_FLAG_FORCE_SW_DECODERS
+         In decodebin3 and uridecodebin3 the `force-sw-decoders` boolean property is
+         added. In uridecodebin3 it is only a proxy property which will forward
+         the value to decodebin3.
+         When decodebin3 has `force-sw-decoders` disabled, it will filter out in its
+         decoder and decodable factories those elements within the 'Hardware'
+         class, at reconfiguring output stream.
+         playbin3 adds by default GST_PLAY_FLAG_FORCE_SW_DECODERS, and sets
+         `force-sw-decoders` property accordingly to its internal uridecodebin, also
+         filters out the 'Hardware' class decoder elements when caps
+         negotiation.
+
+2019-11-03 15:37:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gsturidecodebin.c:
+         playbin2: handle GST_PLAY_FLAG_FORCE_SW_DECODERS
+         Added `force-sw-decoders` boolean property in decodebin2 and
+         uridecodebin. By default the property is %FALSE and it bypass the new
+         code. Otherwise the factory list is filtered removing decoders
+         within 'Hardware' class.
+         uridecodebin sets the `force-sw-decoders` property in its internal
+         decodebin, and also filters out Hardware class in the
+         autoplug-factories default signal handler.
+         playbin2 adds by default GST_PLAY_FLAG_FORCE_SW_DECODERS it its flags
+         property, and depending on it playbin2 sets the `force-sw-decoders`
+         property on its internal uridecodebin, also filters out the Hardware
+         class decoding decoders at the autoplug-factories signal handler.
+
+2019-11-03 15:16:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/playback/gstplay-enum.c:
+       * gst/playback/gstplay-enum.h:
+         playback: add GST_PLAY_FLAG_FORCE_SW_DECODERS enum
+         This flag would be common either for playbin2 and playbin3.
+
+2020-01-08 17:28:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/meson.build:
+       * subprojects/graphene.wrap:
+         meson: add graphene subproject
+         So we can build all the OpenGL elements.
+
+2020-01-08 08:29:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/blend.c:
+         compositor: memcpy() lines directly for alpha formats with SOURCE operator and alpha=1.0
+
+2020-01-08 02:34:17 +0000  Randy Li <ayaka@soulik.info>
+
+       * gst/rawparse/gstrawvideoparse.c:
+       * gst/rawparse/gstrawvideoparse.h:
+         rawvideoparse: allow setting the colorimetry
+         You can neither guess nor parse the colorimetry from the
+         input stream.
+         Signed-off-by: Randy Li <ayaka@soulik.info>
+
+2020-01-07 20:01:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Alpha inputs with the SOURCE operator can be considered opaque
+         We don't have to look at each pixel's alpha component because we will
+         directly write it over the background.
+
+2019-12-30 23:08:05 -0800  Ryan Huang <NPN@users.noreply.github.com>
+
+       * gst-libs/gst/video/video-format.h:
+         Fix link to raw video format design document
+
+2019-08-11 11:25:50 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Propagate sink context
+         When the playsink's sink is activated its state is set to READY but it remains
+         unlinked. So, in order for decodebin3 to potentially reuse the context later on,
+         the whole playbin3 needs to have it internally stored.
+
+2019-12-31 15:49:05 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gstplaybin2.c:
+         playbin: Propagate sink context
+         Any contexts created by sink during activation need to be propagated
+         to whole elements of playbin.
+
+2019-12-06 08:47:14 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+       * gst-libs/gst/rtsp/gstrtspurl.h:
+       * tests/check/libs/rtsp.c:
+         rtspurl: add API method to create request uri combined with control url
+         code logic very similar to gst_rtsp_url_get_request_uri ()
+
+2019-12-27 12:53:41 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         gstvideoaggregator: always update converter when needed
+         In prepare_frame, it is not enough for the target info
+         (conversion_info) to not have changed to decide not to update
+         the converter, as the vpad info may have changed as well.
+         Fixes #714
+
+2019-12-27 11:34:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/fft/_kiss_fft_guts_f32.h:
+       * gst-libs/gst/fft/_kiss_fft_guts_f64.h:
+       * gst-libs/gst/fft/_kiss_fft_guts_s16.h:
+       * gst-libs/gst/fft/_kiss_fft_guts_s32.h:
+       * gst-libs/gst/fft/kiss_fft_f32.c:
+       * gst-libs/gst/fft/kiss_fft_f32.h:
+       * gst-libs/gst/fft/kiss_fft_f64.c:
+       * gst-libs/gst/fft/kiss_fft_f64.h:
+       * gst-libs/gst/fft/kiss_fft_s16.c:
+       * gst-libs/gst/fft/kiss_fft_s16.h:
+       * gst-libs/gst/fft/kiss_fft_s32.c:
+       * gst-libs/gst/fft/kiss_fft_s32.h:
+       * gst-libs/gst/fft/kiss_fftr_f32.c:
+       * gst-libs/gst/fft/kiss_fftr_f32.h:
+       * gst-libs/gst/fft/kiss_fftr_f64.c:
+       * gst-libs/gst/fft/kiss_fftr_f64.h:
+       * gst-libs/gst/fft/kiss_fftr_s16.c:
+       * gst-libs/gst/fft/kiss_fftr_s16.h:
+       * gst-libs/gst/fft/kiss_fftr_s32.c:
+       * gst-libs/gst/fft/kiss_fftr_s32.h:
+       * gst-libs/gst/fft/kiss_version:
+         fft: Update our kiss fft version
+         This fixes thread-safety issues and various other minor issues. Our
+         previous version was about 13 years old.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/715
+
+2019-12-20 12:27:57 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         glwindow/win32: Don't post any WinProc message to parent window
+         Posting any message to parent seems to be pointless. That might break
+         parent window.
+         Regardless of the posting, parent window can catch mouse event
+         and also any keyboard events will be handled by parent window by default.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/634
+
+2019-12-19 14:48:43 -0500  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstplaysink.h:
+         playbin: remove deprecated raw audio and raw video sink flags
+         These flags were deprecated in 2011 with commit
+         105da803ade859fb299ed3c5265d6acdd168ca8f
+         Removing these flags will simplify the logic in playbin.
+
+2019-09-06 18:07:48 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * tests/check/libs/videoencoder.c:
+         tests: add video encoder test with subframes API
+
+2019-09-12 12:07:08 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: send new headers in finish_frame
+         If headers have been set by subclass, this headers should be sent
+         for a first time or on demand with a key-unit
+
+2019-09-25 10:45:28 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/video-frame.h:
+         videoencoder: Use video marker flag to signal end of frame
+         This marker is optional, its name refer to RTP marker bit. This mark can
+         be use to reduce latency in various use cases. With the split between
+         finish_frame() and finish_subframe() we will now be able to identitfy
+         the last subframe with no latency.
+         In order to detail the use of GST_BUFFER_FLAG_MARKER in a video
+         use case, the flag GST_VIDEO_BUFFER_FLAG_MARKER has been introduced
+         with a proper documentation clarifying marker's role.
+
+2018-08-31 12:09:57 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.h:
+       * gst-libs/gst/video/gstvideoutils.h:
+         videoencoder: add API to push subframes
+         Introduce a new API so encoders can split the encoding in subframes.
+         This can be useful to reduce the overall latency as we no longer need to
+         wait for the full frame to be encoded to start decoding or sending it.
+
+2018-08-31 10:55:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: factor out logic from gst_video_encoder_finish_frame()
+         No semantic change, I'm going to reuse all those functions in a new
+         finish_slice() methods.
+
+2019-12-20 13:35:53 +0100  Jonas Holmberg <jonashg@axis.com>
+
+       * gst-libs/gst/audio/gstaudioencoder.c:
+         audioencoder: fix segment event leak
+         Segment event was leaked if format != _TIME.
+
+2019-12-19 17:52:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.h:
+       * gst-libs/gst/video/gstvideoutils.h:
+       * gst-libs/gst/video/video-frame.h:
+       * tests/check/libs/videoencoder.c:
+         Revert "videoencoder: factor out logic from gst_video_encoder_finish_frame()"
+         This reverts commit b1ec312b8ed39ffaeeca1f5a8a014acd4b74d5f9.
+
+2019-12-19 21:59:10 +0000  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.h:
+       * gst-libs/gst/video/gstvideoutils.h:
+       * gst-libs/gst/video/video-frame.h:
+       * tests/check/libs/videoencoder.c:
+         videoencoder: factor out logic from gst_video_encoder_finish_frame()
+         No semantic change, I'm going to reuse all those functions in a new
+         finish_slice() methods.
+
+2019-12-10 18:03:05 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+       * tests/check/libs/rtspconnection.c:
+         rtspconnection: Add functions without GTimeVal deprecate existing
+         GTimeVal is now deprecated in GLib, so let's deprecate it here too
+
+2019-12-10 17:09:57 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+       * tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+         tests: Remove deprecated GTimeVal
+         GTimeVal won't work past 2038
+
+2019-12-18 16:03:54 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/tcp/gsttcpclientsink.c:
+       * gst/tcp/gsttcpclientsrc.c:
+       * gst/tcp/gsttcpserversink.c:
+       * gst/tcp/gsttcpserversrc.c:
+       * sys/xvimage/xvimagesink.c:
+         base: use of g_value_dup_string
+         Use helper method to get string from GValue.
+
+2019-12-11 10:07:12 +0100  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/alsa/gstalsamidisrc.c:
+       * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+       * gst-libs/gst/gl/gstglshader.c:
+         remove various useless linefeed in logs
+
+2019-12-08 01:17:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         tests: actually define HAVE_VALGRIND
+         This stuff should probably be done differently, but
+         for now just define it like we used to.
+
+2019-12-08 00:52:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * sys/xvimage/meson.build:
+         xvimage: remove unused HAVE_XVIDEO define
+
+2019-12-08 00:50:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * tests/examples/seek/jsseek.c:
+         test: fix up HAVE_X11 / HAVE_X defines
+         Only HAVE_X was defined, while both HAVE_X11 and HAVE_X were used.
+
+2019-12-08 00:00:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/typefind/meson.build:
+       * meson_options.txt:
+         typefindfunctions: build gio xdgmime typefinder again
+         And add gio-typefinder option to disable it. HAVE_GIO
+         was never set, at least not in the Meson build.
+
+2019-12-07 21:13:09 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/pipelines/simple-launch-lines.c:
+         tests: simple-launch-lines: remove use of unused HAVE_LIBVISUAL define
+         This is not set anywhere, and it's pretty clear the pipeline in
+         question has not been tested in a long time. Disable test with
+         a FIXME, test needs to be rewritten to not use real output devices.
+
+2019-12-07 21:02:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/pipelines/gl-launch-lines.c:
+         tests: gl-launch-lines: check for features at runtime
+         Instead of using HAVE_PNG and HAVE_JPEG defines.
+
+2019-12-07 20:47:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/tcp/gstmultifdsink.c:
+       * tests/check/elements/multifdsink.c:
+       * tests/check/elements/multisocketsink.c:
+         multifdsink: remove defunct include guarded by unused HAVE_FIONREAD_IN_SYS_FILIO
+         The configure check for this went away in 2012 in commit cd3eee.
+
+2019-12-07 14:36:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/theora/meson.build:
+       * tests/check/pipelines/oggmux.c:
+         tests: oggmux: check vorbisenc + theoraenc availability at runtime
+         HAVE_VORBIS was used but never set, so only 3 out of 7 tests
+         actually ran. Drop now-unused HAVE_THEORA define.
+
+2019-12-07 14:22:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * tests/icles/playback/test4.c:
+       * tests/icles/playback/test5.c:
+       * tests/icles/playback/test6.c:
+       * tests/icles/playback/test7.c:
+         tests: playback: include stdlib.h unconditionally
+         Like we do elsewhere. And drop the check for the header.
+         Also remove some superfluous unistd.h includes.
+
+2019-12-07 14:12:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/vorbis/gstvorbisdec.c:
+       * ext/vorbis/meson.build:
+         vorbis: drop unneeded check for vorbis_synthesis_restart()
+         This was added in 1.0.1 more than 16 years ago, I think we
+         can safely assume this is always present now. Also in tremor.
+         While at it, bump vorbis requirement to 1.3.1 from 2010.
+
+2019-12-07 14:04:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/pango/gstclockoverlay.c:
+       * meson.build:
+         pango: check if localtime_r is available
+         HAVE_LOCALTIME_R was used, but never defined.
+
+2019-12-08 18:13:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlaycomposition/overlaycomposition.c:
+         examples: overlaycomposition: Fix implicit declaration warning
+         overlaycomposition.c:276:5: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
+         overlaycomposition.c(263): warning C4090: 'initializing': different 'const' qualifiers
+
+2019-12-08 18:12:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Remove unused variable
+         win32-videooverlay.c:34:20: warning: 'msg_io_channel' defined but not used [-Wunused-variable]
+
+2019-12-03 23:35:23 +0000  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * tests/check/libs/pbutils.c:
+         codec-utils: add h264 constrained and progressive profiles
+         Those profiles have been added in the version 2012-01
+         and 2011-06 of the AVC spec.
+         Aligned code with https://bugzilla.gnome.org/show_bug.cgi?id=794127
+
+2019-12-03 14:16:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * meson.build:
+         build: use -fvisibility=hidden for objc code
+
+2019-12-03 14:15:58 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+         gl/macos+ios: privatise _invoke_on_main()
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1132
+
+2019-11-27 20:42:34 +0200  Mart Raudsepp <mart@leio.tech>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: don't let a repeat-after-eos pad prevent EOS
+         .. if there are pads present that are not repeating after EOS.
+         Fixes #664
+
+2019-11-27 15:54:57 +0200  Mart Raudsepp <mart@leio.tech>
+
+       * tests/check/elements/compositor.c:
+         tests: expand compositor repeat-after-eos tests for multiple pads
+         If there are any pads with repeat-after-eos NOT set, then the compositor
+         should EOS after all of those pads have gone EOS, but not before all
+         repeat-after-eos pads have as well.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/664
+
+2019-06-04 10:05:54 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * tools/gst-device-monitor.c:
+         tools: Add support for CameraSource pipeline description
+
+2019-11-08 15:13:59 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Fix RGB-XYZ-RGB conversion
+         The matrices were in the wrong order.
+         Instead of the conversion matrix being
+         _ XYZ_TO_RGB_output * RGB_TO_XYZ_input * input_RGB
+         It was
+         _ RGB_TO_XYZ_input * XYZ_TO_RGB_output * input_RGB
+
+2019-05-21 21:59:23 +0900  Akinobu Mita <akinobu.mita@gmail.com>
+
+       * sys/ximage/meson.build:
+       * sys/ximage/ximagesink.c:
+       * sys/ximage/ximagesink.h:
+       * sys/xvimage/meson.build:
+       * sys/xvimage/xvcontext.c:
+       * sys/xvimage/xvcontext.h:
+       * sys/xvimage/xvimagesink.c:
+         ximagesink, xvimagesink: don't use XkbKeycodeToKeysym if Xkb is unavailable
+         ximagesink and xvimagesink use XkbKeycodeToKeysym when the key event is
+         received. However, this function returns NoSymbol if Xkb is unavailable.
+         This causes all key events to be translated to "unknown" key when running
+         ximagsink under some VNC.
+         Fix it by using XKeycodeToKeysym if Xkb is unavailable.
+
+2019-09-27 20:08:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play-kb.c:
+         gst-play: Handle KeyDown event instead of KeyUp on Win32 keyboard handler
+         To handle long press case, KeyDown input should be handled instead of KeyUp.
+         Note that OS will take care of the sensitivity of KeyDown event, so we can safely
+         assume one KeyDown as one input. That will not break user experience.
+
+2019-09-27 19:26:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play-kb.c:
+         gst-play: Remove timer GSource from Win32 keyboard handler
+         Use WaitForMultipleObjects to handle keyboard input only if pending
+         keyboard input exists.
+
+2019-11-13 19:37:29 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Add an option for testing reuse of external window
+         Adding "repeat" option to test a case where external window is reused.
+
+2019-11-07 22:00:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/audiorate/gstaudiorate.c:
+         audiorate: Update next_offset per rate change
+         To support runtime audio samplerate change, re-calculate next target offset
+         per caps. Calculating the next buffer offset using the previous
+         offset seems to be tricky and rounding error prone.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/693
+
+2019-11-07 21:42:25 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/audiorate/gstaudiorate.c:
+       * gst/audiorate/gstaudiorate.h:
+         Revert "audiorate: accumulate offset by time diff"
+         This reverts commit 4fa850e3e6c039000fc7f648de238af6c2278469.
+         The commit would break an constant rate audio stream with gap.
+
+2019-11-08 17:28:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/xvimage/xvimagepool.c:
+       * sys/xvimage/xvimagepool.h:
+         xvimagepool: Update size, stride, and offset with allocated XvImage
+         Memory layout of XvImage might be different from that of GstVideoInfo.
+         If so, the image size, stride, and offset would be wrongly informed.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/677
+
+2019-11-08 17:33:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/xvimage/xvimagepool.c:
+         xvimagepool: Fix confusing debug message for padding size
+
+2019-11-17 18:23:59 +0000  Ambareesh "Amby" Balaji <ambareeshbalaji@gmail.com>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: Add low delay option
+         Fixes #681
+
+2019-08-26 15:03:48 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+         audioringbuffer: Reset reorder flag before check
+         This function might be revisited with different channel position mapping
+         while audio source goes into play so the reorder flag needs to be reset
+         before the checks happen.
+
+2019-11-15 18:06:13 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Fix allocator leak
+         It fixes allocator leak in failure case
+
+2019-11-15 12:19:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlaycomposition/overlaycomposition.c:
+         examples: overlaycomposition: Fix typo
+         Sorry for the noise. Default should be autovideosink
+
+2019-11-13 15:28:20 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.h:
+         video-info: improve GST_CAPS_FEATURE_FORMAT_INTERLACED documentation
+         Copied the description from gst-doc written by Tim.
+         Fix #606
+
+2019-11-12 12:17:44 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+         gl/window: marshall quit to the window thread
+         Fixes a possible deadlock where we're waiting for the window thread to
+         quit but it never does.
+
+2019-11-14 12:37:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-buffer.c:
+         audio-buffer: Don't fail to map buffers with zero samples
+         Instead initialize the map infos, etc to NULL like gst_buffer_map()
+         would be doing on a zero-sized buffer.
+         This fixes a crash in audioresample if the first output buffer would
+         contain zero samples.
+
+2019-11-12 21:15:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlaycomposition/overlaycomposition.c:
+         examples: overlaycomposition: Add option for videosink element selection
+         It would be useful for testing overlaycomposition with specific videosink element.
+
+2019-11-13 17:31:29 +0900  Wonchul Lee <w.lee@lge.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontext/egl: Fix window leak
+         Fixed to do unref after use of window get by gst_gl_context_get_window()
+
+2019-11-10 20:05:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgldownloadelement.c:
+       * ext/gl/gstgldownloadelement.h:
+         gldownload: Fix renegotiation loop
+         When DMABuf was tried, we would renegotiate back and fourth between
+         DMABuf and system memory if the export failed. This would happen for
+         every single frame.
+         This patch introduces try_dmabuf_exports boolean, which is unset when
+         an export failed. This boolean is then put back to TRUE when upstream
+         pushes new caps, or downstream pushes a reconfigure event.
+
+2019-11-10 20:02:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgldownloadelement.c:
+       * ext/gl/gstgldownloadelement.h:
+         gldownload: Refactor download mode selection
+         This introduces an enum in order to cleanup how we select the
+         transfer mode. It also fixes the case where we callback to PBO but
+         we didn't execute the PBO. That was not causing any issue, just that
+         the processing latency would be delayed to the next element, which
+         can be confusing.
+
+2019-07-14 16:42:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Fix extension names in dmabuf import check
+         There was a typo in the extension name which resulted in the modifiers
+         to never be set when doing DMABuf import. That triggered the modifiers
+         lookup in Intel driver, which was in fact hiding bugs in the gldownload
+         to glupload path when doing DMABuf.
+         Note, this changes breaks pipeline the following pipeline on Intel and
+         some other drivers:
+         gltestsrc ! gldownload ! video/x-raw\(memory:DMABuf\) ! glimagsink
+         A fix for this was added to Mesa recently:
+         Related to https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1338
+         Fixes 5d0e191710
+
+2019-07-14 16:33:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgldownloadelement.c:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Fix exported DMABuf size
+         All we know is the height and the stride, so make sure not to expose
+         the DMABuf larger then the size we know about.
+
+2018-04-25 13:09:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Fail exportation if a modififer is used
+         We don't support modififers and that would result in bad image being
+         displayed. Note that this was fixes recently in Mesa MR 1138, prior to
+         that, the reported modifier is always 0, which makes this change a
+         no-op.
+         Fixes #441
+         Related to https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1338
+
+2019-08-03 13:14:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgldownloadelement.c:
+         gldownload: Wait on sync meta if any
+         This is possibly not strictly needed when pixels are being downloaded to
+         CPU memory, but would cause issue when exporting DMABuf, as the data may
+         not be yet ready when the DMABuf reaches the consumer.
+
+2019-09-03 16:03:49 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstplaybin2.c:
+         playbin: Handle error message with redirection indication
+         There are in the wild (mp4) streams that basically contain no tracks
+         but do have a redirect info[0], in which case, qtdemux won't be able
+         to expose any pad (there are no tracks) so can't post anything but
+         an error on the bus, as:
+         - it can't send EOS downstream, it has no pad,
+         - posting an EOS message will be useless as PAUSED state can't be
+         reached and there is no sink in the pipeline meaning GstBin will
+         simply ignore it
+         In that case, currently the application could try to handle that but it
+         is pretty complex as it will get the REDIRECT message on the bus at
+         which point it could set the URL but playbin will ignore it, as
+         it will only be for the next EOS, it thus need to set the pipeline to
+         NULL (READY won't do as it is already in READY at that point). And it
+         needs to figure out the following ERROR message on the bus needs to be
+         ignored, which is not really simple.
+         The approach here is to allow element to add details to the ERROR
+         message with a `redirect-location` field which elements like playbin handle
+         and use right away.
+         We could also use the element 'redirect' message in playbin, but the
+         issue with that approach is that the element will still emit the ERROR
+         message on the bus, leading to wrong behaviour. That can't be avoided
+         since in the case the app/parent pipeline is not handling the redirect
+         instruction, the ERROR message is necessary (and there is no way to
+         detect that the message has been "handled" from the element emitting the
+         redirect).
+         [0]: http://movietrailers.apple.com/movies/paramount/terminator-dark-fate/terminator-dark-fate-trailer-2_480p.mov
+
+2019-09-19 15:12:25 -0600  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+         overlaycomposition: set sink pad to proxy allocation queries
+
+2019-11-03 00:46:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstgldisplay.h:
+         display: add a specific lock for the list of windows
+         It's either this or replacing all the object lock usage in gldisplay
+         with a recursive mutex which is not backwards compatible
+         The failure case is effectively:
+         1. The user has locked the display object lock
+         2. a glcontext loses it's last ref and attempts to quit the window
+         3. gst_gl_window_quit() attempts to remove the window from the display
+         4. gst_gl_display_remove_window attempts to take the display object lock
+         The only concern with changing the locking for the window list in the
+         display is that gst_gl_display_create_window() has documentation requiring
+         the object lock to be held which must continue to work correctly.
+
+2019-03-08 17:43:40 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+         glwindow: fix racy resize updates
+         Take locks around resize handling and marshall all resizes to the
+         windowing thread by default.
+
+2019-03-08 17:40:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+         glwindow: remove window from display list on quit/finalize
+         Fixes a possible use-after-free in the X11 backend.
+
+2019-11-02 22:58:42 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstgldisplay.h:
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+         gl/display: Add thread-safe retrieve_window
+         Returning a transfer none value for a value checked by a lock is not
+         thread safe as the reference could disappear before the caller can take
+         its reference.
+
+2019-08-30 17:16:35 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-profile.h:
+       * gst/encoding/gstencodebin.c:
+         encodebin: Ensure that a single segment is pushed into encoders
+         Following the [design document] encodebin needs to handle sources that
+         output multiple streams, for that purpose and to make it simpler,
+         we ensure that a single segment is outputted to the encoders by using
+         an `identity single-segment=true` at the beginning of streams chains.
+         Added API to enable or disable the use of that new feature.
+         Added support for the encoding profile parser for that new property,
+         keeping backward compatibility
+         [design document]: https://gstreamer.freedesktop.org/documentation/additional/design/encoding.html?gi-language=c#rendering-timelines
+
+2019-03-19 16:20:01 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+         rtcpbuffer: add RTPFB_TYPE_TWCC for Transport-Wide Congestion Control
+
+2019-11-03 10:25:55 +0000  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+       * gst/audioconvert/gstaudioconvert.h:
+         audioconvert: Fixed changing mix-matrix at runtime
+         Setting the property again after it had already been set ran
+         g_value_unset() but did not initialize it again to g_value_copy() failed
+         afterwards. Removed the unset as cleanup is done implicitely from
+         g_value_copy().
+         Changing the mix-matrix property did not trigger reconfiguration of the
+         caps, this has been added.
+         If the matrix is set to an empty matrix, instead of copying this the
+         matrix is simply disabled by setting mix_matrix_is_set (formerly
+         mix_matrix_was_set) to FALSE so the mix-matrix is ignored from now on.
+
+2019-10-28 14:43:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+       * tests/check/elements/videorate.c:
+         videorate: Fix max-duplication-time handling
+         Previously this would've only set discont=TRUE and then for all future
+         buffers simply returned immediately.
+         Instead we also need to
+         a) drain previous input until its buffer time
+         b) update next_ts and base_ts accordingly for the gap
+         c) actually store the new buffer after the gap so it can be used in
+         the future and so the old buffer before the gap is gone
+         Also update the unit test accordingly so that it actually tests for this
+         behaviour. Previously it only tested that after the gap we got no output
+         at all.
+
+2019-08-20 23:12:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+       * tests/check/elements/compositor.c:
+         compositor: Add support for VUYA format
+         Reversed order of AYUV format. Most of core methods are prepared
+         already.
+
+2019-05-25 19:23:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/gstvideometa.h:
+         videometa: document how the meta can be used to negotiate buffers layout
+         I'm going to use this new API in gst-omx so an encoder can request
+         v4l2src to produce buffers matching the encoder stride and slice heights
+         preventing copies of incoming buffers.
+
+2019-11-04 00:38:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+         gl/gbm: ensure we call the resize callback before attempting to draw
+         Without this, sinks will not be notified about size changes or even the
+         initial size and would render at 0x0.
+
+2019-11-02 16:24:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-scaler.c:
+         video-scaler: Ensure we're always using the correct lines for scaling in gst_video_scaler_2d()
+         Especially for interlaced input make sure to
+         a) never mix both fields
+         b) never read lines after the end of the input frame
+         c) allocate enough space in the temporary lines to not write outside
+         the allocated memory area
+         This fixes various memory corruptions and rescaling artefacts.
+
+2018-10-02 12:04:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Add a property to disable dropping on QoS
+
+2018-10-02 11:09:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Post QoS when we drop because of QoS
+         At the moment, we only posted QoS messages when frame_drop() was
+         called, but not in finish_frame() when QoS triggered a late push.
+         This should fix applications that tries to account the dropped
+         frames. We also emit a warning on drops so it's more clear what is
+         happening.
+
+2019-07-23 11:49:07 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * ext/gl/gstgldownloadelement.c:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         gl: use gst_video_meta_set_alignment()
+
+2019-07-22 16:55:04 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * sys/ximage/ximagepool.c:
+       * sys/xvimage/xvimagepool.c:
+         x(v)image: use gst_video_meta_set_alignment()
+         Use the new API to tell buffer consumers about alignment details.
+         This change is backward compatible as non ported elements can safely
+         ignore the alignment information and keep processing buffers as they use
+         to, copying if necessary.
+
+2019-07-09 12:17:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideometa.h:
+       * tests/check/libs/video.c:
+         videometa: add alignment field
+         By adding this field, buffer producers can now explicitly set the exact
+         geometry of planes, allowing users to easily know the padded size and
+         height of each plane.
+         GstVideoMeta is always heap allocated by GStreamer itself so we can
+         safely extend it.
+
+2019-06-03 16:26:08 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+       * tests/check/libs/video.c:
+         video-info: add gst_video_info_align_full()
+         When using gst_video_info_align() user had no easy way to retrieve the
+         padded size and height of each plane.
+         This can easily be implemented in fill_planes() as it's already called
+         in align() with the padded height.
+         Ideally we'd add a plane_size field to GstVideoInfo but the remaining
+         padding is too small so that would be an ABI break.
+         Fix #618
+
+2019-11-02 12:15:15 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.h:
+         video-info: fix GST_VIDEO_INFO_FIELD_HEIGHT() with frame odd height
+         We want to round up when halfing height.
+         I do have a test for this but it relies on my new video-align tests so
+         it's part of the next commit. Recording the fix separately if we want to
+         backport this fix to the stable branch.
+
+2019-10-30 14:59:40 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: fix upper-left and upper-right rotate matrices
+
+2019-10-25 20:44:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/audio.c:
+         tests: audio: Add test for gst_audio_info_from_caps() method
+         Test gst_audio_info_from_caps() with raw and encoded formats.
+
+2019-10-25 12:05:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/audio/audio-info.c:
+         audio-info: Allow from_caps() with encoded audio format
+         Similar to gst_video_info_from_caps() which allows encoded video format,
+         don't error gst_audio_info_from_caps() with encoded audio format.
+         Because gst_audio_info_set_format() supports encoded format, current
+         behavior does not seem to be consistent.
+
+2019-10-21 16:43:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Use G_N_ELEMENTS instead of writing it out manually
+
+2019-10-21 17:40:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Scaling-only fast-paths for planar formats are keeping interlacing
+         So we can also use them for interlaced content and speed up scaling a
+         bit.
+
+2019-10-21 17:28:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-scaler.c:
+         video-scaler: Correctly handle interlaced vertical scalers in gst_video_scaler_2d()
+         We need to provide twice as many lines as usual to the scaling function
+         as every second lines would be skipped.
+         Without this we read from random memory and produce colorful output and
+         crashes.
+
+2019-10-21 16:43:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Don't use fast-path halfing/doubling rescalers for interlaced planar formats
+         They will mix lines from the top and bottom field and by that
+         effectively deinterlace the video, badly.
+
+2019-10-21 16:43:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Use interlaced scalers for vertical scaling if needed
+         Without this, scaling e.g. interlaced UYVY causes corrupted output with
+         lines as follows: f1 f1 f2 f2, i.e. two lines of each field and only
+         then the other field.
+
+2019-10-03 12:03:09 +0200  Joakim Johansson <joakimj@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         gstrtspconnection: messages_bytes not decreased
+         The watch->messages_bytes is not decreased when the write operation
+         from the backlog is only partly successfull.
+         This commit decreases the watch->messages_bytes for the successfully
+         sent messages.
+         Fixes #679
+
+2019-10-17 20:06:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: build gir even when cross-compiling if introspection was enabled explicitly
+         This can be made to work in certain circumstances when
+         cross-compiling, so default to not building g-i stuff
+         when cross-compiling, but allow it if introspection was
+         enabled explicitly via -Dintrospection=enabled.
+         See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+2019-10-12 12:00:46 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glimagesink: add support for Y210 format
+         Y210 is a 10-bit YUY2, so we may re-use the YUY2 shaders but gl format
+         is set to RG16
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y210 ! glimagesink
+
+2019-10-11 10:14:49 +0200  David Trussel <david.truessel@gmail.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glcolorconvert: add support for the NV16 and NV61 formats
+         NV16/NV61 is basically the same as NV12/NV21 with a higher chroma resolution.
+         Since only the size of the UV plane/texture is different, the same shaders are used as for NV12/NV21.
+
+2019-10-11 22:54:02 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glimagesink: add support for Y410 format
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=Y410 ! glimagesink
+
+2019-10-14 10:02:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: merge shaders for AYUV and VUYA formats
+         The shaders can be used for AYUV and varieties.
+
+2019-06-09 00:57:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * .gitignore:
+       * .gitmodules:
+       * Makefile.am:
+       * README:
+       * autogen.sh:
+       * common:
+       * configure.ac:
+       * docs/.gitignore:
+       * ext/Makefile.am:
+       * ext/alsa/Makefile.am:
+       * ext/cdparanoia/Makefile.am:
+       * ext/gl/Makefile.am:
+       * ext/libvisual/Makefile.am:
+       * ext/ogg/Makefile.am:
+       * ext/opus/Makefile.am:
+       * ext/pango/Makefile.am:
+       * ext/theora/Makefile.am:
+       * ext/vorbis/Makefile.am:
+       * gst-libs/Makefile.am:
+       * gst-libs/gst/Makefile.am:
+       * gst-libs/gst/allocators/Makefile.am:
+       * gst-libs/gst/app/Makefile.am:
+       * gst-libs/gst/audio/.gitignore:
+       * gst-libs/gst/audio/Makefile.am:
+       * gst-libs/gst/fft/Makefile.am:
+       * gst-libs/gst/gl/.gitignore:
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/android/Makefile.am:
+       * gst-libs/gst/gl/cocoa/Makefile.am:
+       * gst-libs/gst/gl/dispmanx/Makefile.am:
+       * gst-libs/gst/gl/eagl/Makefile.am:
+       * gst-libs/gst/gl/egl/Makefile.am:
+       * gst-libs/gst/gl/gbm/Makefile.am:
+       * gst-libs/gst/gl/glprototypes/Makefile.am:
+       * gst-libs/gst/gl/viv-fb/Makefile.am:
+       * gst-libs/gst/gl/wayland/Makefile.am:
+       * gst-libs/gst/gl/win32/Makefile.am:
+       * gst-libs/gst/gl/x11/Makefile.am:
+       * gst-libs/gst/pbutils/.gitignore:
+       * gst-libs/gst/pbutils/Makefile.am:
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/riff/Makefile.am:
+       * gst-libs/gst/rtp/Makefile.am:
+       * gst-libs/gst/rtsp/.gitignore:
+       * gst-libs/gst/rtsp/Makefile.am:
+       * gst-libs/gst/sdp/Makefile.am:
+       * gst-libs/gst/tag/Makefile.am:
+       * gst-libs/gst/video/.gitignore:
+       * gst-libs/gst/video/Makefile.am:
+       * gst/Makefile.am:
+       * gst/adder/.gitignore:
+       * gst/adder/Makefile.am:
+       * gst/app/Makefile.am:
+       * gst/audioconvert/.gitignore:
+       * gst/audioconvert/Makefile.am:
+       * gst/audiomixer/Makefile.am:
+       * gst/audiorate/Makefile.am:
+       * gst/audioresample/Makefile.am:
+       * gst/audiotestsrc/Makefile.am:
+       * gst/compositor/.gitignore:
+       * gst/compositor/Makefile.am:
+       * gst/encoding/Makefile.am:
+       * gst/gio/Makefile.am:
+       * gst/overlaycomposition/Makefile.am:
+       * gst/pbtypes/Makefile.am:
+       * gst/playback/.gitignore:
+       * gst/playback/Makefile.am:
+       * gst/rawparse/Makefile.am:
+       * gst/subparse/Makefile.am:
+       * gst/tcp/.gitignore:
+       * gst/tcp/Makefile.am:
+       * gst/typefind/Makefile.am:
+       * gst/videoconvert/Makefile.am:
+       * gst/videorate/Makefile.am:
+       * gst/videoscale/.gitignore:
+       * gst/videoscale/Makefile.am:
+       * gst/videotestsrc/.gitignore:
+       * gst/videotestsrc/Makefile.am:
+       * gst/volume/.gitignore:
+       * gst/volume/Makefile.am:
+       * m4/.gitignore:
+       * m4/Makefile.am:
+       * m4/README:
+       * m4/check-libheader.m4:
+       * m4/gst-alsa.m4:
+       * m4/gst-gl.m4:
+       * m4/gst-ivorbis.m4:
+       * m4/lrint.m4:
+       * m4/lrintf.m4:
+       * m4/ogg.m4:
+       * m4/vorbis.m4:
+       * pkgconfig/.gitignore:
+       * pkgconfig/Makefile.am:
+       * po/.gitignore:
+       * po/Makevars:
+       * po/POTFILES:
+       * sys/Makefile.am:
+       * sys/ximage/Makefile.am:
+       * sys/xvimage/Makefile.am:
+       * tests/Makefile.am:
+       * tests/check/.gitignore:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/generic/.gitignore:
+       * tests/check/gst/.gitignore:
+       * tests/check/libs/.gitignore:
+       * tests/check/pipelines/.gitignore:
+       * tests/examples/Makefile.am:
+       * tests/examples/app/.gitignore:
+       * tests/examples/app/Makefile.am:
+       * tests/examples/audio/.gitignore:
+       * tests/examples/audio/Makefile.am:
+       * tests/examples/compositor/Makefile.am:
+       * tests/examples/decodebin_next/.gitignore:
+       * tests/examples/decodebin_next/Makefile.am:
+       * tests/examples/dynamic/.gitignore:
+       * tests/examples/dynamic/Makefile.am:
+       * tests/examples/encoding/.gitignore:
+       * tests/examples/encoding/Makefile.am:
+       * tests/examples/fft/.gitignore:
+       * tests/examples/fft/Makefile.am:
+       * tests/examples/gio/.gitignore:
+       * tests/examples/gio/Makefile.am:
+       * tests/examples/gl/Makefile.am:
+       * tests/examples/gl/cocoa/.gitignore:
+       * tests/examples/gl/cocoa/Makefile.am:
+       * tests/examples/gl/generic/Makefile.am:
+       * tests/examples/gl/generic/cube/.gitignore:
+       * tests/examples/gl/generic/cube/Makefile.am:
+       * tests/examples/gl/generic/cubeyuv/.gitignore:
+       * tests/examples/gl/generic/cubeyuv/Makefile.am:
+       * tests/examples/gl/generic/doublecube/.gitignore:
+       * tests/examples/gl/generic/doublecube/Makefile.am:
+       * tests/examples/gl/generic/recordgraphic/.gitignore:
+       * tests/examples/gl/generic/recordgraphic/Makefile.am:
+       * tests/examples/gl/gtk/3dvideo/.gitignore:
+       * tests/examples/gl/gtk/3dvideo/Makefile.am:
+       * tests/examples/gl/gtk/Makefile.am:
+       * tests/examples/gl/gtk/filternovideooverlay/.gitignore:
+       * tests/examples/gl/gtk/filternovideooverlay/Makefile.am:
+       * tests/examples/gl/gtk/filtervideooverlay/.gitignore:
+       * tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
+       * tests/examples/gl/gtk/fxtest/.gitignore:
+       * tests/examples/gl/gtk/fxtest/Makefile.am:
+       * tests/examples/gl/gtk/switchvideooverlay/.gitignore:
+       * tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
+       * tests/examples/gl/qt/.gitignore:
+       * tests/examples/gl/qt/Makefile.am:
+       * tests/examples/gl/qt/qglwtextureshare/.gitignore:
+       * tests/examples/gl/sdl/.gitignore:
+       * tests/examples/gl/sdl/Makefile.am:
+       * tests/examples/overlay/.gitignore:
+       * tests/examples/overlay/Makefile.am:
+       * tests/examples/overlaycomposition/.gitignore:
+       * tests/examples/overlaycomposition/Makefile.am:
+       * tests/examples/playback/Makefile.am:
+       * tests/examples/playrec/.gitignore:
+       * tests/examples/playrec/Makefile.am:
+       * tests/examples/seek/.gitignore:
+       * tests/examples/seek/Makefile.am:
+       * tests/examples/snapshot/.gitignore:
+       * tests/examples/snapshot/Makefile.am:
+       * tests/files/Makefile.am:
+       * tests/icles/.gitignore:
+       * tests/icles/Makefile.am:
+       * tests/icles/playback/.gitignore:
+       * tests/icles/playback/Makefile.am:
+       * tools/.gitignore:
+       * tools/Makefile.am:
+         Remove autotools build system
+
+2019-10-10 17:18:34 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/tcp/gstmultisocketsink.c:
+       * gst/videotestsrc/videotestsrc.c:
+       * tests/examples/gl/generic/cube/main.cpp:
+       * tests/examples/gl/generic/cubeyuv/main.cpp:
+       * tests/examples/gl/generic/doublecube/main.cpp:
+       * tests/examples/gl/generic/recordgraphic/main.cpp:
+       * tests/examples/seek/scrubby.c:
+         base: Avoid usage of deprecated API
+         GTimeval and related functions are now deprecated in glib.
+         Replacement APIs have been present since 2.26
+
+2019-10-10 16:58:26 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/elements/adder.c:
+       * tests/check/elements/audiomixer.c:
+         check: Don't use real audio devices for tests
+         When checking the behaviour of live seeking on audiomixer or
+         adder we don't *really* need real audio devices. audiotestsrc
+         in live mode is enough to test the behaviour of those elements.
+         Also avoids people repeatedly wasting hours trying to figure out
+         whether that failing behaviour is due to their code or not.
+
+2019-10-08 19:35:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+         pbutils: add description for CineForm codec
+
+2019-10-08 19:35:23 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/riff/riff-media.c:
+         riff: add mapping for CineForm codec
+         Makes CineForm-in-AVI work.
+
+2019-09-07 04:28:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/examples/device-provider/example-device-provider.c:
+       * tests/examples/device-provider/meson.build:
+       * tests/examples/meson.build:
+         examples: add device provider example
+
+2019-10-02 23:21:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/effects/gstgleffectblur.c:
+       * ext/gl/gstglbumper.c:
+       * ext/gl/gstglbumper.h:
+       * ext/gl/gstglfiltercube.c:
+       * ext/gl/gstglfiltercube.h:
+       * ext/gl/gstglfilterglass.c:
+       * ext/gl/gstglfilterglass.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglmosaic.h:
+         glfilters: Don't use static variables for storing per-element state
+
+2019-09-27 11:10:43 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+       * tests/check/libs/gstglupload.c:
+         glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
+         This is done by reusing `gst_gl_memory_setup_buffer` avoiding to
+         duplicate code.
+         Without a VideoMeta, mapping those buffers lead to GstBuffer mapping the
+         buffer in system memory even when specifying the GL flags (through the
+         buffer merging mechanism) making the result totally broken.
+
+2019-10-02 23:35:36 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/gl/sdlshare: port to OpenGL 3.0 core profile
+
+2019-10-01 00:00:57 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tools/gst-play-kb.c:
+         build: fix werror build on windows
+         _isatty() is in the io.h header
+
+2019-09-30 16:11:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tools/gst-device-monitor.c:
+         device-monitor: fix device listing without --follow
+         In !427, I removed the call to get_devices in order to always
+         print added devices from the bus handler, however this requires
+         the main loop to run until all pending messages have been consumed.
+         This commit achieves this by always running the main loop, and
+         simply adding an idle source to quit it in the non --follow case.
+
+2019-09-30 10:27:03 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format: correct the pixel stride for Y410
+         The stride for Y410 is 4 bytes, not 0 byte
+
+2019-03-14 16:24:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/sdlshare: Map video frames as early as possible and wait via GL sync meta before using texture ids
+
+2019-03-13 08:28:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/sdlshare: Initialize GL as part of the event loop
+         And unref additional buffers we never use for rendering directly instead
+         of going via the output queue.
+
+2019-03-13 08:20:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Activate and initialize our wrapped GL context
+         This allows us to e.g. use the GL functions vtable on it later.
+
+2019-03-13 07:31:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Call gst_init() a bit earlier in main()
+         Let's not accidentally call other GStreamer API before that.
+
+2019-03-13 07:21:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Create an OpenGL context for OpenGL 2.0
+
+2019-03-12 22:37:48 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/sdlshare: Switch from a GLib main loop to a normal SDL event loop
+
+2019-03-12 22:09:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * m4/gst-gl.m4:
+       * tests/examples/gl/sdl/meson.build:
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Port to SDL2
+
+2019-03-12 21:31:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/sdlshare: Move from a fakesink to an appsink
+
+2019-03-12 21:29:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+         examples/sdlshare: Store buffer queues and loop in a global variable
+         There's no point storing them in GObject data, we already have other
+         global variables anyway.
+
+2019-03-12 21:24:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Bus sync handlers return no value
+
+2019-03-12 21:20:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/examples/gl/sdl/sdlshare.c:
+       * tests/examples/gl/sdl/sdlshare2.c:
+         examples/sdlshare: Fix various memory leaks
+
+2018-06-18 10:49:28 +0200  Axel Mårtensson <axelma@axis.com>
+
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasink.h:
+         alsasink: pause/resume
+         alsasink can now detect a resume, stop and pause. The sink is now
+         properly paused using snd_pcm_pause(), and without losing any data
+
+2018-06-18 10:44:55 +0200  Axel Mårtensson <axelma@axis.com>
+
+       * gst-libs/gst/audio/gstaudiosink.c:
+       * gst-libs/gst/audio/gstaudiosink.h:
+         audiosink: fix resuming after pause
+         For resuming after paused, gst_audio_sink_ring_buffer_start() needs to
+         be called to notify the ringbuffer to continue to play.
+
+2017-10-10 20:41:31 +0200  Philippe Renon <philippe_renon@yahoo.fr>
+
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+       * gst-libs/gst/audio/gstaudioringbuffer.h:
+       * gst-libs/gst/audio/gstaudiosink.c:
+       * gst-libs/gst/audio/gstaudiosink.h:
+         audiosink: expose more audioringbuffer vmethods to child sinks
+         The newly exposed vmethods are pause, resume, stop and clear_all.
+         The existing reset vmethod is deprecated.
+         The audio sink will fallback to calling reset if pause or stop
+         are not provided and will fallback to calling start if
+         resume is not provided. There is no default clear_all
+         implementation.
+         Existing audio sinks continue to work as before.
+         This change is useful for sinks that need to distinguish
+         between a pause and a stop (currently both are handled
+         by a reset) and is needed for https://bugzilla.gnome.org/show_bug.cgi?id=788362
+         https://bugzilla.gnome.org/show_bug.cgi?id=788361
+
+2019-09-24 15:05:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play-kb.c:
+         gst-play: Add support for interacting console input on Windows
+         Add Windows keyboard input handler. This could make gst-play UX
+         consistent between *nix and Windows.
+
+2019-09-20 09:48:30 +0100  Charlie Turner <cturner@igalia.com>
+
+       * gst/playback/gststreamsynchronizer.c:
+         streamsynchronizer: avoid pad destruction races.
+         Due to the use of {set/get}-element_private methods being used to store
+         the GstSyncStream in the src and sink pads, and the racey nature of pad
+         destruction, there are numerous ways we can be bitten by race conditions
+         in the stream synchronizer. Fix that by tying the pads toghether with
+         references.
+
+2019-05-10 07:32:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioutilsprivate.c:
+         audio: Use LoadPackagedLibrary when building for UWP
+         Universal Windows Platform apps are not allowed to use LoadLibrary to
+         load arbitrary DLLs from the filesystem. They can only use
+         LoadPackagedLibrary to load DLLs that have been packaged with the app
+         as assets.
+         See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/190
+
+2019-09-24 15:32:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play.c:
+         gst-play: Use gst_print* to avoid broken stdout string on Windows
+         Equvalant to https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/258
+         When debug enabled, the debug string might be broken on Windows.
+
+2019-09-23 15:39:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/tag/gsttageditingprivate.c:
+       * gst-libs/gst/tag/gstxmptag.c:
+       * tools/gst-discoverer.c:
+         build: fix debug output werror build with newer gcc
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:55,
+         from ../gst-libs/gst/tag/tag.h:25,
+         from ../gst-libs/gst/tag/gsttageditingprivate.h:24,
+         from ../gst-libs/gst/tag/gsttageditingprivate.c:23:
+         ../gst-libs/gst/tag/gsttageditingprivate.c: In function ‘__exif_tag_capturing_white_balance_to_exif_value’:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:645:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         645 |     gst_debug_log ((cat), (level), __FILE__, GST_FUNCTION, __LINE__, \
+         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         646 |         (GObject *) (object), __VA_ARGS__);    \
+         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:1068:27: note: in expansion of macro ‘GST_CAT_LEVEL_LOG’
+         1068 | #define GST_WARNING(...)  GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, __VA_ARGS__)
+         |                           ^~~~~~~~~~~~~~~~~
+         ../gst-libs/gst/tag/gsttageditingprivate.c:265:3: note: in expansion of macro ‘GST_WARNING’
+         265 |   GST_WARNING ("Invalid white balance: %s", str);
+         |   ^~~~~~~~~~~
+         ../gst-libs/gst/tag/gsttageditingprivate.c:265:40: note: format string is defined here
+         265 |   GST_WARNING ("Invalid white balance: %s", str);
+         |                                        ^~
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:55,
+         from ../gst-libs/gst/tag/tag.h:25,
+         from ../gst-libs/gst/tag/gstxmptag.c:39:
+         ../gst-libs/gst/tag/gstxmptag.c: In function ‘deserialize_exif_gps_direction’:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:645:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         645 |     gst_debug_log ((cat), (level), __FILE__, GST_FUNCTION, __LINE__, \
+         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         646 |         (GObject *) (object), __VA_ARGS__);    \
+         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:1068:27: note: in expansion of macro ‘GST_CAT_LEVEL_LOG’
+         1068 | #define GST_WARNING(...)  GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, __VA_ARGS__)
+         |                           ^~~~~~~~~~~~~~~~~
+         ../gst-libs/gst/tag/gstxmptag.c:818:5: note: in expansion of macro ‘GST_WARNING’
+         818 |     GST_WARNING ("Missing %s tag", dirref_str);
+         |     ^~~~~~~~~~~
+         ../gst-libs/gst/tag/gstxmptag.c:818:27: note: format string is defined here
+         818 |     GST_WARNING ("Missing %s tag", dirref_str);
+         |                           ^~
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:55,
+         from ../gst-libs/gst/tag/tag.h:25,
+         from ../gst-libs/gst/tag/gstxmptag.c:39:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:645:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         645 |     gst_debug_log ((cat), (level), __FILE__, GST_FUNCTION, __LINE__, \
+         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         646 |         (GObject *) (object), __VA_ARGS__);    \
+         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:1068:27: note: in expansion of macro ‘GST_CAT_LEVEL_LOG’
+         1068 | #define GST_WARNING(...)  GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, __VA_ARGS__)
+         |                           ^~~~~~~~~~~~~~~~~
+         ../gst-libs/gst/tag/gstxmptag.c:814:5: note: in expansion of macro ‘GST_WARNING’
+         814 |     GST_WARNING ("Missing %s tag", dir_str);
+         |     ^~~~~~~~~~~
+         ../gst-libs/gst/tag/gstxmptag.c:814:27: note: format string is defined here
+         814 |     GST_WARNING ("Missing %s tag", dir_str);
+         |                           ^~
+         In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:55,
+         from ../gst-libs/gst/gl/gstgl_fwd.h:24,
+         from ../gst-libs/gst/gl/gl.h:24,
+         from ../gst-libs/gst/gl/gstglsl.c:25:
+         ../gst-libs/gst/gl/gstglsl.c: In function ‘gst_glsl_version_profile_from_string’:
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:645:5: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         645 |     gst_debug_log ((cat), (level), __FILE__, GST_FUNCTION, __LINE__, \
+         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         646 |         (GObject *) (object), __VA_ARGS__);    \
+         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstinfo.h:1068:27: note: in expansion of macro ‘GST_CAT_LEVEL_LOG’
+         1068 | #define GST_WARNING(...)  GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, __VA_ARGS__)
+         |                           ^~~~~~~~~~~~~~~~~
+         ../gst-libs/gst/gl/gstglsl.c:333:7: note: in expansion of macro ‘GST_WARNING’
+         333 |       GST_WARNING ("Invalid preprocesser directive detected: %s", version_s);
+         |       ^~~~~~~~~~~
+         ../gst-libs/gst/gl/gstglsl.c:333:62: note: format string is defined here
+         333 |       GST_WARNING ("Invalid preprocesser directive detected: %s", version_s);
+         |                                                              ^~
+         In function ‘print_stream_info’,
+         inlined from ‘print_topology’ at ../tools/gst-discoverer.c:352:3:
+         ../tools/gst-discoverer.c:316:3: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+         316 |   g_print ("%*s%s: %s\n", 2 * GPOINTER_TO_INT (depth), " ",
+         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         317 |       gst_discoverer_stream_info_get_stream_type_nick (info), desc);
+         |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2019-09-11 01:29:23 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tools/gst-device-monitor.c:
+         gst-device-monitor: stop calling gst_device_monitor_get_devices()
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/280
+
+2019-09-17 21:33:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tools/gst-device-monitor.c:
+         device-monitor: print caps features in the caps
+
+2019-09-16 11:03:59 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         glimagesink: Fix VUYA in memory:DMABuf
+         Sample pipeline:
+         gst-launch-1.0 videotestsrc ! msdkvpp ! \
+         video/x-raw\(memory:DMABuf\),format=VUYA ! glimagesink
+
+2019-08-28 14:50:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/egl/gstgldisplay_egl_device.c:
+         egldevice: Fix undeclared type build error
+         Not all eglext.h defines EGLDeviceEXT type. That's implementation and
+         egl extension version dependent.
+
+2019-09-08 01:03:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         tests: fix up valgrind suppressions for glibc getaddrinfo leaks
+         Make more flexible. There is an extra
+         gethostbyname2_r@@GLIBC_2.2.5 (getXXbyYY_r.c:217)
+         in the trace on the build bots (F30).
+         Fixes the -base and -good valgrind jobs on the 1.16 branch CI.
+
+2019-08-29 11:16:39 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/ogg/gstoggdemux.c:
+       * ext/ogg/gstoggdemux.h:
+         oggdemux: Move seeking in pull mode to the streaming thread
+         Flushing and teering down the streaming thread from the seeking thread
+         and simply letting the streaming thread handle the seek event in its
+         loop function.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/639
+
+2018-04-15 19:19:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/encoding/gststreamsplitter.c:
+       * gst/encoding/gststreamsplitter.h:
+         streamsplitter: Drop duplicated force-key-unit events
+         Forward force-key-unit event only once for the corresponding sequence number.
+
+2018-04-15 19:15:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/encoding/gststreamcombiner.c:
+         streamcombiner: Forward upstream force-key-unit events to all sinkpads
+         streamcombiner element forwards a upstream event only to one sinkpad.
+         When the streamcombiner is used with encodebin, the sinkpad
+         corresponding to pass-through path is configured before that of encoder,
+         and therefore streamcombiner forwards upstream events only to
+         the firstly configured one (i.e., pass-through path).
+
+2019-09-02 16:20:07 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * meson.build:
+         meson: Reenable NEON support
+
+2019-09-02 23:25:39 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst-libs/gst/audio/audio-resampler-neon.h:
+         audio-resampler: Update NEON to handle remainders not multiples of 4
+         If the remainder is not evenly divisable by 4, we'd miss the check
+         for zero and continue the loop until crashing. Change the branch
+         to take into account negatives as well.
+         This more closely matches the SSE loop.
+
+2019-08-29 13:42:39 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * configure.ac:
+       * ext/alsa/gstalsasrc.c:
+       * ext/gl/effects/gstgleffectxray.c:
+       * ext/gl/gstglalpha.c:
+       * ext/gl/gstglcolorbalance.c:
+       * ext/gl/gstglfilterreflectedscreen.c:
+       * ext/gl/gstglfiltershader.c:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/ogg/gstoggaviparse.c:
+       * ext/ogg/gstoggdemux.c:
+       * ext/ogg/gstoggdemux.h:
+       * ext/pango/gstbasetextoverlay.c:
+       * ext/theora/gsttheoradec.h:
+       * ext/theora/gsttheoraenc.c:
+       * ext/vorbis/gstvorbistag.c:
+       * gst-libs/gst/allocators/gstdmabuf.h:
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+       * gst-libs/gst/audio/audio-channels.h:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-format.h:
+       * gst-libs/gst/audio/audio-resampler.c:
+       * gst-libs/gst/audio/audio-resampler.h:
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+       * gst-libs/gst/audio/gstaudiosink.c:
+       * gst-libs/gst/audio/gstaudiosrc.c:
+       * gst-libs/gst/audio/gstaudiostreamalign.c:
+       * gst-libs/gst/fft/kiss_fft_f32.c:
+       * gst-libs/gst/fft/kiss_fft_f64.c:
+       * gst-libs/gst/fft/kiss_fft_s16.c:
+       * gst-libs/gst/fft/kiss_fft_s32.c:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.c:
+       * gst-libs/gst/gl/gstglapi.c:
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglbasememory.h:
+       * gst-libs/gst/gl/gstglbufferpool.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglfeature.c:
+       * gst-libs/gst/gl/gstglfilter.c:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglframebuffer.c:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglmemorypbo.c:
+       * gst-libs/gst/gl/gstglshader.c:
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/gl/gstglsl.h:
+       * gst-libs/gst/gl/gstglslstage.c:
+       * gst-libs/gst/gl/gstglupload.c:
+       * gst-libs/gst/gl/gstglupload.h:
+       * gst-libs/gst/gl/gstglutils.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/gstglwindow.h:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-profile.h:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/pbutils/install-plugins.h:
+       * gst-libs/gst/riff/riff-ids.h:
+       * gst-libs/gst/riff/riff-media.c:
+       * gst-libs/gst/rtp/README:
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtppayloads.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+       * gst-libs/gst/rtsp/gstrtspdefs.h:
+       * gst-libs/gst/rtsp/gstrtspextension.h:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/sdp/gstmikey.h:
+       * gst-libs/gst/tag/gstexiftag.c:
+       * gst-libs/gst/tag/gsttagdemux.h:
+       * gst-libs/gst/tag/gstxmptag.c:
+       * gst-libs/gst/tag/id3v2.3.0.txt:
+       * gst-libs/gst/tag/lang.c:
+       * gst-libs/gst/video/TODO:
+       * gst-libs/gst/video/convertframe.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideosink.c:
+       * gst-libs/gst/video/video-anc.h:
+       * gst-libs/gst/video/video-blend.c:
+       * gst-libs/gst/video/video-color.h:
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-dither.c:
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * gst-libs/gst/video/video-frame.h:
+       * gst-libs/gst/video/video-hdr.c:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-overlay-composition.c:
+       * gst-libs/gst/video/video-scaler.c:
+       * gst-libs/gst/video/videooverlay.c:
+       * gst/adder/gstadder.c:
+       * gst/audiomixer/gstaudiointerleave.c:
+       * gst/audiomixer/gstaudiomixer.c:
+       * gst/audioresample/gstaudioresample.c:
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * gst/compositor/compositor.c:
+       * gst/encoding/gststreamcombiner.c:
+       * gst/gio/gstgiobasesrc.c:
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstsubtitleoverlay.c:
+       * gst/playback/gsturidecodebin.c:
+       * gst/playback/gsturidecodebin3.c:
+       * gst/playback/gsturisourcebin.c:
+       * gst/rawparse/gstrawaudioparse.h:
+       * gst/rawparse/gstrawbaseparse.h:
+       * gst/subparse/gstsubparse.c:
+       * gst/subparse/samiparse.c:
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/tcp/gstmultisocketsink.c:
+       * gst/typefind/gsttypefindfunctions.c:
+       * gst/videoconvert/gstvideoconvert.c:
+       * gst/videorate/gstvideorate.c:
+       * gst/videotestsrc/gstvideotestsrc.c:
+       * hooks/pre-commit.hook:
+       * m4/ogg.m4:
+       * m4/vorbis.m4:
+       * sys/ximage/ximagepool.c:
+       * sys/ximage/ximagesink.c:
+       * sys/ximage/ximagesink.h:
+       * sys/xvimage/xvcontext.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/decodebin.c:
+       * tests/check/elements/glimagesink.c:
+       * tests/check/elements/multifdsink.c:
+       * tests/check/elements/rawvideoparse.c:
+       * tests/check/elements/videorate.c:
+       * tests/check/gst-plugins-base.supp:
+       * tests/check/libs/gstglmatrix.c:
+       * tests/check/libs/gstglupload.c:
+       * tests/check/libs/rtpbasedepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+       * tests/check/libs/rtspconnection.c:
+       * tests/check/libs/tag.c:
+       * tests/check/libs/videodecoder.c:
+       * tests/examples/decodebin_next/playbin-test.c:
+       * tests/examples/dynamic/addstream.c:
+       * tests/examples/playback/playback-test.c:
+       * tests/examples/seek/jsseek.c:
+       * tests/examples/snapshot/snapshot.c:
+       * tests/icles/stress-playbin.c:
+         Pass the code through codespell
+
+2019-08-30 13:27:28 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/ogg/gstoggdemux.c:
+         oggdemux: fix werror build on macos
+         ../ext/ogg/gstoggdemux.c:1071:7: error: format specifies type 'long' but the argument has type 'ogg_int64_t' (aka 'long long') [-Werror,-Wformat]
+         packet->granulepos);
+         ^~~~~~~~~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:1062:96: note: expanded from macro 'GST_DEBUG_OBJECT'
+         #define GST_DEBUG_OBJECT(obj,...)       GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG,   obj,  __VA_ARGS__)
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:646:31: note: expanded from macro 'GST_CAT_LEVEL_LOG'
+         (GObject *) (object), __VA_ARGS__);                             \
+         ^~~~~~~~~~~
+         ../ext/ogg/gstoggdemux.c:1312:15: error: format specifies type 'long' but the argument has type 'ogg_int64_t' (aka 'long long') [-Werror,-Wformat]
+         packet.granulepos);
+         ^~~~~~~~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:1060:98: note: expanded from macro 'GST_WARNING_OBJECT'
+         #define GST_WARNING_OBJECT(obj,...)     GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, obj,  __VA_ARGS__)
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
+         /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:646:31: note: expanded from macro 'GST_CAT_LEVEL_LOG'
+         (GObject *) (object), __VA_ARGS__);                             \
+         ^~~~~~~~~~~
+
+2019-08-30 13:13:54 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/meson.build:
+         gl: also build plugin with -fobjc-arc
+         Fixes macos werror build
+         ../ext/gl/caopengllayersink.m:336:23: error: '__bridge_retained' casts have no effect when not using ARC [-Werror,-Warc-bridge-casts-disallowed-in-nonarc]
+         ca_sink->layer = (__bridge_retained gpointer)layer;
+         ^~~~~~~~~~~~~~~~~~
+
+2019-08-30 13:00:14 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         glwindow/cocoa: silence unused-variable warning
+         We are using ARC to cleanup after ourselves.
+         ../gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:159:20: error: unused variable 'queue' [-Werror,-Wunused-variable]
+         dispatch_queue_t queue = (__bridge_transfer dispatch_queue_t) window->priv->gl_queue;
+         ^
+
+2019-08-29 00:48:16 +1000  Jan Schmidt <jan@centricular.com>
+
+       * m4/gst-gl.m4:
+         m4/gst-gl: Add dummy GST_GL_HAVE_WINDOW_WINRT
+         Add a dummy define to make fix the autotools build for now. To
+         actually build WinRT support, use the meson build.
+
+2019-08-29 01:21:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontext/egl: fallback to WINDOW_BIT if PBUFFER_BIT fails
+         There are some drivers that do not advertise any PBUFFER EGLConfig's.
+
+2019-08-28 11:24:01 -0700  Jonas Larsson <ljonas@google.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Fix memory leak
+         Also free the GstEGLImage struct allocated by g_new0.
+         Fixes #661
+
+2019-08-27 00:10:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         {audio,video}aggregator: define autoptr cleanup functions
+
+2019-08-21 19:04:56 +0800  Hou Qi <qi.hou@nxp.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         audiodecoder: fix ctitical info assertion 'GST_IS_CAPS (dec->priv->ctx.caps)' failed
+         Matroskademux will send gap event when lag of video and audio is over 3 seconds.
+         audiodecoder needs to handle gap event and set default output caps.
+         Only audio info is set, while output caps is ignored. This cause the assertion failed.
+         Need to fill output caps in gst_audio_decoder_negotiate_default_caps() with
+         negotiated caps to avoid critical info printed when check it later.
+
+2019-05-21 11:44:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * gst-libs/gst/gl/gstglconfig.h.meson:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.c:
+       * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.h:
+       * meson_options.txt:
+         gstgl: Add a new window type for WinRT
+         This is needed for using GstGL with ANGLE as the GLES implementation
+         in Universal Windows Platform apps that use the Windows Runtime
+         (WinRT) instead of Win32, which is deprecated and not allowed in
+         Windows Store apps.
+         This has been tested with Servo on the Microsoft HoloLens 2, and seems
+         to work quite well.
+
+2019-08-27 01:03:40 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-target.c:
+         encoding-target: fix SECTION comment syntax
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/658
+
+2019-08-26 07:54:48 +0200  Niels De Graef <nielsdegraef@gmail.com>
+
+       * ext/cdparanoia/gstcdparanoiasrc.c:
+       * ext/gl/gstglfilterapp.c:
+       * ext/gl/gstglfilterbin.c:
+       * ext/gl/gstglfiltershader.c:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglsinkbin.c:
+       * ext/gl/gstglsrcbin.c:
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/rtsp/gstrtspextension.c:
+       * gst/encoding/gstencodebin.c:
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gsturidecodebin.c:
+       * gst/playback/gsturidecodebin3.c:
+       * gst/playback/gsturisourcebin.c:
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultihandlesink.c:
+       * gst/tcp/gstmultisocketsink.c:
+         Don't pass default GLib marshallers for signals
+         By passing NULL to `g_signal_new` instead of a marshaller, GLib will
+         actually internally optimize the signal (if the marshaller is available
+         in GLib itself) by also setting the valist marshaller. This makes the
+         signal emission a bit more performant than the regular marshalling,
+         which still needs to box into `GValue` and call libffi in case of a
+         generic marshaller.
+         Note that for custom marshallers, one would use
+         `g_signal_set_va_marshaller()` with the valist marshaller instead.
+
+2019-08-23 18:28:16 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/theora/gsttheoradec.c:
+       * ext/theora/gsttheoraenc.c:
+       * ext/vorbis/gstvorbisdec.c:
+       * ext/vorbis/gstvorbisenc.c:
+         docstrings: port ulinks to markdown links
+
+2019-08-21 14:50:12 +0000  Piotr Drąg <piotrdrag@gmail.com>
+
+       * po/POTFILES.in:
+         po: update POTFILES
+
+2019-04-04 17:41:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/egl/Makefile.am:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl_device.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl_device.h:
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstgldisplay.h:
+       * gst-libs/gst/gl/meson.build:
+         gl/egl/display: Add support EGLDevice display type
+         Simple addition for supporting EXT_platform_device typed display.
+         It's a kind of special display type (part of EGL specification)
+         which has no window at all.
+         To use EGLDevice explicitly, set environment "GST_GL_WINDOW=egl-device"
+         See also https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_platform_device.txt
+
+2019-04-05 00:43:02 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/gstglwindow.h:
+         glwindow: Introduce new vfunc for querying output surface availability
+         Only dummy window will return FALSE for now.
+
+2019-08-20 21:10:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-hdr.c:
+       * gst-libs/gst/video/video-hdr.h:
+         video-hdr: Update documentation
+         * Fix typo
+         s/nunormalized/normalized/g
+         * Update GstVideoMasteringDisplayInfo description
+         Each values are not array.
+         * Add missing newline between arguments description and
+         detailed comment.
+
+2019-08-07 16:15:40 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/gl/gltestsrc.c:
+       * ext/gl/gstgltestsrc.c:
+       * ext/gl/gstgltestsrc.h:
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/gl.h:
+       * gst-libs/gst/gl/gstgl_fwd.h:
+       * gst-libs/gst/gl/gstglbasesrc.c:
+       * gst-libs/gst/gl/gstglbasesrc.h:
+       * gst-libs/gst/gl/meson.build:
+         gl: New pushsrc-based glbasesrc base class
+         The gltestsrc element was refactored to inherit from this base class which
+         handles the GL context. The sub-class only needs to implement the gl_start,
+         gl_stop and fill_gl_memory vfuncs, along with properly advertizing the GL APIs
+         it supports through the supported_gl_api GstGLBaseSrc class attribute.
+
+2019-08-16 11:58:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         video-frame: Take TFF flag from the video info if it was set in there
+         The caps and thus the video info have preference. If the field order is
+         set in there then it applies to all frames.
+         This works around issues where the tff field order is only set in the
+         caps but not additionally in the buffer flags.
+
+2019-08-12 18:00:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: add missing Since tag
+
+2019-08-09 16:04:03 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: Fix external-oes shader
+         The #extention must come before 'precision highp float;'.
+         Closes: #650
+
+2019-08-12 22:42:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-hdr.h:
+         video-hdr: Fix document typo
+         Fix missing document update. GstVideoContentLightMeta was changed to
+         GstVideoContentLightLevel during code review.
+
+2019-08-11 14:16:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: keep UNKNOWN colorimetry define automatically up-to-date
+         Follow-up to !310 and helps with backport commits like !360
+
+2019-08-08 11:43:03 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         gl: Add support for P016 format
+         All implementation for P010_10LE/BE can be reused.
+
+2019-08-08 01:06:57 +0900  Seungha Yang <seungha.yang@navercorp.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:
+         video: Add P016 LE/BE formats
+         Add semi-planar 4:2:0 16 bits format.
+
+2019-08-07 20:18:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/pango/gsttimeoverlay.c:
+         timeoverlay: chain up finalize
+         Mistakenly forgot to amend this in for !325
+
+2019-08-06 21:49:04 +0900  Seungha Yang <seungha.yang@navercorp.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:
+         video: Add Y444_16LE and Y444_16BE formats
+         Add 16 bits planar 4:4:4 YUV formats.
+
+2019-08-07 13:01:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Fix ADF detection when trying to extract data from vanc
+         Previously we were checking offset 1 twice, but the second check
+         should've been for offset 2.
+
+2019-07-10 14:00:56 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/pango/gsttimeoverlay.c:
+       * ext/pango/gsttimeoverlay.h:
+         timeoverlay: add a property to show times as dates
+         In this mode, buffer timestamps are displayed as an absolute date
+         since a user-specifiable epoch. The format is also specifiable as
+         a string property, that will be passed to g_date_time_format().
+
+2019-08-02 10:26:24 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * tests/examples/playback/playback-test.c:
+         playback-test: plug some memory leaks
+
+2019-07-30 04:01:55 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/tag/gstexiftag.c:
+         exiftag: Don't output rational numbers with denominator = 0
+
+2019-05-28 17:43:25 +0200  Lucas Stach <l.stach@pengutronix.de>
+
+       * gst-libs/gst/gl/wayland/wayland_event_source.c:
+         gl/wayland: fix wayland event source burning CPU
+         Commit c71dd72b "gl/wayland: fix glib mainloop integration" was overeager
+         in removing the poll result test from the check function. This caused
+         dispatch to be called even if no new events are available on the
+         Wayland connection, which in turn would wake up the glib mainloop,
+         causing effectively a tight loop without ever blocking on the poll.
+         Fixes #603
+
+2019-07-24 10:12:17 +0200  Martin Liska <mliska@suse.cz>
+
+       * configure.ac:
+         Add used attribute in order to make NEON detection working with -flto.
+
+2019-07-24 14:25:19 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgluploadelement.c:
+         gluploadelement: don't passthrough on same caps
+         If we do, then multiple disjoint OpenGL contexts will not perform the
+         necessary download and reupload of data that is necessary to cross between
+         each OpenGL context sharegroup.
+
+2019-07-23 13:54:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Check for NULL return of gst_type_find_peek() instead of segfaulting in otio typefinder
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/329#note_194943
+
+2019-07-23 09:09:35 +0900  Wonchul Lee <w.lee@lge.com>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+         gldisplay: fix g-i warning
+
+2019-07-12 16:37:10 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Add typefind functions for fcpxml, xmel and otio file formats
+
+2019-07-19 18:52:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/audiomixer.c:
+       * tests/check/elements/compositor.c:
+         aggregator tests: fix seek event seqnums
+         In
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/207,
+         aggregator starts ignoring seek events with duplicate seqnums. We thus
+         need to update the seqnum of events when reusing them multiple times.
+
+2019-07-16 12:23:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+       * tests/check/libs/video.c:
+         video-format: add gst_video_format_info_component()
+         New API to find out which components are packed in a given plane.
+         Will prevent us from assuming a 1-1 mapping between planes and
+         components.
+
+2019-07-12 16:56:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+         basedepayload: do not create segment in onvif mode
+         basedepayload generates its own segment in a pretty unconventional
+         manner, relying on information in the caps such as npt-start or
+         npt-stop, usually set by rtspsrc.
+         In ONVIF mode, rtspsrc will generate the correct segment and this
+         logic in rtpbasedepayload will not be needed, this commit allows
+         rtspsrc to signal that through the caps.
+
+2019-07-18 08:46:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Split getcaps() function into two
+         One for convert pads and one for normal sink pads.
+
+2019-07-16 10:40:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: We can only convert the format if a GstVideoAggregatorConvertPad is used
+         Otherwise assume that we can at least support any framerate.
+
+2019-07-16 10:34:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Always take first configure pad's rate and downstream caps into account when calculating allow sink caps
+         While we can convert between all formats apart from the rate, we
+         actually need to make sure that we comply with a) the rate of the first
+         configured pad and b) also all the allowed rates from downstream.
+
+2019-07-16 10:02:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: If we don't have a GstAudioAggregatorConvertPad, don't assume that we can actually convert
+
+2019-07-15 16:08:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: always use downstream's rate requirements
+         We were previously only fixating the rate in the getcaps
+         implementation when downstream was requiring a discrete value,
+         causing negotiation to fail when upstream was capable of rate
+         conversion, but not made aware that it had to occur.
+         Instead of fixating the rate, we can simply update our sink
+         template caps with whatever GValue the downstream caps are holding
+         as their rate field.
+         Allows negotiation to successfully complete with pipelines such as:
+         audiotestsrc ! audio/x-raw, rate=48000 ! audioresample ! audiomixer name=m ! \
+         audio/x-raw, rate={800, 1000} ! autoaudiosink \
+         audiotestsrc ! audio/x-raw, rate=44100 ! audioresample ! m.
+
+2019-07-17 19:11:12 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+         meson: Don't generate doc cache when no plugins are enabled
+         Fixes gst-build with -Dauto-features=disabled
+
+2019-07-17 02:44:12 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: Enhance documentation of gst_video_colorimetry_to_string()
+         It could return null string. So need to clarify when it will be null.
+
+2019-07-10 12:46:17 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/video.c:
+         tests: video: Add test conversion between colorimetry and ISO/IEC 23001-8 values
+         Test forward/backword conversion of color{matrix,transfer,primaries}.
+
+2019-07-10 00:16:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+         video-color: Add util functions for conversion from/to ISO/IEC 23001-8
+         ... and also as known as ITU-T H.273.
+         The conversion has been handled per plugin for now. That causes
+         code duplication a lot also some plugins might not be updated with newly introduced
+         color{matrix,transfer,primaries} enum value(s).
+         Instead of handling it per plugin, centralized handling can remove such
+         code duplication and make plugins be up-to-dated.
+
+2019-07-09 14:28:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * tests/check/libs/sdp.c:
+         sdp: Add support for parsing the extmap attribute from caps and storing inside caps
+         The extmap attribute allows mapping RTP extension header IDs to
+         well-known RTP extension header specifications. See RFC8285 for details.
+         We store the extmap attribute either as string in the caps
+         extmap-X=extensionname
+         where X is the integer extension header ID, or as 3-tuple of strings
+         extmap-X=<direction,extensionname,extensionattributes>
+         where direction or extensionattributes are allowed to be the empty
+         string.
+         Both formats are allowed because usually only the extension name is
+         given and it's much simpler to handle in caps.
+
+2019-07-10 21:57:13 +0000  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         Revert "typefind: Hold off making suggestions too early for MPEG based formats"
+         This reverts commit 36319169d06f778acee2b33d728d2089d15370d6
+
+2019-06-26 15:53:11 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Hold off making suggestions too early for MPEG based formats
+         By suggesting possible detection too early, it's possible that
+         the wrong format is detected. Hold off making suggestions until one
+         of the following conditions is met:
+         * Probability > GST_TYPE_FIND_LIKELY
+         * At least MPEG_MIN_PROBE_LENGTH bytes have been examined
+         * EOS, in which case the best guess wins
+         Fixes #628
+
+2019-07-10 01:27:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: win32-videooverlay: Fix C2440 build error
+         Follow WNDPROC define to avoid implicit type conversion.
+
+2019-06-25 19:15:29 -0700  Dylan McCall <dylan@endlessm.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:
+         gstgldisplay: Add public foreign_display property
+         We use this property in gst_gl_display_egl_from_gl_display, to set
+         foreign_display for the new GstGLDisplayEGL instance. This fixes a
+         problem where gst_gl_display_egl_finalize calls EglTerminate on a
+         pre-existing EGL connection.
+
+2019-07-05 20:14:34 +0530  Sumaid Syed <sumaidsyed@gmail.com>
+
+       * gst-libs/gst/tag/gstid3tag.c:
+       * gst-libs/gst/tag/gstvorbistag.c:
+       * gst-libs/gst/tag/tag.h:
+       * gst-libs/gst/tag/tags.c:
+       * tests/check/libs/tag.c:
+         tag: Add tags for acoustid id & acoustid fingerprint
+         Mapping followed: https://picard.musicbrainz.org/docs/mappings/
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/612
+
+2019-05-22 14:26:42 +0530  Sumaid <sumaidsyed@gmail.com>
+
+       * gst-libs/gst/tag/gstid3tag.c:
+       * gst-libs/gst/tag/gstvorbistag.c:
+       * gst-libs/gst/tag/tag.h:
+       * gst-libs/gst/tag/tags.c:
+       * tests/check/libs/tag.c:
+         tag: Repair support for MusicBrainz IDs
+         Add missing release group ID and track ID
+         Mapping Followed:
+         https://picard.musicbrainz.org/docs/mappings/
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/612
+
+2019-07-06 17:02:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/overlay/meson.build:
+       * tests/examples/overlay/win32-videooverlay.c:
+         examples: Add a video overlay example for WIN32 videosink elements
+         User can set the target WIN32 video element via "videosink" command line
+         option. Default is glimagesink.
+
+2019-07-03 09:07:06 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         egl: wl_egl_window is not wl_proxy
+         It seems that eglCreatePlatformWindowSurfaceEXT is failing (with
+         EGL_BAD_ALLOC) because it thinks an EGL surface has already been created
+         for the wl_egl_window. The reason is that the "driver_private" field of
+         the wl_egl_window is getting clobbered by the function
+         wl_proxy_set_queue().
+         Since a wl_egl_window is not a wl_proxy, it shouldn't be passed to
+         wl_proxy_set_queue(). It just wraps a wl_surface (which is a wl_proxy).
+         And it looks like the queue for that surface is getting set earlier on
+         in the function anyway.
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/621#note_184582
+
+2019-06-30 13:10:50 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play.c:
+         gst-play: Handle "space" key event correctly on Windows
+         The key name string given by GetKeyNameText() can have uppercase letter.
+
+2019-06-28 07:22:17 +0200  Göran Jönsson <goranjn@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: data-offset increase not set
+
+2019-06-27 08:04:07 +0200  Göran Jönsson <goranjn@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtpsconnection: Fix number of n_vectors
+         Body_offset mean that so much data have been written.
+         Without this patch n_vectors somtimes  becomes one more than it should
+         and then there will be an vector that have a random size causing
+         writev_bytes to cause a "Bad address" error.
+
+2019-06-26 17:05:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: Add compile-time assert for ColorimetryInfo enum
+         A comment is not sufficient because this will break when
+         cherry-picking or backporting commits.
+
+2019-06-26 03:39:54 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         audiodecoder: Fix leak on failed audio gaps
+         If we fail to process the gap event we need to unref the event or
+         we end up with a leak.
+
+2019-06-24 09:44:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: fix compiler warning due to c99-ism
+
+2019-06-23 11:34:49 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Keep track of cached EGLImage texture format
+         This patch fixes the following critical warning:
+         CRITICAL **: 11:33:32.843: Unknown GL format 0x0 provided
+         It would happen during the setup of a second pipeline involving the DMABuf
+         uploader, typically with a v4l2src element. The warning was raised because the
+         uploader had a cached EGLImage already filled but the formats were not
+         synchronized accordingly.
+
+2018-11-19 17:19:33 +0100  Marco Felsch <m.felsch@pengutronix.de>
+
+       * gst-libs/gst/video/video-info.c:
+         video-info: parse field-order for all interleaved formats
+         The "field-order" is related for all interlace_mode modes except the
+         "progressive" mode. So instead of or'ing each mode we can use the
+         already supported GST_VIDEO_INFO_IS_INTERLACED macro.
+
+2019-06-13 13:07:06 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglformat.h:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glimagesink: add support for P010 variants
+         This makes a pipeline below works:
+         little endian:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10LE ! glimagesink
+         big endian:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10BE ! glimagesink
+
+2019-06-18 16:14:33 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: rename the NV12/NV12 shader to semi planar
+         This shader can be used for other semi planar formats, e.g. P010_10LE
+
+2019-06-17 16:46:21 -0700  Song Bing <bing.song@nxp.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: Set ts-offset to text sink.
+         Find right text sink to set the ts-offset.
+
+2019-06-05 09:26:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglformat.h:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glimagesink: add support for BGR10A2_LE / RGB10A2_LE
+         This makes a pipeline below work:
+         gst-launch-1.0 videotestsrc ! video/x-raw,format={BGR10A2_LE, \
+         RGB10A2_LE} ! glimagesink
+
+2019-06-14 14:53:56 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglformat.c:
+         glformat: removde dead break after return
+
+2019-06-17 21:57:33 -0400  Roman Sivriver <roman@rsiv.net>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-and: Fix buffer overflow detected by asan
+         gst_meta_api_type_register() assumes that the last tags element is null, but it wasn't
+         ==17422==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7f4e2a67c998 at pc 0x7f4e2a0c92ac bp 0x7ffcc41f80b0 sp 0x7ffcc41f80a0
+         READ of size 8 at 0x7f4e2a67c998 thread T0
+         #0 0x7f4e2a0c92ab in gst_meta_api_type_register ../subprojects/gstreamer/gst/gstmeta.c:94
+         #1 0x7f4e2a5582c3 in gst_video_afd_meta_api_get_type ../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1146
+         #2 0x404c7c in invoke_get_type (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x404c7c)
+         #3 0x406b5c in dump_irepository (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x406b5c)
+         #4 0x407089 in main (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x407089)
+         #5 0x7f4e295b4b6a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26b6a)
+         #6 0x404479 in _start (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x404479)
+         0x7f4e2a67c998 is located 40 bytes to the left of global variable 'tags' defined in '../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1232:25' (0x7f4e2a67c9c0) of size 24
+         0x7f4e2a67c998 is located 0 bytes to the right of global variable 'tags' defined in '../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1141:25' (0x7f4e2a67c980) of size 24
+         SUMMARY: AddressSanitizer: global-buffer-overflow ../subprojects/gstreamer/gst/gstmeta.c:94 in gst_meta_api_type_register
+
+2018-10-15 22:35:09 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/pbutils.c:
+         tests: pbutils: Add test parsing H265 profiles
+
+2018-10-15 21:16:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Add parsing H265 range extensions profiles
+         Add support all h265 profiles defined by ITU-T H.264 (02/2018) revision
+
+2019-06-15 14:33:32 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: Fix typo in documentation
+
+2019-06-15 10:41:29 +0900  Wonchul Lee <chul0812@gmail.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Fix typo in documentation
+
+2017-10-10 15:45:14 +0200  Håvard Graff <havard.graff@gmail.com>
+
+       * pkgconfig/meson.build:
+         meson.build: use join_paths() on prefix
+         So that "/" are correct on Windows.
+
+2019-05-29 13:24:04 +0300  Adrian Negreanu <adrian.negreanu@nxp.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontext_egl: check if eglChooseConfig has a matching config
+         The specs recommends to also check the num_config parameter.
+
+2019-06-14 02:32:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Copy frames as-is when possible
+         The blend functions for alpha formats need to do more work than just
+         doing a memcpy, so we can do a memcpy when we know that a blend is not
+         actually needed.
+         1080p AYUV ! compositor background=transparent ! fakesink - 56% faster
+         Specifically, when we don't draw the background and the first pad we
+         draw completely covers the output frame, we can just copy it as-is.
+         The rest of the pads (if any) will get composited on top normally.
+
+2019-06-13 10:36:05 +0200  Stian Selnes <stian@pexip.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * tests/check/libs/rtpbasedepayload.c:
+         rtpbasedepayload: Add max-reorder property
+         Add max-reorder property to make the old hard coded reordering limit of
+         100 configurable. It's particularly useful in some scenarios to set
+         max-reorder=0 to disable the behavior that the depayloader will drop
+         packets.
+         Note that although the default value is 100, the default limit has
+         increased with one because of the changed if-test. This was done to
+         allow the max-reorder value to be more intuitive. See tests.
+
+2019-06-13 20:30:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Sprinkle some const in prototypes
+         These helper functions don't edit the rectangles passed in.
+
+2019-05-26 17:47:20 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Skip background if transparent and obscured
+         If the background is transparent and obscured by a pad that may or may
+         not have alpha, we can still skip drawing it entirely
+         AYUV 1080p ! compositor background=transparent ! fakesink - 75% faster
+
+2019-05-26 17:30:12 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Skip the background when not visible
+         We don't need to waste time drawing the background when one of the
+         pads completely covers the output and there's no alpha on the pad or
+         in the video format. Speedups:
+         I420 1080p ! compositor ! fakesink - 72% faster
+         I420 1080p ! compositor background=black ! fakesink - 45% faster
+
+2019-05-26 18:28:18 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/blend.c:
+         compositor: Don't log per-frame under GST_INFO
+
+2019-05-26 17:29:23 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Factor-out rectangle-obscuring check
+         We're going to use this for checking if one of the pads obscures the
+         background.
+
+2019-05-26 15:23:25 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+         compositor: Add some comments, remove outdated ones
+
+2019-05-26 15:23:06 +0200  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Remove unused function argument
+
+2019-06-05 18:23:16 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/pipelines/gl-launch-lines.c:
+         tests/gl-launch-lines: gltestsrc works on gles2/opengl3 now
+         There's no need to feature gate the gltestsrc pipelines anymore
+
+2019-06-05 18:17:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: perform _get_highest_precision on the GL thread
+         gst_gl_shader_string_get_highest_precision needs to make an OpenGL call
+         so execution outside the OpenGL thread and context results in undefined
+         behaviour.
+
+2019-06-05 18:06:57 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglmosaic.h:
+       * tests/check/pipelines/gl-launch-lines.c:
+         glmosaic: port to opengl3/gles2
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/543
+
+2019-06-13 15:36:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+         glcontext: add a couple of preconditions of invalid usage
+
+2019-06-12 17:20:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+         gl: detect possible GL version prefix
+         Instead of checking if the requested GL API is GLES2 (because ANY can
+         be set) the string is matched with the GLES2 prefix, and if so, then
+         the string is offset.
+
+2018-10-16 16:56:26 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * tests/check/meson.build:
+         meson: add rtpmeta-tests
+
+2019-06-12 14:32:03 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: don't use GINT_TO_POINTER with GType
+         GType can (and will) be 64bit. GINT_TO_POINTER is not.
+         This will result in the api-type checked for being a different one than
+         it actually is...
+
+2019-06-12 14:31:09 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * tests/check/libs/rtpbasedepayload.c:
+         rtpbasedepayload: don't consider existing GstRTPSourceMeta
+         The meta should always be generated based on what is present in the
+         rtp-header.
+
+2019-06-12 12:32:33 +0000  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtppayloads.c:
+         gstrtppayloads: add vp8/vp9/opus encoding-name
+         Adding these encoding names allows easy lookup of the caps based on the
+         encoding-name.
+
+2019-06-12 04:45:09 +0900  Eike Hein <hein@kde.org>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Start CSeq at 1
+         RFC 7826 recommends (but does not require) starting at 0,
+         but at least one known server implementation fails to copy
+         request sequence numbers <1 into responses due to an
+         incorrect null check.
+         The server known to exhibit this behavior is the Parrot
+         Streaming Server, serving video from their UAV devices.
+         A fix has been submitted upstream as well:
+         https://github.com/Parrot-Developers/librtsp/pull/2
+         The Parrot developers are known to have tested with LibVLC.
+         In WireShark debugging, LibVLC appears to start with a CSeq
+         of 2, which is likely why this bug went unnoticed.
+         This reverts 487595a7d6e2d, which set this to 0 citing the
+         RFC. The switch to 0 was thus a recent one; it's therefore
+         possible server implementors relied on the previous
+         GStreamer client behavior in their tests as well.
+         Fixes #624.
+
+2019-06-03 15:51:02 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+         viv-fb: fix build break for GST_GL_API
+         Need include config.h in gstglwindow_viv_fb_egl.c
+
+2019-06-07 22:29:10 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Plug some leaks in the cache loading path
+
+2019-06-08 02:57:37 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/gstglheaders.c:
+         gl/tests: fix shader creation tests part 2
+         Continuation of 4fd7a2c783e96e5ebec513f8fd178ba34b2a527f
+         We check the availability of the high precision floats in GLSL shaders
+         which involves an OpenGL call and thus is required to be executed on the
+         OpenGL thread.
+         The tests were not respecting that and could fail on more strict
+         drivers.
+         Tests update for 675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590
+
+2019-06-07 20:51:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/gstglheaders.c:
+       * tests/check/libs/gstglslstage.c:
+         gl/tests: fix shader creation tests
+         We check the availability of the high precision floats in GLSL shaders
+         which involves an OpenGL call and thus is required to be executed on the
+         OpenGL thread.
+         The tests were not respecting that and could fail on more strict
+         drivers.
+         Tests update for 675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590
+
+2019-06-05 22:25:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind: suppress incorrect conditional error in orc backup code
+
+2019-06-05 22:20:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: unref "next" variant when parsing from variant
+
+2019-06-05 22:10:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/audiorate.c:
+         valgrind: free buffer list in audiorate test
+
+2019-06-05 22:06:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind: suppress conditional jump or move error
+         valgrind gets confused with the following piece of code:
+         var37.i = ORC_CLAMP_SL((orc_int64)var33.i + (orc_int64)var34.i);
+         Where all variables are orc_int32
+
+2019-06-05 13:25:34 +0100  Fernando Herrrera <fernando.herrera@oxsight.co.uk>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         wayland: set the event queue also for the xdg_wm_base object
+
+2019-06-04 09:01:47 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/allocators/gstdmabuf.h:
+       * gst-libs/gst/allocators/gstfdmemory.h:
+       * gst-libs/gst/app/gstappsink.h:
+       * gst-libs/gst/app/gstappsrc.h:
+       * gst-libs/gst/audio/audio-info.h:
+       * gst-libs/gst/audio/gstaudiobasesink.h:
+       * gst-libs/gst/audio/gstaudiobasesrc.h:
+       * gst-libs/gst/audio/gstaudiocdsrc.h:
+       * gst-libs/gst/audio/gstaudioclock.h:
+       * gst-libs/gst/audio/gstaudiodecoder.h:
+       * gst-libs/gst/audio/gstaudioencoder.h:
+       * gst-libs/gst/audio/gstaudiofilter.h:
+       * gst-libs/gst/audio/gstaudioringbuffer.h:
+       * gst-libs/gst/audio/gstaudiosink.h:
+       * gst-libs/gst/audio/gstaudiosrc.h:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+       * gst-libs/gst/gl/gstgl_fwd.h:
+       * gst-libs/gst/gl/gstglframebuffer.h:
+       * gst-libs/gst/pbutils/encoding-profile.h:
+       * gst-libs/gst/pbutils/encoding-target.h:
+       * gst-libs/gst/pbutils/gstdiscoverer.h:
+       * gst-libs/gst/pbutils/install-plugins.h:
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.h:
+       * gst-libs/gst/rtp/gstrtpbasepayload.h:
+       * gst-libs/gst/rtsp/gstrtspurl.h:
+       * gst-libs/gst/sdp/gstmikey.h:
+       * gst-libs/gst/sdp/gstsdpmessage.h:
+       * gst-libs/gst/tag/gsttagdemux.h:
+       * gst-libs/gst/tag/gsttagmux.h:
+       * gst-libs/gst/video/colorbalancechannel.h:
+       * gst-libs/gst/video/gstvideodecoder.h:
+       * gst-libs/gst/video/gstvideoencoder.h:
+       * gst-libs/gst/video/gstvideofilter.h:
+       * gst-libs/gst/video/gstvideopool.h:
+       * gst-libs/gst/video/gstvideosink.h:
+       * gst-libs/gst/video/gstvideoutils.h:
+       * gst-libs/gst/video/video-info.h:
+       * gst-libs/gst/video/video-overlay-composition.h:
+         Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
+         Since we started depending on GLib 2.44, we can be sure this macro is
+         defined (it will be a no-op on compilers that don't support it). For
+         plugins we should just start using `G_DECLARE_FINAL_TYPE` which means we
+         no longer need the macro there, but for most types in base/gst-libs we
+         don't want to break ABI, which means it's better to just keep it like it
+         is (and use the `#ifdef` instead).
+
+2018-08-31 18:33:43 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/alsa/Makefile.am:
+       * ext/alsa/gstalsadeviceprobe.c:
+       * ext/alsa/gstalsadeviceprobe.h:
+       * ext/alsa/gstalsadeviceprovider.c:
+       * ext/alsa/gstalsadeviceprovider.h:
+       * ext/alsa/gstalsaplugin.c:
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+       * ext/alsa/meson.build:
+         alsa: Implement a DeviceProvider
+         Removing gstalsadeviceprobe.[ch] as it was a relique from the 0.10
+         century.
+         This doesn't implement device monitoring but only probing, monitoring
+         should be implemented in its own commit.
+
+2019-06-04 15:04:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         docs: override rtsp library project name
+         .. to avoid conflicts with the rtsp plugin
+
+2019-06-04 14:58:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         docs: override rtp library project name
+         .. to avoid conflicts with the rtp plugin
+
+2019-05-31 23:02:53 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * configure.ac:
+       * meson.build:
+         meson: Bump minimal GLib version to 2.44
+         This means we can use some newer features and get rid of some boilerplate code using the G_DECLARE_* macros.
+         As discussed on IRC, 2.44 is old enough by now to start depending on it.
+
+2019-05-30 18:43:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         compositor: remove invalid test
+         With https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/159,
+         a single flush start on an aggregator sinkpad will start the flushing
+         process if the aggregator isn't already flushing.
+         The behaviour that this test was checking for is thus no longer correct
+
+2019-05-28 17:04:51 +0200  Daniel Klamt <d.klamt@pengutronix.de>
+
+       * gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
+         Added GI annotation for gstvideoaffinetransformationmeta apply_matrix
+         The problem is that Gobject Introspections does not understand the const
+         gfloat matrix[16] as an matrix but as an array of gfloasts but as just
+         one gfloat.
+         To fix this i added the annotation to the parameter
+         descriptions.
+
+2019-06-01 01:00:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/meson.build:
+         docs: unprefix subproject paths
+         special case for app, renamed to applib to not conflict
+         with the plugin
+
+2019-05-30 01:12:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gsturisourcebin.c:
+       * gst/rawparse/gstrawbaseparse.c:
+         doc: remove xml from comments
+
+2019-05-29 14:41:10 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+         overlaycompositor: Show the full example instead of a stripped down version
+
+2019-05-29 11:14:05 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: update plugin docs cache
+
+2019-05-13 21:11:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/overlaycomposition/meson.build:
+         doc: Add gstoverlaycomposition to the plugins list
+
+2019-05-25 19:43:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         Update plugin cache
+
+2019-05-25 17:26:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglfiltershader.c:
+         gstglfiltershader: don't try to link to "version" in doc
+
+2019-05-25 16:54:39 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/pango/gstclockoverlay.c:
+       * ext/pango/gsttimeoverlay.c:
+       * gst/audiomixer/gstaudiomixer.c:
+       * gst/gio/gstgiostreamsink.c:
+       * gst/playback/gstdecodebin3.c:
+       * gst/rawparse/gstrawaudioparse.c:
+       * gst/rawparse/gstrawvideoparse.c:
+       * gst/tcp/gstmultisocketsink.c:
+         doc: fix element section documentations
+         Element sections were not rendered anymore after the hotdoc
+         port, fixing this revealed a few incorrect links.
+
+2019-05-24 15:54:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositororc.orc:
+         compositor: Replace shift and conv opcodes by convh in BGRA SOURCE operator
+         Potentially speeds up processing a bit.
+
+2019-05-24 15:53:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositororc.orc:
+         compositor: Remove unneeded left shift for ARGB/AYUV SOURCE operator
+         The alpha value is already in the lower 8 bits from the beginning in
+         this case.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/610
+
+2019-05-24 15:22:58 +0200  Arun Raghavan <arun@arunraghavan.net>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: Deal with NULL colorimetry while converting from string
+         This came up in the case where v4l2 sets caps with colorimetry=NULL, and
+         then tries to parse back the colorimetry, causing a crash in
+         gst_video_get_colorimetry() because of g_str_equal(). We fix this by
+         making sure the only caller of the function never calls it with a null
+         colorimetry string.
+
+2019-05-24 16:35:08 +0200  Arun Raghavan <arun@arunraghavan.net>
+
+       * gst-libs/gst/video/video-color.c:
+         video-color: Fix unknown colorimetry checking
+         Also drop some deadcode #defines.
+
+2019-05-05 21:02:46 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/video.c:
+         tests: video: Enable PQ and HLG transfer en/decode tests
+
+2019-05-05 21:02:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+         video-color: Add ARIB STD-B67 transfer chracteristic function
+         It's known also as Rec. ITU-R BT.2100-1 hybrid log-gamma (HLG) used for
+         both SDR and HDR rendering.
+
+2019-05-05 19:22:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+         video-color: Add SMPTE ST 2084 support and BT 2100 colorimetry
+         SMPTE ST 2084 transfer characteristics (a.k.a ITU-R BT.2100-1 perceptual quantization, PQ)
+         is used for various HDR standard.
+         With ST 2084, we can represent BT 2100 (Rec. 2100). BT 2100 defines
+         various aspect of HDR such as resolution, transfer functions, matrix, primaries
+         and etc. It uses BT2020 color space (primaries and matrix) with PQ or HLG
+         transfer functions.
+
+2019-05-05 19:08:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+         video-color: Define bt2020-10 transfer characteristics for clarity
+         bt707, bt2020-10, and bt2020-12 transfer characteristics are functionally
+         identical but have their own unique values by specification.
+
+2019-05-16 08:53:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/playback/gsturidecodebin.c:
+       * gst/playback/gsturisourcebin.c:
+         uridecodebin, urisourcebin: fix buffering for ssh:// URIs
+         Protocols that are in the stream_uris list should always
+         be streams, no matter what they respond to the scheduling
+         query. The flag in the scheduling query is just another
+         way to declare something that needs buffering without the
+         whitelist, the absence of the flag shouldn't make us ignore
+         our known protocol list.
+         Also set is_stream always to a boolean and not a mask value.
+
+2019-05-20 11:14:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * docs/libs/gl/index.md:
+       * docs/libs/gl/sitemap.txt:
+       * docs/meson.build:
+       * ext/gl/gstglalpha.h:
+       * ext/gl/gstglcolorbalance.h:
+       * ext/gl/gstgldownloadelement.h:
+       * ext/gl/gstgloverlay.h:
+       * ext/gl/gstgluploadelement.h:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/gl/egl/gstegl.c:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+       * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.h:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.h:
+       * gst-libs/gst/gl/gstglapi.c:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglbasememory.h:
+       * gst-libs/gst/gl/gstglbuffer.h:
+       * gst-libs/gst/gl/gstglbufferpool.h:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstgldebug.c:
+       * gst-libs/gst/gl/gstgldebug.h:
+       * gst-libs/gst/gl/gstgldisplay.h:
+       * gst-libs/gst/gl/gstglfeature.c:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglframebuffer.h:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+       * gst-libs/gst/gl/gstglmemorypbo.h:
+       * gst-libs/gst/gl/gstgloverlaycompositor.h:
+       * gst-libs/gst/gl/gstglquery.h:
+       * gst-libs/gst/gl/gstglrenderbuffer.h:
+       * gst-libs/gst/gl/gstglshader.c:
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/gl/gstglslstage.h:
+       * gst-libs/gst/gl/gstglupload.h:
+       * gst-libs/gst/gl/gstglviewconvert.h:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+         gl/docs: add to new docs system
+
+2018-02-26 14:25:40 +0100  Georg Lippitsch <glippitsch@toolsonair.com>
+
+       * ext/alsa/gstalsasrc.c:
+         alsasrc: Don't use driver timestamp if it's zero
+         Some alsa interfaces don't provide timestamps and thus always set the timestamp to zero.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/453
+
+2019-05-17 16:35:40 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+         audiotestsrc: Max audio frequency is half the rate, not 1/4
+         https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem
+
+2019-05-17 12:26:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/meson.build:
+         docs: don't build plugins doc cache by default
+         https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
+
+2019-05-13 22:53:24 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         docs: Update plugins documentation cache
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
+
+2019-05-14 01:56:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         gstaudioaggregator: expose output-buffer-duration-fraction
+         The code for this is mostly lifted from audiobuffersplit, it
+         allows use cases such as keeping the buffers output by compositor
+         on one branch and audiomixer on another perfectly aligned, by
+         requiring the compositor to output a n/d frame rate, and setting
+         output-buffer-duration to d/n on the audiomixer.
+         The old output-buffer-duration property now simply maps to its
+         fractional counterpart, the last set property wins.
+
+2019-05-14 13:34:13 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gloverlaycompositor: fix crash if buffer doesn't have video meta
+         Fix #501
+
+2019-05-12 18:33:32 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+         meson: Don't try to find gio-unix on Windows
+
+2019-04-23 17:51:25 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/gstvideoutils.c:
+         video:doc: Remove duplicated gstvideoutils SECTION
+
+2018-11-11 19:03:33 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+         Mark some properties as DOC_SHOW_DEFAULT
+
+2018-09-21 13:54:39 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/gl/gstglsinkbin.c:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+       * gst-libs/gst/gl/gstglquery.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+       * gst-libs/gst/tag/tags.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/video-converter.c:
+       * gst-libs/gst/video/video-converter.h:
+       * gst-libs/gst/video/video-info.h:
+       * gst-libs/gst/video/video-scaler.c:
+       * gst-libs/gst/video/video-scaler.h:
+       * gst-libs/gst/video/videooverlay.c:
+       * gst/playback/gstdecodebin2.c:
+       * gst/playback/gstdecodebin3.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstplayback.c:
+       * gst/playback/gstplaybin2.c:
+       * gst/playback/gstplaybin3.c:
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gsturidecodebin.c:
+       * gst/tcp/gstmultifdsink.c:
+       * gst/tcp/gstmultisocketsink.c:
+         doc: Fix some gtk-doc comments
+
+2018-10-22 08:17:24 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/gst_api_version.in:
+       * docs/index.md:
+       * docs/libs/allocators/index.md:
+       * docs/libs/allocators/sitemap.txt:
+       * docs/libs/app/index.md:
+       * docs/libs/app/sitemap.txt:
+       * docs/libs/audio/index.md:
+       * docs/libs/audio/sitemap.txt:
+       * docs/libs/ext/sitemap.txt:
+       * docs/libs/fft/index.md:
+       * docs/libs/fft/sitemap.txt:
+       * docs/libs/pbutils/index.md:
+       * docs/libs/pbutils/sitemap.txt:
+       * docs/libs/riff/index.md:
+       * docs/libs/riff/sitemap.txt:
+       * docs/libs/rtp/index.md:
+       * docs/libs/rtp/sitemap.txt:
+       * docs/libs/rtsp/index.md:
+       * docs/libs/rtsp/sitemap.txt:
+       * docs/libs/sdp/index.md:
+       * docs/libs/sdp/sitemap.txt:
+       * docs/libs/tag/index.md:
+       * docs/libs/tag/sitemap.txt:
+       * docs/libs/video/index.md:
+       * docs/libs/video/sitemap.txt:
+       * docs/meson.build:
+       * docs/plugins/all_index.md:
+       * docs/plugins/gst_plugins_cache.json:
+       * docs/plugins/index.md:
+       * docs/plugins/sitemap.txt:
+       * docs/sitemap.txt:
+       * docs/version.in:
+       * ext/alsa/meson.build:
+       * ext/cdparanoia/meson.build:
+       * ext/gl/meson.build:
+       * ext/libvisual/meson.build:
+       * ext/ogg/meson.build:
+       * ext/opus/meson.build:
+       * ext/pango/meson.build:
+       * ext/theora/gsttheoraenc.c:
+       * ext/theora/meson.build:
+       * ext/vorbis/meson.build:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst/adder/meson.build:
+       * gst/app/meson.build:
+       * gst/audioconvert/meson.build:
+       * gst/audiomixer/meson.build:
+       * gst/audiorate/meson.build:
+       * gst/audioresample/meson.build:
+       * gst/audiotestsrc/meson.build:
+       * gst/compositor/meson.build:
+       * gst/encoding/meson.build:
+       * gst/gio/meson.build:
+       * gst/pbtypes/meson.build:
+       * gst/playback/meson.build:
+       * gst/rawparse/meson.build:
+       * gst/subparse/meson.build:
+       * gst/tcp/meson.build:
+       * gst/typefind/meson.build:
+       * gst/videoconvert/meson.build:
+       * gst/videorate/meson.build:
+       * gst/videoscale/meson.build:
+       * gst/videotestsrc/meson.build:
+       * gst/volume/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * sys/ximage/meson.build:
+       * sys/xvimage/meson.build:
+         doc: Port to hotdoc
+
+2018-09-14 09:33:35 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * Makefile.am:
+       * configure.ac:
+       * docs/Makefile.am:
+       * docs/libs/.gitignore:
+       * docs/libs/Makefile.am:
+       * docs/libs/compiling.sgml:
+       * docs/libs/gst-plugins-base-libs-docs.sgml:
+       * docs/libs/gst-plugins-base-libs-overrides.txt:
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * docs/libs/gst-plugins-base-libs.types:
+       * docs/libs/meson.build:
+       * docs/meson.build:
+       * docs/plugins/.gitignore:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-base-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-base-plugins-overrides.txt:
+       * docs/plugins/gst-plugins-base-plugins-sections.txt:
+       * docs/plugins/gst-plugins-base-plugins.args:
+       * docs/plugins/gst-plugins-base-plugins.hierarchy:
+       * docs/plugins/gst-plugins-base-plugins.interfaces:
+       * docs/plugins/gst-plugins-base-plugins.prerequisites:
+       * docs/plugins/gst-plugins-base-plugins.signals:
+       * docs/plugins/gst-plugins-base-plugins.types:
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-ivorbisdec.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+       * docs/plugins/scanobj-build.stamp:
+       * docs/version.entities.in:
+         doc: Remove gtk-doc support
+
+2018-10-22 11:44:37 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+         meson: Add variables for gir files
+         And flatten list of sources for dependencies
+
+2018-10-22 11:37:44 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/gstvideoutils.c:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+       * gst/playback/gstplayback.c:
+         docs: Add some missing sections documentation
+
+2018-10-22 11:37:41 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+         docs: Enhance GstEncodingProfile and GstEncodingTarget doc
+
+2019-05-07 18:36:01 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglshaderstrings.c:
+         glshader: fix default external-oes shaders
+         In glsl, #extension directives need to before other non-preprocesser
+         directives.  We were placing the precision qualifier before that.  Fix
+         by moving the #extension to the first line in the shader.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/601
+
+2019-05-06 13:23:22 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/subparse.c:
+         test: add subparse test for SRT subtitles with no newline at the end
+         Add a test to verify that SRT subtitles work even if the last chunk does
+         not have an empty line after it.
+
+2019-05-06 12:48:49 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/subparse/gstsubparse.c:
+       * tests/check/elements/subparse.c:
+         subparse: fix pushing WebVTT cue when last is not an empty line
+         If the last WebVTT cue does not have an empty line after it, or if it
+         does not end with a newline at all, it does not get pushed out and it
+         won't be displayed.
+         gst_sub_parse_sink_event() already handles the issue for other subtitle
+         formats, enable handling it for GST_SUB_PARSE_FORMAT_VTT too.
+         While at it also add a test for this case.
+
+2019-05-04 23:48:27 +0900  Seungha Yang <seungha.yang@navercorp.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:
+         video: Add RGB10A2_LE pixel format
+         Packed 10 bits per each R, G and B channel with MSB 2bits alpha channel.
+         This format is mapped to Windows' DXGI_FORMAT_R10G10B10A2_UNORM format which is
+         required for 10bits HDR rendering.
+         Note that this RGB10A2_LE format is R - B channel swapped version of BGR10A2_LE
+
+2019-05-03 14:31:03 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson_options.txt:
+         Missing "android" choice in gl_winsys
+
+2019-05-01 17:22:46 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/meson.build:
+         video: Generate GTypes for videotimecode enums
+
+2019-05-01 17:22:24 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Mark latest_daily_jame as allow-none in init\()
+
+2019-05-01 11:25:31 -0500  A. Wilcox <AWilcox@Wilcox-Tech.com>
+
+       * tests/check/libs/video.c:
+         video test: Keep BE test inline with LE test
+
+2019-04-30 17:21:38 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: add AFD/Bar support
+
+2019-05-01 15:44:44 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/video/video-frame.h:
+         video-frame: update docs
+         mention closed caption caps as valid caps for video buffer flags
+
+2019-04-12 12:09:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Add support HEIF file format finding
+         A HEIF compatiable file (i.e., mif1 brand) needs special concern
+         since 'moov' atom is not mandatory for the file although HEIF is
+         a variant of ISOBMFF
+         See http://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip
+
+2019-05-02 14:24:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Forward upstream HDR information to downstream
+         ... if subclass didn't update values. Note that the mastering-display-info
+         and content-light-level might be updated by user defined value (e.g., encoding option).
+
+2019-04-27 22:29:25 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Forward upstream HDR information to downstream
+         The HDR related information is not part of GstVideoInfo but should be passed
+         to downstream.
+
+2019-02-18 19:54:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/video.c:
+         tests: video: Add test for video-hdr
+
+2019-02-18 13:20:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+         video: Add new APIs for HDR information representation
+         Introduce HDR signalling methods
+         * GstVideoMasteringDisplayInfo: Representing display color volume info.
+         Defined by SMPTE ST 2086
+         * GstVideoContentLightLevel: Representing content light level specified in
+         CEA-861.3, Appendix A.
+         Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/400
+
+2019-04-29 11:25:02 +0200  Robert Rosengren <robertr@axis.com>
+
+       * ext/alsa/gstalsasrc.c:
+         alsasrc: driver timestamps only to be considered if system clock
+         The system clock check when considering to use driver timestamp
+         should not include sub-classes of system clock (such as the net clocks).
+
+2018-06-08 11:03:03 +0200  Danny Smith <dannys@axis.com>
+
+       * ext/alsa/gstalsasrc.c:
+       * ext/alsa/gstalsasrc.h:
+         alsasrc: added option for chosing timestamps
+         Added an option for chosing if driver or pipeline timestamps shall be
+         used.
+
+2019-04-26 09:44:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/tag/gstid3tag.c:
+         id3tag: Correctly validate the year from v1 tags before passing to GstDateTime
+         By using strtoul(), invalid values will get mapped to MAXULONG and we
+         would have to check errno. They won't get mapped to 0.
+         To solve this, use the signed g_ascii_strtoll(). This will map errors to
+         0 or G_MAXINT64 or G_MININT64, and the valid range for GstDateTime is >
+         0 and <= 9999 so we can directly check for this here.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/384
+
+2019-04-24 10:41:24 +0200  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl/wayland: Don't prefix wl_shell struct field
+         As part of commit 808e7127, we prefixed the `GstWlWindow`'s `shell`
+         field with wl_, to differentiate it from the other types of shells a
+         Wayland compositor might support. However, this is apparently a struct
+         that we expose to our users, so changing it means we have an API break.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/592
+
+2019-04-23 17:10:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Add compatibility define for DRM_FORMAT_NV24
+
+2019-04-23 15:05:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-channels.c:
+       * gst-libs/gst/audio/gstaudiodecoder.h:
+       * gst-libs/gst/audio/gstaudioencoder.h:
+       * gst-libs/gst/audio/gstaudioringbuffer.h:
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+       * gst-libs/gst/rtsp/gstrtspdefs.c:
+       * gst-libs/gst/rtsp/gstrtspdefs.h:
+       * gst-libs/gst/sdp/gstmikey.h:
+       * gst-libs/gst/video/gstvideodecoder.h:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideoencoder.h:
+       * gst-libs/gst/video/navigation.h:
+       * gst-libs/gst/video/video-format.h:
+       * gst-libs/gst/video/video-info.h:
+       * gst-libs/gst/video/video-resampler.h:
+       * gst-libs/gst/video/videooverlay.c:
+         libs: Fix various Since markers
+
+2019-04-23 14:52:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+         audioaggregator: Add Since: 1.14 markers to all public structs
+
+2019-04-23 14:42:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: Add Since: 1.16 marker
+
+2019-04-23 14:42:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Add Since: 1.16 markers to all public structs
+
+2019-04-23 14:31:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglshaderstrings.c:
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+         gl: Add various missing Since: 1.16 markers
+         And add some missing function documentation.
+
+2019-04-22 18:33:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: Add DID16 value for SMPTE 2016-3 AFD/Bar data
+
+2019-04-22 17:06:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+       * tests/check/libs/videoanc.c:
+         video-anc: Handle SD formats correctly
+         VANC is stored linearly in SD formats instead of separating the Y and YV
+         components from each other and having first all Y and then all UV
+         values.
+
+2019-03-27 12:30:00 +0100  Kristofer Bjorkstrom <kristofb@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+       * tests/check/libs/rtspconnection.c:
+         rtspconnection: add Content-Length limit
+         Add the possible to limit the Content-Length
+         Define an appropriate request size limit and reject requests exceeding
+         the limit (413 Request Entity Too Large)
+
+2019-04-19 10:24:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * README:
+       * RELEASE:
+       * configure.ac:
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+       * meson.build:
+         Back to development
+
+=== release 1.16.0 ===
+
+2019-04-19 00:19:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.16.0
+
+2019-04-19 00:19:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+         Update docs
+
+2019-04-19 00:19:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/zh_CN.po:
+         Update translations
+
+2019-01-23 12:50:40 +0100  Michael Tretter <m.tretter@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: prevent segfault when updating caps
+         When the glupload element renegotiates the caps, set_caps will reset the
+         method_impl to NULL, but the method will be kept. transform_caps tries
+         to use the method_impl to transform the caps, because a method is set,
+         but will segfault.
+
+=== release 1.15.90 ===
+
+2019-04-11 00:23:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.15.90
+
+2019-04-11 00:23:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+         Update docs
+
+2019-04-10 16:09:19 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: revert "add support for Bar and AFD meta-data"
+         This reverts commit 8759c368515464193b0b1e119667f64c214d2c49.
+         GstMeta may not be the appropriate vehicle for this information
+
+2019-04-10 15:08:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/sdp/gstmikey.h:
+         sdp: mikey: Add missing Since marker
+         Two new enums value where added without a since mark, adding it.
+         @GST_MIKEY_ENC_AES_GCM_128
+         @GST_MIKEY_SP_SRTP_AEAD_AUTH_TAG_LEN
+
+2019-04-10 08:45:53 +0200  Kristofer Bjorkstrom <kristofb@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: CSeq initial value set to 0
+         RFC 7826: "it is RECOMMENDED to start at 0.
+
+2019-04-02 10:01:47 +0200  Kristofer Bjorkstrom <kristofb@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: CSeq validation
+         Make rtspconnection a little more strict to RFC2326.
+         Make sure that CSeq is in every RTSP message and that CSeq is valid.
+         Also break the build_next loop if any parsing fails, By acting on
+         the builder->status code.
+
+2019-04-03 08:51:16 +0200  Ulf Olsson <ulfo@axis.com>
+
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/sdp/gstmikey.h:
+         mikey: Add support for GCM (RFC 7714)
+         The MIKEY details can be found in RFC 7714 section "14.3. MIKEY"
+
+2019-03-26 10:12:55 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-target.c:
+         encoding-target: Lower down some debugging
+         We do try to load target with 'random' string internally to load EncodingProfiles
+
+2019-03-25 19:11:54 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gsturidecodebin.c:
+         decodebin: Protect ->source with the object lock
+         As expected by the property getter.
+         Basically there are cases where we can be getting the source from
+         any thread and in another thread bring back the element from PAUSED
+         to READY, which leads to a critical warning (or worse).
+         The only place where we use `->source` outside the property getter is
+         the change_state function so the current way of setting/reading it
+         should be safe.
+
+2019-03-25 13:49:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.c:
+         video-info: explain in logs why colorimetry are rejected
+         It wasn't clear from the logs why some colorimetry format were rejected.
+
+2019-04-08 21:52:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         gstvideometa: fix annotation
+
+2019-04-03 18:52:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: don't set watermarks when download
+         downloadbuffer element doesn't handle the properties low-watermark and
+         high-watermark, those are handled by queue2.
+         Currently hi and low watermarks are set regardless queue2 or
+         downloadbuffer are used. Thus, when the later is set, a warning is
+         raised.
+         This patch sets the watermark properties first, if no download.
+
+2019-04-07 22:08:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+         video-anc: fix g-i complaints
+         video-anc.h:100: Error: GstVideo: identifier not found on the first line:
+         *  Active Format Description (AFD) support
+         ^
+         video-anc.h:207: Error: GstVideo: identifier not found on the first line:
+         *  Bar data support
+         ^
+         video-anc.h:228: Warning: GstVideo: "@top_bar_flag" parameter unexpected at this location:
+         * @top_bar_flag : flag indicating presence of top bar field
+         ^
+
+2019-04-07 13:29:15 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: add support for Bar and AFD meta-data
+
+2018-11-19 23:42:14 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         basepayload: Expose onvif-no-rate-control property
+         The ONVIF spec mandates that when Rate-Control=no, the RTP timestamps
+         match the original sampling times, as opposed to the intended playback
+         time.
+
+2018-11-19 23:40:14 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspdefs.c:
+       * gst-libs/gst/rtsp/gstrtspdefs.h:
+         rtspdefs: Add Onvif Rate-Control header
+
+2018-11-12 20:11:59 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspdefs.c:
+       * gst-libs/gst/rtsp/gstrtspdefs.h:
+         rtspdefs: Add Onvif Frames header
+
+2019-04-04 23:15:50 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/examples/gl/sdl/meson.build:
+         examples/gl/sdl: only build on glx/wgl systems
+         The code will not work anywhere else.
+         FIxes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/22
+
+2019-03-15 13:06:53 +0800  Haihao Xiang <haihao.xiang@intel.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:
+         video: add BGR10A2_LE pixel format
+         This pixel format is a packed 4:4:4 RGB with alpha channel (B-G-R-A),
+         R/G/B channel has 10 bits and alpha channel is the MSB 2 bits.
+
+2019-04-03 17:34:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         gstvideometa: do not emit criticals when adding timecode metas
+         This is inconsistent with other add_meta methods such as
+         gst_buffer_add_video_meta , which will return NULL without
+         logging when gst_video_info_set_format fails.
+         It is up to the caller to check the return value of the
+         function, and log if appropriate.
+
+2019-04-01 12:06:02 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * tests/check/libs/discoverer.c:
+         discoverer: set 30 second for long-running tests
+
+2019-04-01 11:10:21 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: async_timeout_cb: don't clean up timeout_source
+         discoverer_collect() already does this. So, the second
+         unref triggers an assert.
+
+2019-04-01 09:53:19 -0400  Aaron Boxer <aaron.boxer@collabora.com>
+
+       * tests/check/libs/discoverer.c:
+         discoverer: fix a race bug in disco test
+
+2019-04-01 22:34:28 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+       * tests/check/libs/rtpmeta.c:
+         tests: rtpmeta: Avoid C99 declaration in 'for' loop
+         Avoid C99 declaration in for loop
+
+2019-03-31 17:39:07 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play-1.0.1:
+         tools: gst-play: Update man page
+         Add some missing option descriptions including the newly introduced one by
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/185
+
+2019-03-29 13:17:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tools/gst-play.c:
+         gst-play: Add wait-on-eos option for image file playback
+         Since gst-play is stopping playback on EOS message, image file playback
+         is almost impossible until now. Not only for image file, this option
+         seems to helpful if an user wants to see the last frame.
+
+2019-03-29 12:42:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/gl/gstgluploadelement.c:
+         gluploadelement: Fix caps leak
+         gst_event_new_caps() does not take ownership of the caps
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/885
+
+2019-03-25 15:05:48 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video: fix unpack_Y410
+         It should handle data starting from x
+
+2019-03-25 14:07:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/video/video-format.c:
+         video: fix unpack_Y210
+         It should handle data starting from x and width may be an odd
+
+2018-12-11 11:37:36 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.c:
+       * tests/check/libs/video.c:
+         video-info: check if alternate caps has the feature as well
+         It's invalid to have a 'interlace-mode=alternate' without the Interlaced caps
+         feature as well.
+         Modify gst_video_info_from_caps() to reject such case so we can easily
+         spot them in bugged elements.
+
+2018-11-22 12:13:06 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-info.c:
+       * tests/check/libs/video.c:
+         video-info: handle 'field-order' in alternate mode
+         The alternate interlace mode may also use the 'field-order' field in caps.
+
+2019-03-24 20:45:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin2: fix pad leak and problem with GWeakRef code
+         Follow-up to !160 and commit 6a99ad2c.
+         Firstly, don't leak the sinkpad. g_weak_ref_get() returns
+         a strong reference (unless it returns NULL), so that must
+         be unrefed, as detected by the playbin-complex and
+         discoverer unit tests.
+         Next, if we do that we get invalid memory access when the
+         final pad ref is dropped a few lines below after the
+         request pad is released. The reason for this is that
+         GWeakRefs are not movable once they're in use, because
+         their address will be stored inside the object. In this
+         case the GWeakRef was embedded inside the GstDemuxerPad
+         struct which in turn was embedded inside the GArray data
+         section, and when the GArray gets resized, the structs
+         move. Just KISS and use a list with individual allocations
+         for each DemuxerPad instead.
+
+2019-03-23 12:27:24 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/video.c:
+         tests: video: speed up test_video_color_convert
+         This test takes a long time. It tests ca. 8900 conversion
+         combinations, and then it also runs each conversion for
+         at least 100ms in order to come up with some kind of benchmark.
+         Remove the benchmarking from the unit test, we have a separate
+         benchmarking tool for that now.
+         Also split the conversions into groups and run those as
+         separate checks, which allows better parallelisation at
+         the runner level (normal runs and when using valgrind).
+
+2019-03-23 12:25:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/video.c:
+         tests: video: reduce debug log spam
+         This shouldn't be logged at info level.
+
+2019-03-23 12:24:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/icles/.gitignore:
+       * tests/icles/Makefile.am:
+       * tests/icles/benchmark-video-conversion.c:
+       * tests/icles/meson.build:
+         tests: icles: add video conversion benchmark
+         Split out the benchmarking code from the unit test
+         and make it a bit more useful.
+
+2019-03-23 23:46:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstegl.h:
+       * gst-libs/gst/gl/gstglmemory.c:
+         gl: suppress some g-i warnings
+         gst_gl_memory_setup_buffer() was marked as introspectable=0
+         anyway, so might just as well mark it as '(skip)' and suppress
+         the warning. Reason is the (element-type gpointer) on wrapped_data.
+         gstglmemory.c:1426: Warning: GstGL: gst_gl_memory_setup_buffer: argument wrapped_data: Missing (element-type) annotation
+         gstglmemory.c:1426: Warning: GstGL: gst_gl_memory_setup_buffer: argument wrapped_data: Missing (element-type) annotation
+         egl/gstegl.h:40: Warning: GstGL: symbol='EGL_EGLEXT_PROTOTYPES': Unknown namespace for symbol 'EGL_EGLEXT_PROTOTYPES'
+
+2019-03-23 21:51:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: gl: don't pass generated xdg shell header and source file to g-i
+         They're private, g-i doesn't need to know about them.
+         Avoids lots of spammy g-i warnings.
+
+2019-03-23 20:08:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiometa.c:
+         audiometa: fix g-i warning
+         gstaudiometa.c:382: Warning: GstAudio: gst_buffer_add_audio_meta: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
+
+2019-03-23 18:47:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         g-i: pass --quiet to g-ir-scanner
+         This suppresses the annoying 'g-ir-scanner: link: cc ..' output
+         that we get even if everything works just fine.
+         We still get g-ir-scanner warnings and compiler warnings if
+         we pass this option.
+
+2019-03-22 10:28:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Remove unneeded bytes_written >= 0 conditions
+         It's unsigned and always >= 0.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/569
+
+2019-03-21 12:35:06 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/video/video-orc-dist.c:
+       * gst-libs/gst/video/video-orc-dist.h:
+         video: update orc generated files for new functions
+
+2019-03-20 15:52:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcolorconvert.h:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglmemory.h:
+         glimagesink: add support for VUYA format
+
+2019-03-15 13:13:52 +0800  Haihao Xiang <haihao.xiang@intel.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-orc.orc:
+         video: add VUYA pixel format
+         AYUV in gstreamer was defined in A-Y-U-V order in memory[1], however
+         Microsoft defined another AYUV format in V-U-Y-A order in memory[2]. Add
+         VUYA format for the latter in order to distinguish the two formats
+         [1] https://gstreamer.freedesktop.org/documentation/design/mediatype-video-raw.html#formats
+         [2] https://docs.microsoft.com/en-us/windows/desktop/medfound/recommended-8-bit-yuv-formats-for-video-rendering#ayuv)
+
+2019-03-21 17:50:34 +0100  Josep Torra <jtorra@oblong.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+         rtcpbuffer: test for len instead of type
+         The function rtcp_packet_min_length() returns a length for each known type
+         and -1 for unknown types. This change fixes the test accordingly and silences
+         the following warning.
+         gstrtcpbuffer.c:567:12: error: comparison of constant -1 with expression of type 'GstRTCPType' is always false
+         [-Werror,-Wtautological-constant-out-of-range-compare]
+         if (type == -1)
+
+2019-03-21 11:36:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/pbutils/install-plugins.c:
+       * gst-libs/gst/pbutils/pbutils.c:
+       * gst-libs/gst/rtp/README:
+       * tests/examples/dynamic/sprinkle2.c:
+       * tests/examples/dynamic/sprinkle3.c:
+         Remove some left over 0.10 references
+
+2019-03-21 17:21:30 +0100  Josep Torra <jtorra@oblong.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: add casts to avoid warnings in osx builds
+         Fix the following warnings by adding casts.
+         gstdiscoverer.c:1801:17: error: format specifies type 'unsigned long' but the argument has type 'off_t' (aka 'long long') [-Werror,-Wformat]
+         location, file_status.st_size, file_status.st_mtime);
+         ^~~~~~~~~~~~~~~~~~~
+         gstdiscoverer.c:1801:38: error: format specifies type 'long long' but the argument has type '__darwin_time_t' (aka 'long') [-Werror,-Wformat]
+         location, file_status.st_size, file_status.st_mtime);
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/570
+
+2016-08-30 13:48:00 +0200  Stian Selnes <stian@pexip.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * tests/check/libs/rtpbasedepayload.c:
+         rtpbasedepayload: Drop gap events before first buffer
+         Before a gap event is pushed downstream a segment event must be pushed
+         since the gap event can cause packet concealment downstream and hence
+         data flow. Since concealment before receiving any data packets usually
+         doesn't make any sense, the gap event is not sent downstream.
+         Alternatively one could generate a default caps and segment event, but
+         no need to complicate things until it's proven necessary.
+         https://bugzilla.gnome.org/show_bug.cgi?id=773104
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/301
+
+2019-03-20 18:44:12 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         macOS gst-plugins-base/gl/cocoa: UI API called on a background thread: -[NSView removeFromSuperview] The problem inside gstglwindow_cocoa.m, all UI operations must be called from main UI thread.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/568
+         Fixes #568
+
+2019-03-15 18:21:37 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstdecodebin2.c:
+         decodebin2: Make sure to remove probes when free GstDecodeGroup
+         Nothing guarantees that when we free a DecodeGroup the demuxer pads
+         have already been freed and thus the probes have been removed meaning
+         that in some case it is possible that the pad probes still get called
+         *after* the GstDecodeGroup is freed, leading to segfaults (as we use
+         the freed group in that function).
+         Sample stack trace when that happens:
+         #0  sink_pad_query_probe (pad=pad@entry=0x7fe654027180, info=info@entry=0x7ffe433bf270, user_data=0x7fe668076f80) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3004
+         3004          if (last_group->reqpads) {
+         [Current thread is 1 (Thread 0x7fe69d8a0880 (LWP 24366))]
+         Missing separate debuginfos, use: dnf debuginfo-install elfutils-libelf-0.176-1.fc29.x86_64 elfutils-libs-0.176-1.fc29.x86_64 libXcursor-1.1.15-4.fc29.x86_64 libXi-1.7.9-8.fc29.x86_64 libgpg-error-1.33-1.fc29.x86_64 libvpx-1.7.0-7.fc29.x86_64 soundtouch-2.1.1-1.fc29.x86_64
+         (gdb) bt
+         #0  0x00007fe68f7f3430 in sink_pad_query_probe (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], info=info@entry=0x7ffe433bf270, user_data=0x7fe668076f80) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3004
+         #1  0x00007fe69e79815e in probe_hook_marshal (hook=0x7fe63003a840, data=0x7ffe433bf160) at ../subprojects/gstreamer/gst/gstpad.c:3565
+         #2  0x00007fe69e5774cc in g_hook_list_marshal (hook_list=hook_list@entry=0x7fe654027218, may_recurse=may_recurse@entry=1, marshaller=marshaller@entry=0x7fe69e797d40 <probe_hook_marshal>, data=data@entry=0x7ffe433bf160) at ghook.c:672
+         #3  0x00007fe69e797823 in do_probe_callbacks (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], info=info@entry=0x7ffe433bf270, defaultval=defaultval@entry=GST_FLOW_OK) at ../subprojects/gstreamer/gst/gstpad.c:3727
+         #4  0x00007fe69e7a25fd in gst_pad_peer_query (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4194
+         #5  0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], data=data@entry=0x7ffe433bf3c0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #6  0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6540273d0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bf3c0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #7  0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6540273d0 [GstPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #8  0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe6540273d0 [GstPad], parent=0x7fe61c035e00 [GstMultiQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #9  0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6540273d0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #10 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe648019620 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #11 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe648019620 [GstPad], data=data@entry=0x7ffe433bf6f0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #12 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe62000a9b0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bf6f0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #13 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0x7fe62000a9b0 [GstPad], parent=<optimized out>, query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #14 0x00007fe69e0594d6 in gst_video_decoder_src_query_default (dec=0x7fe63001e290 [GstVP8Dec], query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1684
+         #15 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe62000a9b0 [GstPad], parent=0x7fe63001e290 [GstVP8Dec], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #16 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe62000a9b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #17 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe630054300 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #18 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe630054300 [GstProxyPad], data=data@entry=0x7ffe433bfa80) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #19 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe660047810 [GstDecodePad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bfa80) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #20 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe660047810 [GstDecodePad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #21 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe660047810 [GstDecodePad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #22 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe654076cf0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #23 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe654076cf0 [GstProxyPad], data=data@entry=0x7ffe433bfce0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #24 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe668037720 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bfce0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #25 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe668037720 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #26 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe668037720 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #27 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa762c0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #28 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa762c0 [GstPad], data=data@entry=0x7ffe433bff40) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #29 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa76510 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bff40) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #30 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0xa76510 [GstPad], parent=parent@entry=0x7fe67002b240 [GstQueue], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #31 0x00007fe68f7bd321 in gst_queue_handle_src_query (pad=0xa76510 [GstPad], parent=0x7fe67002b240 [GstQueue], query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1619
+         #32 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa76510 [GstPad], parent=0x7fe67002b240 [GstQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #33 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa76510 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #34 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa770a0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #35 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa6f4d0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #36 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa772f0 [GstPad], parent=0xa6f4d0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #37 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa772f0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #38 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa779e0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #39 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa779e0 [GstPad], data=data@entry=0x7ffe433c0550) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #40 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa77c30 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c0550) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #41 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0xa77c30 [GstPad], parent=parent@entry=0xa7f800 [GstDeinterlace], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #42 0x00007fe68c0449a7 in gst_deinterlace_src_query (pad=0xa77c30 [GstPad], parent=0xa7f800 [GstDeinterlace], query=0x7fe67803f140) at ../subprojects/gst-plugins-good/gst/deinterlace/gstdeinterlace.c:3265
+         #43 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa77c30 [GstPad], parent=0xa7f800 [GstDeinterlace], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #44 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa77c30 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #45 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa76760 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #46 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa46860 [GstFramePositioner], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #47 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa769b0 [GstPad], parent=0xa46860 [GstFramePositioner], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #48 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa769b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #49 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa76c00 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #50 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa7eb20 [GstVideoScale], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #51 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa76e50 [GstPad], parent=0xa7eb20 [GstVideoScale], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #52 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa76e50 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #53 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa77540 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #54 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa6f980 [GstVideoRate], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #55 0x00007fe68f7369f0 in gst_video_rate_query (trans=0xa6f980 [GstVideoRate], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst/videorate/gstvideorate.c:1115
+         #56 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa77790 [GstPad], parent=0xa6f980 [GstVideoRate], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #57 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa77790 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #58 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa82120 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #59 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa172a0 [GstCapsFilter], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #60 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa82370 [GstPad], parent=0xa172a0 [GstCapsFilter], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #61 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa82370 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #62 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa44c70 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #63 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa44c70 [GstProxyPad], data=data@entry=0x7ffe433c13a0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #64 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6700271e0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c13a0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #65 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6700271e0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #66 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6700271e0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #67 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa447b0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #68 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa447b0 [GstProxyPad], data=data@entry=0x7ffe433c1600) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #69 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe670026f60 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1600) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #70 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe670026f60 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #71 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x7fe670026f60 [GstGhostPad], parent=0xa2a870 [NleSource], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556
+         #72 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe670026f60 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #73 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe61c00ab30 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #74 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe61c00ab30 [GstGhostPad], data=data@entry=0x7ffe433c18c0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #75 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680ccab0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c18c0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #76 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680ccab0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #77 0x00007fe68f54b6a9 in internalpad_query_function (internal=0x7fe6680ccab0 [GstProxyPad], parent=0x7fe61c00ab30 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:448
+         #78 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680ccab0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #79 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe66800e510 [GESSmartMixerPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #80 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe66800e510 [GESSmartMixerPad], data=data@entry=0x7ffe433c1b80) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #81 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680cc5f0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1b80) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #82 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680cc5f0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #83 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680cc5f0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #84 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe66805ee60 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #85 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe66805ee60 [GstGhostPad], data=data@entry=0x7ffe433c1de0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #86 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe654077d90 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1de0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #87 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe654077d90 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #88 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe654077d90 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #89 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe654027ac0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #90 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe6680c71d0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #91 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe654026a90 [GstPad], parent=0x7fe6680c71d0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #92 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe654026a90 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #93 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6680cc850 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #94 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6680cc850 [GstProxyPad], data=data@entry=0x7ffe433c22d0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #95 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680374a0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c22d0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #96 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680374a0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #97 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680374a0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #98 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6680c7e20 [GstCompositorPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #99 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6680c7e20 [GstCompositorPad], data=data@entry=0x7ffe433c2530) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #100 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa24170 [GstAggregatorPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2530) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #101 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xa24170 [GstAggregatorPad], parent=<optimized out>, query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #102 0x00007fe69e0e5512 in gst_aggregator_default_src_query (self=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstaggregator.c:1909
+         #103 0x00007fe69e0547be in gst_video_aggregator_src_query (agg=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.c:2022
+         #104 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa24170 [GstAggregatorPad], parent=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #105 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa24170 [GstAggregatorPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #106 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x9aac10 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #107 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa28280 [GstIdentity], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #108 0x00007fe68f79dfc4 in gst_identity_query (base=0xa28280 [GstIdentity], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstidentity.c:957
+         #109 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x9aae60 [GstPad], parent=0xa28280 [GstIdentity], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #110 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aae60 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #111 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99cc40 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #112 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99cc40 [GstProxyPad], data=data@entry=0x7ffe433c2c00) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #113 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9aee40 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2c00) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #114 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9aee40 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #115 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aee40 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #116 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99d100 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #117 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99d100 [GstProxyPad], data=data@entry=0x7ffe433c2e60) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #118 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9af0c0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2e60) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #119 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9af0c0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #120 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x9af0c0 [GstGhostPad], parent=0x99ce70 [NleOperation], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556
+         #121 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9af0c0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #122 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99c2c0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #123 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99c2c0 [GstProxyPad], data=data@entry=0x7ffe433c3120) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #124 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9ae1c0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3120) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #125 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9ae1c0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #126 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x9ae1c0 [GstGhostPad], parent=0xa16290 [NleComposition], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556
+         #127 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9ae1c0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #128 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x9aa080 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #129 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa165a0 [GstCapsFilter], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #130 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x9aa9c0 [GstPad], parent=0xa165a0 [GstCapsFilter], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #131 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aa9c0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #132 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99c9e0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #133 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99c9e0 [GstProxyPad], data=data@entry=0x7ffe433c3670) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #134 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9aebc0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3670) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #135 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9aebc0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #136 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aebc0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #137 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99d820 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #138 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99d820 [GstProxyPad], data=data@entry=0x7ffe433c38d0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #139 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9af840 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c38d0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #140 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9af840 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #141 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9af840 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #142 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6780247d0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #143 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6780247d0 [GstPad], data=data@entry=0x7ffe433c3b30) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #144 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe684032780 [GstTeePad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3b30) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #145 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe684032780 [GstTeePad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #146 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe684032780 [GstTeePad], parent=0x7383f0 [GstTee], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #147 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe684032780 [GstTeePad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #148 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe670026060 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #149 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe670026060 [GstGhostPad], data=data@entry=0x7ffe433c3e60) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #150 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x99dce0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3e60) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #151 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x99dce0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #152 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x99dce0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #153 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa8d6b0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #154 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa8d6b0 [GstPad], data=data@entry=0x7ffe433c40c0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #155 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa8d900 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c40c0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #156 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xa8d900 [GstPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #157 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa8d900 [GstPad], parent=0x9f6060 [GstStreamSynchronizer], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #158 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa8d900 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #159 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xad5a80 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #160 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xad5a80 [GstGhostPad], data=data@entry=0x7ffe433c43f0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #161 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680275b0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c43f0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #162 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680275b0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #163 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680275b0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #164 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa39580 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #165 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa39580 [GstPad], data=data@entry=0x7ffe433c4650) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #166 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6780240e0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c4650) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #167 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0x7fe6780240e0 [GstPad], parent=parent@entry=0x7fe66800e7b0 [GstQueue], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #168 0x00007fe68f7bd321 in gst_queue_handle_src_query (pad=0x7fe6780240e0 [GstPad], parent=0x7fe66800e7b0 [GstQueue], query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1619
+         #169 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe6780240e0 [GstPad], parent=0x7fe66800e7b0 [GstQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #170 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6780240e0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #171 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xad5580 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #172 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xad5580 [GstGhostPad], data=data@entry=0x7ffe433c49d0) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #173 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680270f0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c49d0) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #174 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680270f0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #175 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680270f0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #176 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6780255b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #177 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674032fa0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #178 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025a50 [GstPad], parent=0x7fe674032fa0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #179 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025a50 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #180 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe678025800 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #181 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe6740346d0 [GstVideoScale], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #182 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025360 [GstPad], parent=0x7fe6740346d0 [GstVideoScale], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #183 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025360 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #184 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe678024580 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #185 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674011950 [GstVideoBalance], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #186 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025110 [GstPad], parent=0x7fe674011950 [GstVideoBalance], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #187 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025110 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #188 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa8d460 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #189 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674037330 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557
+         #190 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678024ec0 [GstPad], parent=0x7fe674037330 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378
+         #191 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678024ec0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #192 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe668027350 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #193 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe668027350 [GstProxyPad], data=data@entry=0x7ffe433c5670) at ../subprojects/gstreamer/gst/gstpad.c:3376
+         #194 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xad5800 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c5670) at ../subprojects/gstreamer/gst/gstpad.c:3008
+         #195 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xad5800 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447
+         #196 0x00007fe68f84ad95 in gst_play_sink_convert_bin_query (pad=0xad5800 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst/playback/gstplaysinkconvertbin.c:525
+         #197 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xad5800 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071
+         #198 0x00007fe69e7a263b in gst_pad_peer_query (pad=0xa380b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203
+         #199 0x00007fe69e10564c in default_element_query (element=0xa369f0 [GstFakeSink], query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:5034
+         #200 0x00007fe69e77f8f0 in gst_element_query (element=0xa369f0 [GstFakeSink], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959
+         #201 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c59d0, fold=0x7ffe433c5a60) at ../subprojects/gstreamer/gst/gstbin.c:4232
+         #202 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x744820, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c59d0, user_data=user_data@entry=0x7ffe433c5a60) at ../subprojects/gstreamer/gst/gstiterator.c:617
+         #203 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0xa19d80 [GstBin], iter=iter@entry=0x744820, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5a60, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259
+         #204 0x00007fe69e75e776 in gst_bin_query (element=0xa19d80 [GstBin], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379
+         #205 0x00007fe69e77f8f0 in gst_element_query (element=0xa19d80 [GstBin], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959
+         #206 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c5ba0, fold=0x7ffe433c5c30) at ../subprojects/gstreamer/gst/gstbin.c:4232
+         #207 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x744cf0, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c5ba0, user_data=user_data@entry=0x7ffe433c5c30) at ../subprojects/gstreamer/gst/gstiterator.c:617
+         #208 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0x9f42e0 [GstPlaySink], iter=iter@entry=0x744cf0, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5c30, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259
+         #209 0x00007fe69e75e776 in gst_bin_query (element=0x9f42e0 [GstPlaySink], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379
+         #210 0x00007fe69e77f8f0 in gst_element_query (element=0x9f42e0 [GstPlaySink], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959
+         #211 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c5d70, fold=0x7ffe433c5e00) at ../subprojects/gstreamer/gst/gstbin.c:4232
+         #212 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x7448d0, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c5d70, user_data=user_data@entry=0x7ffe433c5e00) at ../subprojects/gstreamer/gst/gstiterator.c:617
+         #213 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0x9ee0a0 [GESPipeline], iter=iter@entry=0x7448d0, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5e00, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259
+         #214 0x00007fe69e75e776 in gst_bin_query (element=0x9ee0a0 [GESPipeline], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379
+         #215 0x00007fe69e77f8f0 in gst_element_query (element=0x9ee0a0 [GESPipeline], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959
+         #216 0x00007fe69e6b5d01 in _check_position (rate=0x7ffe433c5ee0, position=0x7ffe433c5ee8, act=0xaa82a0, scenario=0x9fe250 [GstValidateScenario]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.c:1658
+         #217 0x00007fe69e6b5d01 in execute_next_action (scenario=scenario@entry=0x9fe250 [GstValidateScenario]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.c:2107
+         #218 0x00007fe69e587b31 in g_timeout_dispatch (source=0xaa7da0, callback=0x7fe69e6b5830 <execute_next_action>, user_data=0x9fe250) at gmain.c:4667
+         #219 0x00007fe69e58706d in g_main_dispatch (context=0x71bc50) at gmain.c:3182
+         #220 0x00007fe69e58706d in g_main_context_dispatch (context=context@entry=0x71bc50) at gmain.c:3847
+         #221 0x00007fe69e587438 in g_main_context_iterate (context=context@entry=0x71bc50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920
+         #222 0x00007fe69e5874d0 in g_main_context_iteration (context=context@entry=0x71bc50, may_block=may_block@entry=1) at gmain.c:3981
+         #223 0x00007fe69e3dfd25 in g_application_run (application=0x71c1f0 [GESLauncher], argc=argc@entry=6, argv=argv@entry=0x7ffe433c61c8) at gapplication.c:2470
+         #224 0x000000000040393c in main (argc=6, argv=0x7ffe433c61c8) at ../subprojects/gst-editing-services/tools/ges-launch.c:88
+         (gdb) p last_group
+         $1 = (GstDecodeGroup *) 0x52c
+         (gdb) p group
+         $2 = (GstDecodeGroup *) 0x7fe668076f80
+         (gdb) p group->parent
+         $3 = (GstDecodeChain *) 0x7fe6680774c0
+         (gdb) p group->parent->next_group
+         There is no member named next_group.
+         (gdb) group->parent->next_groups
+         Undefined command: "group->parent->next_groups".  Try "help".
+         (gdb) p group->parent->next_groups
+         $4 = 0x7fe660004280 = {0x528, 0x529, 0x52a, 0x52b, 0x52c}
+         (gdb) p *group->parent->next_groups
+         $5 = {data=0x528, next=0x7fe668077500, prev=0x7fe64c04ab80}
+         (gdb) p *group
+         $6 = {dbin = 0x52a, parent = 0x7fe6680774c0, multiqueue = 0x7fe668077500, overrunsig = 167503724544, overrun = 1, no_more_pads = 0, drained = 1745725152, children = 0xa19220 = {0x73d400, <error reading variable>
+         (gdb)  Quit
+         (gdb)
+
+2019-03-16 14:57:56 +0000  Wonchul Lee <chul0812@gmail.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: Fix docs typo
+         Fix typo empty-percent to min-percent
+
+2019-03-15 17:38:58 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: print list size in log output instead of -1
+         It is weird to see "Preparing to push packet with size 4294967295" in
+         the logs, so print the list length in case of a buffer list.
+
+2019-03-14 10:12:27 +0100  Tobias Ronge <tobiasr@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         gstrtspconnection: Security loophole making heap overflow
+         The former code allowed an attacker to create a heap overflow by
+         sending a longer than allowed session id in a response and including a
+         semicolon to change the maximum length. With this change, the parser
+         will never go beyond 512 bytes.
+
+2019-03-12 16:42:11 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-color.h:
+         video-color: add more color primaries formats
+         They correspond to index 10, 11, 12 and 22 from ITU-T H.273,
+         Table 2 – Interpretation of colour primaries (ColourPrimaries) value
+
+2019-03-11 16:59:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+         glwindow/win32: Don't use condition variables for message synchronization
+         Using a single condition variable for synchronization across all GL
+         messages is very slow on Windows and uses up to 20% CPU usage in some
+         workloads due to lock contention and false broadcasts.
+         Using per-message event handles reduces the CPU usage to negligible
+         amounts despite having to allocate a new event handle for each
+         message.
+
+2019-03-11 18:09:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglmemory.c:
+         glmemory: Disable GL timing queries when debugging
+         This can be very expensive in some workloads, taking up to 11% of the
+         total execution time.
+
+2019-02-28 15:01:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstglcontext_private.h:
+       * gst-libs/gst/gl/gstgldebug.c:
+       * gst-libs/gst/gl/gstglframebuffer.c:
+         glframebuffer: Don't do expensive checks with low gst debug levels
+         Framebuffer checks can be very expensive, taking up to 3-5% of the
+         total CPU consumed by the application.
+
+2019-03-08 19:52:25 +0100  Lucas Stach <l.stach@pengutronix.de>
+
+       * gst-libs/gst/gl/wayland/wayland_event_source.c:
+         gl/wayland: fix glib mainloop integration
+         Implement the prepare and check functions according to the
+         documentation by returning TRUE when events should be dispatched
+         via the dispatch function.
+         As wl_display_read_events never blocks we can call it unconditionally
+         without looking at the poll status.
+         This simplifies the implementation and gets rid of a race where the
+         mainloop could get blocked due to nobody actually reading the events
+         from the wayland connection.
+
+2019-03-09 17:17:11 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/audiodecoder.c:
+         tests: audiodecoder: speed up audiodecoder_buffer_after_segment test
+         We're creating buffers with one sample here for some reason. The
+         actual value of the segment stop is irrelevant for what we're testing
+         here, so lower it to 10ms so that we create fewer buffers which speeds
+         things up on slow machines and in valgrind.
+
+2019-03-07 18:55:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix buffer skipping with pad offsets
+         The ->skip_buffer implementation in videoaggregator replicates
+         the behaviour of the aggregate method to determine whether a
+         buffer can be skipped
+         (https://bugzilla.gnome.org/show_bug.cgi?id=781928).
+         This fixes a typo that made it so the start time of the buffer
+         was calculated against the output segment, not the segment of
+         the relevant sinkpad, which caused buffers to be skipped when
+         for example a sinkpad had received a segment which base had
+         been modified by a pad offset somewhere along the way.
+         This simply makes the calculation of the buffer start time
+         identical to the calculation in aggregate()
+
+2019-03-05 16:13:15 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+       * gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglframebuffer.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/gstglwindow.h:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
+         gl: Don't restore the viewport on function exit
+         Doing so involves retrieving the current viewport from OpenGL which as
+         with any glGet operation, is expensive.
+         This means that the various sinks need to reset the viewport on draw.
+         In the process, fix resizing on cocoa.
+
+2019-03-07 19:49:51 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         Revert "Revert "discoverer: Serialize/load "next" StreamInfo in GVariants""
+         This reverts commit 747f5a75c391ef18a587a1c064d512340872f32d.
+         This was never meant to be reverted in the first place but sliped in
+         during developement
+
+2019-02-20 14:58:36 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * tools/gst-discoverer.c:
+         tools:discoverer: Add an option to print the cache directory
+
+2019-02-20 11:57:08 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         Revert "discoverer: Serialize/load "next" StreamInfo in GVariants"
+         This reverts commit 6ca357f5b67590c694a95013f5eb5fdd04cf46a9.
+
+2019-02-20 11:41:57 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/pbutils-private.h:
+         discoverer: Remove padding from private headers
+
+2017-11-10 12:29:05 -0300  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         dicoverer: Do not add container infos to the stream list
+         They are not added on actual discovery
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/398
+
+2017-11-08 13:25:08 -0300  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Serialize/load "next" StreamInfo in GVariants
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/398
+
+2017-11-08 10:38:57 -0300  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+       * gst-libs/gst/pbutils/pbutils-private.h:
+       * tools/gst-discoverer.c:
+         discoverer: Implement GstDiscovererInfo caching
+         This uses the gst_discoverer_info_from/to_variant API and saves
+         the variants on disc (in the user data cache dir) allowing much
+         faster retrieval of the information after the cache has been built.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/398
+
+2019-03-07 14:43:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         video-aggregator: Sync property values to output timestamp
+         The properties need to be change at every output frame based on the output
+         time because they may change even though the input frame is not changing.
+
+2019-03-07 02:01:09 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgluploadelement.c:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+         gl: fix a few other leaks when not getting to PAUSED
+
+2019-03-06 23:29:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglcolorconvertelement.c:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: Ensure we free the internal convert object
+         If we only ever make it to READY, transform_caps can create an
+         internal convert object that will never be freed by basetransform's
+         stop vmethod (PAUSED->READY).
+
+2019-03-06 23:27:11 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/glbin.c:
+         tests/glbin: setting a full reference means we need to unref
+         Fixes the element leaks in the full variants of the glbin test.
+
+2019-03-06 09:23:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/vorbisdec.c:
+         tests: vorbisec: fix leaks in unit test
+
+2019-03-06 09:23:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/gstglmatrix.c:
+         tests: glmatrix: fix leaks in unit test
+
+2019-03-06 09:23:15 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/gstglmemory.c:
+         tests: glmemory: fix leaks in unit test
+
+2019-03-06 09:22:52 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/videoencoder.c:
+         tests: videoencoder: fix leaks in unit test
+
+2019-03-06 09:22:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/audio.c:
+         tests: audio: fix leaks in unit test
+
+2019-03-06 09:22:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/audiomixer.c:
+         tests: audiomixer: fix leaks in unit test
+
+2019-03-06 09:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/audioconvert.c:
+         tests: audioconvert: fix leaks in unit test
+
+2019-02-23 10:04:27 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/.gitignore:
+         gl: .gitignore generated wayland xdg shell files
+
+2019-03-06 09:17:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         video: fix pipeline leak in gst_video_convert_sample_async()
+
+2019-03-06 09:14:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/vorbis/gstvorbisdec.c:
+         vorbisdec: fix leak of header buffers
+         handle_header_buffer() does no take ownership of
+         the buffer passed.
+         Fixes leaks in various unit tests.
+
+2019-03-06 00:59:35 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gloverlaycompositor: Also free the texcoord GL buffer
+         Fix a typo that was attempting to free the position GL buffer twice
+         (without any consequences as there was a if (buffer) check)
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/561
+
+2019-02-25 23:57:13 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudiodecoder.h:
+         audiodecoder: add _finish_subframe() method
+         This allows us to output audio samples without discarding
+         any input frames, which is useful for some formats/codecs
+         (e.g. the MonkeysAudio decoder implementation in ffmpeg
+         which will might return e.g. 16 output buffers for an
+         input buffer for certain files).
+         In the past decoder implementations just concatenated
+         the returned audio buffers until a full frame had been
+         decoded, but that's no longer possible to do efficiently
+         when the decoder returns audio samples in non-interleaved
+         layout.
+         Allowing subframes to be output before the entire input
+         frame is decoded can also be useful to decrease startup
+         latency/delay.
+         https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/49
+
+2019-03-05 14:32:37 +0100  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst-libs/gst/rtp/gstrtppayloads.c:
+         rtp: add H265 to lookup for media info
+
+2019-03-04 17:05:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/videooverlay.c:
+         videooverlay: Fix render-rectangle range
+         The range was set to -1 to MAXINT, but the x,y value can be negative.
+         Relax the restriction so that we can now have negative coordinates.
+
+2019-03-04 22:49:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/audiorate.c:
+         tests: audiorate: Don't compare string with enum
+         ../subprojects/gst-plugins-base/tests/check/elements/audiorate.c(192): warning C4047
+         Meaningful validation at that point seems to checking output GstAudioFormat
+         of gst_audio_format_from_string()
+
+2019-03-04 09:05:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+       * meson.build:
+         Back to development
+
+2019-02-28 16:10:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * subprojects/gl-headers.wrap:
+         meson: subprojects: use gl-headers from gstreamer gitlab
+
+2019-02-28 15:46:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/meson.build:
+         meson: don't build icles when tests are disabled
+         They are manual tests, so let them be controlled
+         via the tests option.
+
+2019-02-28 23:38:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglshaderstrings.c:
+         gl: actually use the highp specifier
+         675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc contained a typo that incorrectly
+         used the mediump specifier instead of highp.
+
+2019-02-28 16:17:37 +1100  Matthew Waters <matthew@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * ext/gl/effects/gstgleffectssources.c:
+       * ext/gl/gltestsrc.c:
+       * ext/gl/gstglalpha.c:
+       * ext/gl/gstglcolorbalance.c:
+       * ext/gl/gstgldeinterlace.c:
+       * ext/gl/gstgldifferencematte.c:
+       * ext/gl/gstgleffects.c:
+       * ext/gl/gstglfiltercube.c:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstgloverlay.c:
+       * ext/gl/gstgltransformation.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/gl/glprototypes/gles.h:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+       * gst-libs/gst/gl/gstglshaderstrings.c:
+       * gst-libs/gst/gl/gstglshaderstrings.h:
+       * gst-libs/gst/gl/gstglsl.c:
+       * gst-libs/gst/gl/gstglsl.h:
+       * gst-libs/gst/gl/gstglslstage.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         gl: try to use highp precision where supported
+         The use of mediump as a specifier in GLSL shaders will have limited
+         resolution and when used as texture coordinates may become inaccurate
+         over texture sizes of 1024.
+
+=== release 1.15.2 ===
+
+2019-02-26 11:43:43 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.15.2
+
+2019-02-26 11:43:42 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-base-plugins.args:
+       * docs/plugins/inspect/plugin-adder.xml:
+       * docs/plugins/inspect/plugin-alsa.xml:
+       * docs/plugins/inspect/plugin-app.xml:
+       * docs/plugins/inspect/plugin-audioconvert.xml:
+       * docs/plugins/inspect/plugin-audiomixer.xml:
+       * docs/plugins/inspect/plugin-audiorate.xml:
+       * docs/plugins/inspect/plugin-audioresample.xml:
+       * docs/plugins/inspect/plugin-audiotestsrc.xml:
+       * docs/plugins/inspect/plugin-cdparanoia.xml:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * docs/plugins/inspect/plugin-encoding.xml:
+       * docs/plugins/inspect/plugin-gio.xml:
+       * docs/plugins/inspect/plugin-libvisual.xml:
+       * docs/plugins/inspect/plugin-ogg.xml:
+       * docs/plugins/inspect/plugin-opengl.xml:
+       * docs/plugins/inspect/plugin-opus.xml:
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+       * docs/plugins/inspect/plugin-pango.xml:
+       * docs/plugins/inspect/plugin-pbtypes.xml:
+       * docs/plugins/inspect/plugin-playback.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-subparse.xml:
+       * docs/plugins/inspect/plugin-tcp.xml:
+       * docs/plugins/inspect/plugin-theora.xml:
+       * docs/plugins/inspect/plugin-typefindfunctions.xml:
+       * docs/plugins/inspect/plugin-videoconvert.xml:
+       * docs/plugins/inspect/plugin-videorate.xml:
+       * docs/plugins/inspect/plugin-videoscale.xml:
+       * docs/plugins/inspect/plugin-videotestsrc.xml:
+       * docs/plugins/inspect/plugin-volume.xml:
+       * docs/plugins/inspect/plugin-vorbis.xml:
+       * docs/plugins/inspect/plugin-ximagesink.xml:
+       * docs/plugins/inspect/plugin-xvimagesink.xml:
+         Update docs
+
+2019-02-26 11:43:40 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/af.po:
+       * po/az.po:
+       * po/bg.po:
+       * po/ca.po:
+       * po/cs.po:
+       * po/da.po:
+       * po/de.po:
+       * po/el.po:
+       * po/en_GB.po:
+       * po/eo.po:
+       * po/es.po:
+       * po/eu.po:
+       * po/fi.po:
+       * po/fr.po:
+       * po/fur.po:
+       * po/gl.po:
+       * po/hr.po:
+       * po/hu.po:
+       * po/id.po:
+       * po/it.po:
+       * po/ja.po:
+       * po/lt.po:
+       * po/lv.po:
+       * po/nb.po:
+       * po/nl.po:
+       * po/or.po:
+       * po/pl.po:
+       * po/pt_BR.po:
+       * po/ro.po:
+       * po/ru.po:
+       * po/sk.po:
+       * po/sl.po:
+       * po/sq.po:
+       * po/sr.po:
+       * po/sv.po:
+       * po/tr.po:
+       * po/uk.po:
+       * po/vi.po:
+       * po/zh_CN.po:
+         Update translations
+
+2019-02-19 16:59:34 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/videorate/gstvideorate.c:
+       * gst/videorate/gstvideorate.h:
+       * tests/check/elements/videorate.c:
+         videorate: Add max-duplication-time property
+         This will only duplicate buffers if the gap between two consecutive
+         buffers is up to fill-until nsec. If it's larger, it will only output
+         the new buffer and mark it as discont.
+
+2019-02-21 19:18:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/meson.build:
+         meson: Remove outdated msvc-specific disabling code
+         This was done ages ago when the meson build files were newly added
+         but now we do the appropriate disabling in Cerbero instead since this
+         does not apply to gst-build.
+         https://gitlab.freedesktop.org/gstreamer/cerbero/issues/121
+
+2019-02-20 09:46:30 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/video.c:
+         tests: video: add basic sanity check of pstrides for formats
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/117
+
+2019-02-09 17:21:13 +0000  James Cowgill <jcowgill@jcowgill.uk>
+
+       * gst-libs/gst/video/video-format.c:
+         video-format: Fix GBRA_10/12 alpha channel pixel strides
+         These formats have 4 components, so they should also have 4 components
+         of pixel stride.
+
+2019-01-17 15:38:40 +0100  Victor Toso <me@victortoso.com>
+
+       * tests/check/libs/video.c:
+         tests: use GPOINTER_TO_INT to avoid warnings with mingw
+         New casts to avoid the the warnings mentioned below. While at it, move
+         some existing casts (introduced at 61bc9091894062b9) to use
+         GPOINTER_TO_INT too.
+         [458/673] Compiling C object 'tests/check/7d01337@@libs_video@exe/libs_video.c.obj'.
+         ../tests/check/libs/video.c: In function 'fourcc_get_size':
+         ../tests/check/libs/video.c:160:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
+         return (unsigned long) p->endptr;
+         ^
+         In file included from ../tests/check/libs/video.c:32:
+         ../tests/check/libs/video.c: In function 'test_video_formats':
+         ../tests/check/libs/video.c:563:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
+         fail_unless_equals_int (size, (unsigned long) paintinfo.endptr);
+         ^
+         And more.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/94
+
+2019-01-17 15:25:58 +0100  Victor Toso <me@victortoso.com>
+
+       * tests/check/libs/profile.c:
+         tests: fix compiler warnings on Windows with mingw
+         With commit 3f184c3abc55, the gst_dir variable becomes unusable in
+         windows build. Moving it to linux scope to avoid warning:
+         [433/673] Compiling C object 'tests/check/7d01337@@libs_profile@exe/libs_profile.c.obj'.
+         ../tests/check/libs/profile.c: In function 'profile_suite':
+         ../tests/check/libs/profile.c:688:10: warning: unused variable 'gst_dir' [-Wunused-variable]
+         gchar *gst_dir;
+         ^~~~~~~
+         Also fix a typo in the comment.
+
+2019-02-18 15:24:18 +0100  Kristofer Bjorkstrom <kristofb@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Fix GError set over the top of a previous GError
+         The function fill_bytes could sometimes return a value greater than zero
+         and in the same time set the GError.
+         Function read_bytes calls fill_bytes in a while loop. In the special
+         case above it would call fill_bytes with error already set.
+         Thus resulting in "GError set over the top of a previous GError".
+         Solved this by clearing GError when return value is greater than zero.
+         Actions are taken depending on error type by caller of read_bytes. Eg.
+         with EWOULDBLOCK gst_rtsp_source_dispatch_read will try to read the
+         missing bytes again (GST_RTSP_EINTR )
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/445
+
+2019-02-18 13:28:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         gl: eglimage: fix build on RPi by adding more fallback defines for EGL_*_EXT
+
+2018-11-16 23:51:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/libs/video.c:
+         tests: video: Test video format enum stability
+         It is really easy to break the API and insert a new video format in the
+         middle of the enum instead of at the end. This minimal test should catch
+         the most obvious errors. Ideally, this test should be updated after new
+         format have been added, so that it won't allow further modification to
+         the enumeration API.
+
+2019-02-16 15:29:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+         pbutils: add description for AV1 codec
+         Fixes #558
+
+2019-02-15 16:45:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: Don't call set_property helper in get_property
+
+2019-02-13 11:59:10 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/gl/wayland/Makefile.am:
+         wayland: Also dist the private header
+
+2019-02-11 10:01:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         eglimage: Add some more defines
+         This allow building on advertised version of libdrm drm_fourcc.h files.
+         Fixes #549
+
+2019-02-11 10:01:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         Revert "fix issue"
+         This reverts commit 5e0c458e0ef544f1afae13c5eb047bc0826b011a.
+
+2019-02-11 16:13:15 +0800  yanle.zhang <yanle.zhang@hobot.cc>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         fix issue 549."https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/549".
+
+2019-01-30 10:49:37 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * tools/gst-device-monitor.c:
+         tools: device-monitor: Add support for modified devices
+
+2019-02-08 21:38:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Don't leak caps features
+         Create caps features when it is required.
+
+2018-12-14 16:33:50 +0100  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/gl/wayland/Makefile.am:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland_private.h:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+       * m4/gst-gl.m4:
+         gl/wayland: add support for XDG-shell
+         [wl_shell] is officially [deprecated], so provide support for the
+         XDG-shell protocol should be provided by all desktop-like compositors.
+         (In case they don't, we can of course fall back to wl_shell).
+         Note that the [XML spec] is provided by the `wayland-protocols`
+         git repository, which is provided by the Wayland project.
+         [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
+         [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
+         [XML spec]: https://github.com/wayland-project/wayland-protocols/blob/master/stable/xdg-shell/xdg-shell.xml
+
+2018-12-14 14:54:24 +0100  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+         gl/wayland: extract code to create wl_shell_surface
+         This is just a cosmetic change that will make it easier to differentiate
+         between wl_shell and xdg_wm_base later.
+
+2018-12-14 14:28:26 +0100  Niels De Graef <niels.degraef@barco.com>
+
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+         gl/wayland: prefix shell(_surface) with wl_
+         This will help us make the distinction later with xdg-shell and other
+         possible protocols that need to be supported.
+
+2019-02-05 22:06:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/videoscale.c:
+       * tests/check/libs/profile.c:
+       * tests/check/libs/rtpbasedepayload.c:
+         misc: Fix compiler warnings on Cerbero's MinGW
+         rtpbasedepayload.c:126:5: error: unknown conversion type character 'z' in format [-Werror=format]
+         profile.c:688:10: error: unused variable 'gst_dir' [-Werror=unused-variable]
+
+2019-02-04 11:48:25 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: remove useless code in negotiate_default_caps()
+         gst_video_decoder_negotiate_default_caps() is meant to pick a default output
+         format when we need one earlier because of an incoming GAP.
+         It tries to use the input caps as a base if available and fallback to a default
+         format (I420 1280x720@30) for the missing fields.
+         But the framerate and pixel-aspect were not explicitly passed to
+         gst_video_decoder_set_output_state() which is solely relying on the input format
+         as reference to get the framerate anx pixel-aspect-ratio.
+         So there is no need to manually handling those two fields as
+         gst_video_decoder_set_output_state() will already use the ones from
+         upstream if available, and they will be ignored anyway if there are not.
+         This also prevent confusing debugging output where we claim to use a
+         specific framerate while actually none was set.
+
+2019-01-31 15:22:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/meson.build:
+         meson: orc-test is not required
+         This is especially never available on iOS.
+
+2019-01-30 14:32:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Fix uninitialized variable warning when compiling with pre-2.59.1 GLib
+         gstrtspconnection.c: In function ‘writev_bytes’:
+         gstrtspconnection.c:1348:10: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
+         return res;
+         ^
+
+2019-01-30 20:41:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Fix broken build on GLib 2.59.0
+         GPollableReturn enum was introduced after GLib 2.59.0 release.
+
+2019-01-29 10:38:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/check/meson.build:
+         meson: Add support orc fallback
+         Allow fallback to orc subproject if any.
+         Additionally 'dependencies' keyword is removed from find_library,
+         because it's invalid keyword for find_library.
+
+2019-01-17 18:04:11 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Add a function to typefind xges files
+
+2019-01-27 12:35:12 +0900  mrk501 <mrk501e@outlook.com>
+
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+         audioringbuffer: Fix wrong memcpy address when reordering channels
+         When using multichannel audio data and being needed to reorder channels,
+         audio data is not copied correctly because destination address of
+         memcpy is wrong.
+         For example, the following command
+         $ gst-launch-1.0 pulsesrc ! audio/x-raw,channels=6,format=S16LE ! filesink location=test.raw
+         will reproduce this issue if there is 6-ch audio input device.
+         This commit fixes that.
+         The detailed process of this issue is as follows:
+         1. gst-launch-1.0 calls gst_pulsesrc_prepare (gst-plugins-good/ext/pulse/pulsesrc.c)
+         1466 gst_pulsesrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec)
+         1467 {
+         (skip...)
+         1480   {
+         1481     GstAudioRingBufferSpec s = *spec;
+         1482     const pa_channel_map *m;
+         1483
+         1484     m = pa_stream_get_channel_map (pulsesrc->stream);
+         1485     gst_pulse_channel_map_to_gst (m, &s);
+         1486     gst_audio_ring_buffer_set_channel_positions (GST_AUDIO_BASE_SRC
+         1487         (pulsesrc)->ringbuffer, s.info.position);
+         1488   }
+         In my environment, after line 1485 is processed, position of spec and s are
+         spec->info.position[0] = 0
+         spec->info.position[1] = 1
+         spec->info.position[2] = 2
+         spec->info.position[3] = 6
+         spec->info.position[4] = 7
+         spec->info.position[5] = 8
+         s.info.position[0] = 0
+         s.info.position[1] = 6
+         s.info.position[2] = 2
+         s.info.position[3] = 1
+         s.info.position[4] = 7
+         s.info.position[5] = 8
+         The values of spec->info.positions equal
+         GST_AUDIO_BASE_SRC(pulsesrc)->ringbuffer->spec->info.positions.
+         2. gst_audio_ring_buffer_set_channel_positions calls
+         gst_audio_get_channel_reorder_map.
+         3. Arguments of gst_audio_get_channel_reorder_map are
+         from = s.info.position
+         to = GST_AUDIO_BASE_SRC(pulsesrc)->ringbuffer->spec->info.positions
+         At the end of this function, reorder_map is set to
+         reorder_map[0] = 0
+         reorder_map[1] = 3
+         reorder_map[2] = 2
+         reorder_map[3] = 1
+         reorder_map[4] = 4
+         reorder_map[5] = 5
+         4. Go back to gst_audio_ring_buffer_set_channel_positions and
+         2065       buf->need_reorder = TRUE;
+         is processed.
+         5. Finally, in gst_audio_ring_buffer_read,
+         1821     if (need_reorder) {
+         (skip...)
+         1829           memcpy (data + i * bpf + reorder_map[j] * bps, ptr + j * bps, bps);
+         is processed and makes this issue.
+
+2019-01-24 17:52:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Update to merged GOutputStream::writev() API
+
+2018-11-30 12:47:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Handle EOF on writev() after checking for all other error conditions
+         Otherwise we would return EOF if nothing was written in any case, even
+         if this was actually a case of TIMEOUT or EWOULDBLOCK for example.
+         Thanks to Edward Hervey for debugging and finding this issue.
+
+2018-10-24 11:32:22 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Fixes for corrupt RTP packets in dispatch_write()
+         Fixes 2 problems:
+         1) Number of unmapped memories does not always match number of mmaped ones in
+         dispatch_write().
+         2) When dispatch_write() is dispatched second time after an incomplete write,
+         already set offsets will not be taken into account, thus corrupt RTP data will
+         be sent.
+
+2018-09-17 17:03:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+       * gst-libs/gst/rtsp/gstrtspconnection.h:
+         rtsp-connection: Make use of new GstRTSPMessage API for directly storing a body buffer and add API for writing multiple messages
+         By doing so we can send a whole GstBufferList and each memory in the
+         contained buffers without copying into a single memory area and with a
+         single writev() call. This improves performance considerably for
+         high-packet-rate streams.
+         This depends on https://gitlab.gnome.org/GNOME/glib/merge_requests/333
+         to be efficient, otherwise each chunk of memory is a separate write()
+         call.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/370
+
+2018-08-17 12:51:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.h:
+         rtsp-message: Add support for storing GstBuffers directly as body payload of messages
+         This makes it unnecessary for callers to first merge together all
+         memories, and it allows API like GstRTSPConnection to write them out
+         without first copying all memories together or using writev()-style API
+         to write multiple memories out in one go.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/370
+
+2019-01-28 15:16:06 +0100  Andrew Gall <a.gall@activevideo.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Fix glib version check for G_GNUC_CHECK_VERSION macro
+         Fixes #544
+
+2019-01-28 13:54:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/libs/discoverer.c:
+         tests: discoverer: Add async API test cases
+         Add more test cases for async APIs such as gst_discoverer_{start,stop},
+         and gst_discoverer_discover_uri_async()
+
+2019-01-28 18:13:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Hold GSource object instead of source id
+         g_source_remove() works only for a GSource which was attached
+         to default GMainContext, but the GSource might be attached to
+         custom context depending on how gst_discoverer_start() was called.
+         Whatever the attached context was, g_source_destroy() can clean it up.
+
+2019-01-24 10:14:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglcolorbalance.c:
+         glcolorbalance: Copy caps in transform_internal_caps()
+         We don't get ownership of the caps that are passed in, and doing so
+         causes crashes at a later time.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/546
+
+2019-01-22 13:24:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: opengl: fix enabled_gl_apis in pkg-config file
+         Make consistent with what autotools puts into enabled_gl_apis
+         variable. Autotools puts 'gl' in there instead of 'opengl'.
+         This would cause problems when building -bad glmixers plugin
+         in meson against a -base that was built with autotools.
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871
+
+2018-12-19 10:59:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+         gstglwindow_x11: require a resize event at once after XResizeWindow
+         Otherwise surface_width/surface_height stored in GstGLWindowPrivate
+         isn't changed, sometimes an unnecessary reconfigure event is sent on
+         sinkpad, then result in upstream reconfiguring.
+         Example pipeline:
+         gst-launch-1.0 videotestsrc ! msdkvpp ! glimagesink
+
+2019-01-18 11:39:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/alsa/Makefile.am:
+       * ext/alsa/gstalsadeviceprobe.c:
+       * ext/alsa/gstalsadeviceprobe.h:
+       * ext/alsa/gstalsadeviceprovider.c:
+       * ext/alsa/gstalsadeviceprovider.h:
+       * ext/alsa/gstalsaplugin.c:
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+       * ext/alsa/meson.build:
+         Revert "alsa: Implement a DeviceProvider"
+         This reverts commit 69c3c31608ecebfadd9717e950d8c708988563e3.
+         All devices have the same name, they are duplicated with pulseaudio one
+         and the provided does not respond to HW being plugged/unplugged. I think
+         it's not ready for 1.16.
+
+2018-08-31 18:33:43 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/alsa/Makefile.am:
+       * ext/alsa/gstalsadeviceprobe.c:
+       * ext/alsa/gstalsadeviceprobe.h:
+       * ext/alsa/gstalsadeviceprovider.c:
+       * ext/alsa/gstalsadeviceprovider.h:
+       * ext/alsa/gstalsaplugin.c:
+       * ext/alsa/gstalsasink.c:
+       * ext/alsa/gstalsasrc.c:
+       * ext/alsa/meson.build:
+         alsa: Implement a DeviceProvider
+         Removing gstalsadeviceprobe.[ch] as it was a relique from the 0.10
+         century.
+
+2018-12-07 18:07:42 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: remove broken rate adjustment
+         The start_time and end_time in this context have already
+         been adjusted for the input's rate by converting them to running
+         time above. What is needed afterwards is to compare these
+         with the output's start/stop running time, which also takes
+         into account the rate, so we are comparing equal things.
+         Multiplying these with the output's rate here is only breaking
+         this logic. In most cases the input and output rate is the same,
+         so this multiplication effectively reverses the rate adjustment
+         that happened while converting to running time, which is why
+         we see the video playing with the original rate in tests.
+         Fixes #541
+
 === release 1.15.1 ===
 
 2019-01-17 01:50:25 +0000  Tim-Philipp Müller <tim@centricular.com>