tcp: Convert tcpserversink to new helpers.
[platform/upstream/gstreamer.git] / ChangeLog
index ae76b81..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>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-base.doap:
+       * meson.build:
+         Release 1.15.1
+
+2019-01-17 01:50:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * 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.signals:
+       * 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-01-17 01:50:16 +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-01-16 14:09:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/caopengllayersink.m:
+       * ext/gl/gltestsrc.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/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglfilter.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * tests/check/libs/gstglcontext.c:
+       * tests/check/libs/gstglupload.c:
+         gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0
+         Binding the vertex array to 0 will unbind everything else already.
+         In the previous order older versions of the Intel GL driver caused
+         errors to be printed for every single call when disabling the vertex
+         attrib arrays after binding the vertex array to 0.
+
+2019-01-16 00:37:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         meson: enable tests for orc code
+
+2019-01-16 00:28:16 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/video-format.h:
+         video-format: minor docs improvement
+
+2019-01-11 17:43:03 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+       * tests/check/elements/subparse.c:
+         subparse: do not assert when failing to parse subrip timestamp
+         If a badly formatted was passed into `parse_subrip_time` it would
+         assert instead of exiting gracefully. This is problematic since
+         the input is provided by the user, and will trigger a crash.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/532
+
+2019-01-09 14:39:11 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * tests/check/elements/videoscale.c:
+         videoscale: Add a test to verify stepped dimensions work
+
+2019-01-09 14:42:31 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/videoscale/gstvideoscale.c:
+         videoscale: Round when fixating to nearest ints to reduce error
+
+2019-01-09 14:24:35 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/videoscale/gstvideoscale.c:
+         videoscale: Choose the best dimensions for fixed PAR
+         We might not get an exact match for width or height if stepped ranges
+         are involved.
+
+2019-01-14 10:29:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
+       * pkgconfig/gstreamer-pbutils.pc.in:
+         pbutils: Add audio, base and video library to Requires line in the pkg-config file
+         We use all those libraries internally and include headers from them in
+         the public headers.
+         And add the tag library to Requires.private as we use it internally and
+         it would be needed when doing static linking.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/537
+
+2018-12-30 18:01:30 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglmemorypbo.c:
+         gl: Fix some type conversion warnings with MSVC
+         MSVC complained about implicit conversion between GstGLFormat* and guint*
+
+2019-01-12 12:27:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * ext/gl/gstglsinkbin.c:
+         glsinkbin: validate property in internal sink
+         It might be the case that glgsinkbin would try to set a property to
+         its internal sink which doesn't exist in it, leading to a glib's
+         warning. For example, when playsink sets 'force-aspect-ratio' property
+         and glsinkbin has, as internal sink, appsink, which doesn't handle
+         that property.
+         The patch validates the incoming property to forward to internal sink
+         if it exists in the internal sink and both properties has the same
+         type.
+
+2019-01-11 16:37:40 +0100  Wim Taymans <wtaymans@redhat.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: fix number of allocated lines
+         We make an allocator for temporary lines and then use this for all
+         the steps in the conversion that can do in-place processing.
+         Keep track of the number of lines each step needs and use this to
+         allocate the right number of lines.
+         Previously we would not always allocate enough lines and we would
+         end up with conversion errors as lines would be reused prematurely.
+         Fixes #350
+
+2018-07-05 13:45:14 +0100  Alex Ashley <alex.ashley@youview.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+       * tests/check/libs/pbutils.c:
+         codec-utils: support extension audio object type and sample rate
+         ISO 14496-3 defines that audioObjectType 5 is a special case that
+         indicates SBR is present and that an additional field has to be
+         parsed to find the true audioObjectType.
+         There are two ways of signaling SBR within an AAC stream - implicit
+         and explicit (see [1] section 4.2). When explicit signaling is used,
+         the presence of SBR data is signaled by means of the SBR
+         audioObjectType in the AudioSpecificConfig data.
+         Normally the sample rate is specified by an index into a
+         table of common sample rates. However index 0x0f is a special case
+         that indicates that the next 24 bits contain the real sample rate.
+         [1] https://www.telosalliance.com/support/A-closer-look-into-MPEG-4-High-Efficiency-AAC
+         Fixes #39
+
+2019-01-11 11:26:26 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/pango/gstbasetextoverlay.c:
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+         Fix some typos in code comments
+         And don't use gtk-doc chunk markers for internal functions.
+
+2019-01-11 11:24:50 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/video-format.h:
+         video: link to design docs in GstVideoFormat docs
+         Which is where the memory layout of the various pixel formats
+         is explained in detail.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/538
+
+2018-12-29 11:28:10 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+       * gst/audiotestsrc/gstaudiotestsrc.h:
+         audiotestsrc: Improvements to the "ticks" wave
+         (Initially discussed in
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/305)
+         The ticks waveform can be useful for audio synchronization diagnostics
+         and other cases where the time offset between waveforms is important.
+         However, in its current form, it is too limited, and has problems with
+         discontinuities, which result in severe artifacts when this waveform
+         is output by a DAC.
+         This patch fixes some discontinuities and considerably expand the ticks
+         waveform's flexibility. They also introduce the notion of a "marker tick";
+         every Nth tick can have a different amplitude (usually one that is larger
+         than the others). This is useful for combining frequent oscilloscope
+         triggering with large time offset detection. For example, without marker
+         ticks, the tick intervals must not be too small, otherwise the maximum time
+         offset that can be unambiguously detected is quite small (for example, if
+         the interval is 50ms, then no time offset larger than 25ms can be
+         unambiguously recognized). If the tick intervals are too far apart, then
+         no sudden changes can be clearly observed, since the oscilloscope is not
+         updated quickly enough. But with marker ticks, this is not an issue: If
+         there's for example a tick every 100 ms, then the oscilloscope can be
+         triggered every 100 ms. And, if every 20th tick is a marker tick, then
+         time offsets of up to 1 second can be discovered, even though the time
+         between ticks is 100 ms.
+         The patch also applies some minor cleanup to the audiotestsrc documentation.
+
+2019-01-05 00:16:36 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * ext/gl/gstgloverlay.c:
+         gl: fix build with more recent versions of MinGW
+
+2019-01-06 16:32:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+         docs: add new interlaced video API to docs
+
+2019-01-06 00:48:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiometa.h:
+         audiometa: fix docs typo
+
+2018-12-30 18:49:52 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/meson.build:
+         tests: Enable more tests on Windows
+         Enable libs_rtp, libs_video and elements_compositor
+
+2018-12-30 20:10:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/compositor.c:
+         tests: compositor: Drop needless unistd.h
+
+2018-12-30 19:49:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+         rtcpbuffer: Remove invalid sanity check
+         Checking the address distance between given begin/end sequence
+         doesn't make sense. They are output params.
+         This is to fix weird failure of libs_rtp on Windows
+
+2018-12-30 18:05:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+         rtcpbuffer: fix typo
+
+2018-12-30 17:26:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+         rtcpbuffer: fix function guards with side effects
+         Code in g_return_*() must not have side effects, as it
+         might be compiled out if -DG_DISABLE_CHECKS is used, in
+         which case we would read garbage off the stack.
+
+2018-12-27 17:35:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-base-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-base-plugins-sections.txt:
+       * ext/gl/Makefile.am:
+       * ext/gl/gstopengl.c:
+       * ext/gl/meson.build:
+         gl: build gl mixer elements, moved from -base
+
+2018-12-27 13:34:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * .gitignore:
+       * configure.ac:
+       * docs/plugins/gst-plugins-base-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-base-plugins-sections.txt:
+       * docs/plugins/gst-plugins-base-plugins.hierarchy:
+       * docs/plugins/gst-plugins-base-plugins.interfaces:
+       * docs/plugins/inspect/plugin-compositor.xml:
+       * gst/compositor/Makefile.am:
+       * gst/compositor/meson.build:
+       * gst/meson.build:
+       * meson_options.txt:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/meson.build:
+       * tests/examples/Makefile.am:
+       * tests/examples/compositor/Makefile.am:
+       * tests/examples/compositor/meson.build:
+       * tests/examples/meson.build:
+         compositor: add to build after move from -bad
+         This replaces videomixer.
+         Fixes #138
+
+2018-12-26 18:02:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-docs.sgml:
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * docs/libs/gst-plugins-base-libs.types:
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video.h:
+         video: build GstVideoAggregator which was moved from -bad
+
+2018-12-28 12:15:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+         Move GstVideoAggregator, compositor and OpenGL mixers from -bad
+         Merge branch 'videoaggregator-compositor-glmixers-move'
+         Fixes #137 and #138.
+
+2018-12-27 11:41:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Extend MCC typefinder to also cover version 2.0
+         Both versions are basically the same, but version 2.0 also allows
+         60000/1001 as framerate and allows to specify the field and line number
+         for each payload.
+         Put the major version into the caps so that elements can limit via caps
+         negotiation which versions they can support.
+
+2018-12-27 14:55:28 +0100  Philippe Normand <philn@igalia.com>
+
+       * tests/examples/gl/gtk/meson.build:
+       * tests/examples/gl/meson.build:
+         examples/gl/gtk: Fix build on macOS
+         The gdkquartz.h include pulls into Apple Obj-C frameworks so the compiler needs
+         to handle the gstgtkhelper library as such.
+         Fixes #518
+
+2018-12-23 20:27:27 +0100  Philippe Normand <philn@igalia.com>
+
+       * tests/examples/gl/cocoa/meson.build:
+       * tests/examples/gl/meson.build:
+         examples/gl: Cocoa example Meson build definitions
+
+2018-12-19 15:18:41 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Add SCC and MCC files support
+
+2018-12-17 19:41:26 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+       * tests/check/libs/videotimecode.c:
+         videotimecode: Set the DROP_FRAME flag when parsing timecodes with a ,/; from a string
+         And also add a test for parsing a few valid and invalid timecodes
+
+2018-12-14 21:24:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Allow serializing invalid timecodes
+
+2018-12-14 21:18:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Allow deserializing invalid timecodes
+         Timecode strings don't contain a framerate and that has to be provided
+         first separately before it can be converted into a valid timecode.
+
+2018-12-14 21:04:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Don't consider 0/1 a valid framerate for timecodes
+         It breaks all the calculations. While it can make sense during
+         initialization, there's very little API that can be called with such
+         timecodes without ending up with wrong results.
+
+2018-12-14 21:00:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Remove various unneeded checks
+
+2018-12-14 20:59:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Fix handling of timecodes without daily jam in gst_video_time_code_to_date_time()
+         So that it behaves according to documentation.
+
+2018-12-14 20:58:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Various documentation and annotation fixes
+
+2018-12-14 18:10:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Add some more guards for function parameters
+
+2018-12-14 17:56:45 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/video/gstvideotimecode.c:
+       * gst-libs/gst/video/gstvideotimecode.h:
+       * tests/check/libs/videotimecode.c:
+         videotimecode: Add API for initializing from a GDateTime with validation
+         The old API would only assert or return an invalid timecode, the new API
+         returns a boolean or NULL. We can't change the existing API
+         unfortunately but can at least deprecate it.
+
+2018-12-14 14:13:18 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: We only support 30000/1001 and 60000/1001 as drop-frame framerates
+         24000/1001 is *not* a drop-frame framerate.
+
+2018-12-14 13:56:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Fix division by zero in timecode validation function
+         And add some comments about what exactly we're testing in the
+         non-trivial cases.
+
+2018-12-14 13:43:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-prelude.h:
+         video: Add deprecation macros
+
+2018-12-07 21:02:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/meson.build:
+         tests: Disable some tests for Windows
+         Disable some tests which are unstable on windows or need fix
+
+2018-12-07 20:35:37 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/meson.build:
+         tests: Use OS-specific seperator for whitelist
+         ... instead of hardcoded ':', since G_SEARCHPATH_SEPARATOR_S
+         varies depending on OS (e.g., ':' for *nix and ';' for Windows).
+         Note that, when the seperator is not specified explicitly, Meson
+         will use ';' for Windows and ':' for *nix respectively.
+
+2018-12-07 20:30:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/check/meson.build:
+         meson: Use join_paths() instead of '/'
+         Let Meson decide correct seperator such as '\' for Windows and
+         '/' for others
+
+2018-12-07 20:10:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/meson.build:
+         tests: Enable testing on Windows
+
+2018-12-17 13:33:56 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+       * gst/audioconvert/gstaudioconvert.c:
+         audio-converter: add API to determine passthrough mode
+         audioconvert's passthrough status can no longer be determined
+         strictly from input / output caps equality, as a mix-matrix can
+         now be specified.
+         We now call gst_base_transform_set_passthrough dynamically, based
+         on the return from the new gst_audio_converter_is_passthrough()
+         API, which takes the mix matrix into account.
+
+2018-12-16 21:19:18 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+         audioconvert: disable passthrough_on_same_caps
+         Now that audioconvert exposes a mix-matrix property, input and
+         output caps may be equal, but the mix-matrix still needs to be
+         applied.
+         Fixes #521
+
+2018-12-17 09:21:57 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/video-converter.c:
+         video-converter: Remove unused variable/calculation
+         Since the refactoring in cdd86d025a7c2e1c00e7a86731168793e6104276
+         calculating the stride was no longer needed in setup_scale.
+
+2018-12-17 09:10:36 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Remove dead assignment
+         structure is never used afterwards
+
+2018-12-17 09:07:26 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdpmessage: Remove dead assignment
+         p is overridden before being used (as the for() loop iterator)
+
+2018-12-17 09:03:36 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+         sdpmessage: Remove dead assignment
+         The presence of `key-mgmt` attribute will set the mikey appropriately.
+         We therefore don't need to check the return value (which will
+         be overwritten afterwards).
+
+2018-12-17 08:58:21 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Properly exit infinite loop
+         In the unlikeliness the builder state is invalid, exit the
+         top-level while(TRUE) loop.
+
+2018-12-17 08:50:44 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+         audiobasesink: Remove dead assignment
+         out_samples is set and used in the 'no_align' block.
+         Dead assignment since 3e312e6e162638d8e07f0edb3859980dabb089da
+
+2018-12-16 11:14:47 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         codec-utils: Don't leak bytewriter data
+         In error cases, don't forget to reset it.
+
+2018-12-16 23:15:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpmeta.h:
+         rtp: fix g-i warnings
+         Use same variable name in function declaration as in function
+         definition and gtk-doc/g-i blurb.
+
+2018-12-11 14:10:36 +0200  Sebastian Dröge <sebastian@centricular.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 API for converting GstVideoCaptionType from/to GstCaps
+
+2018-12-10 15:55:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: Replace GST_VIDEO_CAPTION_TYPE_CEA608_IN_CEA708_RAW with CEA608_S334_1A
+         CEA608_IN_CEA708_RAW is the same format as CEA708_RAW. It's only
+         difference is that it must contain only CEA608 and a format like this
+         does not exist in practice. In practice every element that handles raw
+         cc_data triplets must check each triplet for their actual content and
+         handle them accordingly.
+         For CC-only streams a parser could signal the existence of CEA608 and/or
+         CEA708 inside the caps but for metas this can only potentially be
+         signalled via the ALLOCATION query for negotiation purposes.
+         A separate format for this is not very useful and instead it should be a
+         format qualifier.
+         CEA608_S334_1A is the format defined by SMPTE S334-1 Annex A and which
+         is used for transferring CEA608 over SDI instead of CEA708 CDP packets.
+
+2018-12-14 14:07:47 +0100  Niels De Graef <nielsdegraef@gmail.com>
+
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+         gl/wayland: destroy wl_shell instance at finalize
+
+2018-12-14 12:04:43 +0900  Justin Kim <jeongseok.kim@sk.com>
+
+       * tests/examples/gl/meson.build:
+         tests: examples: gl: gtk: Disabled on MacOS X
+         It fails to build on MacOS X. This example should be disabled
+         until fixed.
+         Issue: #518
+
+2018-12-14 12:03:07 +0900  Justin Kim <jeongseok.kim@sk.com>
+
+       * tests/examples/gl/generic/recordgraphic/main.cpp:
+         examples: gl: generic: recordgraphic: Use gst/gl/gstglfuncs.h
+         https://gitlab.freedesktop.org/gstreamer/gst-build/issues/11
+
+2018-12-14 12:02:36 +0900  Justin Kim <jeongseok.kim@sk.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: Add OpenGL dependency by OSX way
+         Otherwise, it fails to link with the message below:
+         ```
+         ld: can't map file, errno=22 file '...'
+         ```
+         https://gitlab.freedesktop.org/gstreamer/gst-build/issues/13
+
+2018-12-13 11:20:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+         rtcpbuffer: Validate the length of RTCP packets
+
+2017-11-01 10:54:06 +0900  Justin Kim <justin.kim@collabora.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+       * tests/check/libs/rtp.c:
+         rtcpbuffer: add support XR packet parsing
+         According to RFC3611, the extended report blocks in XR packet can
+         have variable length. To visit each block, the iterator should look
+         into block header. Once XR type is extracted, users can parse the
+         detailed information by given functions.
+         Loss/Duplicate RLE
+         The Loss RLE and the Duplicate RLE have same format so
+         they can share parsers. For unit test, randomly generated
+         pseudo packet is used.
+         Packet Receipt Times
+         The packet receipt times report block has a list of receipt
+         times which are in [begin_seq, end_seq).
+         Receiver Reference Time paser for XR packet
+         The receiver reference time has ntptime which is 64 bit type.
+         DLRR
+         The DLRR report block consists of sub-blocks which has ssrc, last RR,
+         and delay since last RR. The number of sub-blocks should be calculated
+         from block length.
+         Statistics Summary
+         The Statistics Summary report block provides fixed length
+         information.
+         VoIP Metrics
+         VoIP Metrics consists of several metrics even though they are in
+         a report block. Data retrieving functions are added per metrics.
+         https://bugzilla.gnome.org/show_bug.cgi?id=789822
+
+2018-12-12 15:48:09 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: dmabuf: use out_info to create allocation params for non-direct dmabuf uploads as well
+         Non-direct dmabuf uploads, just as direct dmabuf uploads, create EGL
+         images and thus GL textures of the same width as the imported image.
+         The input dmabuf line stride is not relevant to the resulting texture
+         in both cases.
+         This fixes the case where non-direct uploads of input dmabufs with line
+         stride larger than the width will for example cause glcolorconvert to
+         sample only the left part (width * bytes per pixel / stride) of the
+         image, causing a horizontally stretched and cropped output image.
+
+2018-12-12 23:25:58 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglmemory.c:
+         glmemory: normalize the internal format we pass into glTex* functions
+         Passing unsized formats sometimes breaks on embedded platforms
+         Take 2 at 694e30f858ebddae8c39cf934ff1b21ba7aa08e7,
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/49
+
+2018-12-12 23:14:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglformat.c:
+         Revert "glformat: return sized formats in from_video_info"
+         This broke videotestsrc ! video/x-raw,format=NV12 ! glimagesink on
+         the desktop
+         Reverts: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/49
+         This reverts commit 694e30f858ebddae8c39cf934ff1b21ba7aa08e7.
+
+2018-12-07 19:13:59 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-overlay-composition.c:
+         video-overlay-composition: Optimize premultiplication/unpremultiplication loops
+         Pull in video frame fields into local variables. Without this the
+         compiler must assume that they could've changed on every use and read
+         them from memory again.
+         This reduces the inner loop from 6 memory reads per pixels to 4, and the
+         number of writes stays at 3.
+
+2018-11-30 13:37:26 +0100  Per Forlin <per.forlin@axis.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Replace Auth header instead of append
+         gst_rtsp_connection_send() adds the Authorization header to the request.
+         If this function is being called multiple times with the same request
+         it will add one more Authorization header every time.
+         To fix to this issue do not append a new Authorization header on
+         top of an existing ones. Remove any existing Authorization headers first
+         and then add the new one.
+         Fixes gst-plugins-good#425
+
+2018-12-05 10:35:33 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * ext/ogg/gstoggmux.c:
+         oggmux: Fix a maybe-uninitialized warning
+         Arch Linux, GCC 8.2.1+20181127, CFLAGS='-Og -g3'
+
+2018-12-05 10:35:33 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Fix a maybe-uninitialized warning
+         Arch Linux, GCC 8.2.1+20181127, CFLAGS='-Og -g3'
+
+2018-12-05 17:24:06 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * common:
+         Automatic update of common submodule
+         From cd1dee0 to 59cb678
+
+2018-12-05 12:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgldeinterlace.c:
+         gldeinterlace: Indentation fix
+
+2018-12-01 20:45:31 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+         gl: window-gbm: Restore CRTC on close
+         This simply try and restore the state of the CRTC when the window
+         is closed. This is a bit cosmetic, but it allow resuming fbcon
+         when we exit.
+
+2018-12-01 20:41:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
+         gl: window-gbm: Remove unused private class member
+         The display class member is not used, not set and rather
+         confusing.
+
+2018-12-01 20:30:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+         gl: window-gbm: Remove unneeded extra function
+         The cleanup function was only called in _close() which was only
+         calling that function. This indirection didn't make much sense.
+
+2018-11-23 14:40:27 +0800  Wangfei <fei.w.wang@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 Y410 pixel format.
+         This pixel format is packed format with 4:4:4 sample. And 10
+         available bits of Y/U/V and 2 available bits of alpha stored
+         in 4 Bytes.
+         Format defined in:
+         https://docs.microsoft.com/en-us/windows/desktop/medfound/10-bit-and-16-bit-yuv-video-formats
+
+2018-10-04 00:27:42 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
+         gl/gbm: Add GST_GL_GBM_DRM_CONNECTOR environment variable
+         If multiple DRM connectors are connected, currently the first one is
+         picked. Improve this by adding an environment variable that allows for
+         choosing a connector by name. The connector name has been made so they
+         are compatible with modetest/modeprint DRM utilities.
+         Related to #490
+
+2018-10-04 00:22:02 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.c:
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
+         gl/gbm: Improve logging output
+         * List all connectors, modes, and encoders, even after picking one
+         * Add missing DRM_MODE_CONNECTOR_DPI string for logging and improve
+         existing strings
+         * Make sure the names matches modetest/modeprint from DRM utilities
+         Related to #490
+
+2018-11-30 12:40:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         video: convertframe: Shut down pipeline asynchronously via the thread pool
+         If we use the main loop it might happen that the caller (e.g. our unit
+         test) already shut down the loop once the result was received and in
+         that case the pipeline would never ever be shut down (and our unit test
+         would hang).
+
+2018-11-30 12:39:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/video.c:
+         video: Split the success and error convert_frame_async() test into two tests
+         To make it more obvious which of the two is actually failing.
+
+2018-11-29 12:55:28 +0100  Marouen Ghodhbane <marouen.ghodhbane@nxp.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+         audio-convert: Fix endianness conversion function init
+         Endianness conversion should be based on the sample width instead of the
+         sample depth.
+         Fixes #510
+
+2018-11-30 17:50:14 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglformat.c:
+         glformat: return sized formats in from_video_info
+         Fixes green output on e.g. Android when converting between YUV->RGBA
+
+2018-11-23 16:41:38 +0300  Freyr666 <sky_rider_93@mail.ru>
+
+       * ext/gl/gstgldeinterlace.c:
+         opengl: gldeinterlace: remove interlace-mode from srcpad's caps
+         This fixes output caps format, so the output frames are not interlaced anymore
+
+2018-11-28 11:13:39 +0000  Philippe Normand <philn@igalia.com>
+
+       * ext/gl/gstgltestsrc.c:
+         gltestsrc: Run context query only during decide_allocation
+         Running the context query in _start and during the NULL->READY state transition
+         can fail because downstream elements might not be able to answer and thus the
+         source element would not be able to reuse downstream GLContext and GLDisplay.
+         This issue happened specifically when trying to use gltestsrc in playbin.
+
+2018-11-29 20:51:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/video-anc.h:
+         video: fix typo in GstVideoCaptionType docs
+
+2018-11-28 20:46:05 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: Allow for the use of libGL as well as OpenGL
+         OpenGL.framework and libGL are two different providers of a GL
+         implementation that can be linked into an application together.
+
+2018-11-26 11:29:41 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: G_GNUC_CHECK_VERSION was added in GLib 2.42
+         Define our own version if compiling with older versions. We currently
+         only require GLib 2.40.
+
+2018-11-19 15:09:25 +0000  Maciej Wolny <maciej.wolny@codethink.co.uk>
+
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
+       * gst-libs/gst/gl/gstgldebug.h:
+       * gst-libs/gst/gl/gstglfuncs.h:
+         gst-gl: Remove duplicate declarations
+         This causes 'redefinition of typedef ...' errors on GCC 4.5.3
+
+2018-11-28 05:51:53 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * ext/gl/gstgldownloadelement.c:
+       * ext/opus/gstopusenc.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+       * tests/check/elements/audioconvert.c:
+       * tests/check/pipelines/simple-launch-lines.c:
+         Run gst-indent through the files
+         This is required before we enabled an indent test in the CI.
+         https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
+
+2018-11-23 16:30:30 +0300  Freyr666 <sky_rider_93@mail.ru>
+
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+         opengl: gbm: Adds missing unrefs for gl context and drm node release in finalizer
+         This adds a few missing gst_object_unref calls for the opengl context in
+         gstglwindow_gbm_egl.c, as well as the missing close call for the
+         drm node fd in gst_gl_display_gbm_finalize.
+
+2018-11-23 13:25:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         convertframe: Error out directly in the sync variant if the state change to PAUSED failed
+
+2018-11-23 13:22:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         convertframe: Only go to PAUSED state for the async variant
+         We only care for the pre-roll sample.
+
+2018-11-23 13:21:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         convertframe: Error out directly if changing the pipeline state to PLAYING failed
+
+2018-11-23 13:16:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/convertframe.c:
+         convertframe: Use refcounting for the context
+         While this creates a circular reference between the pipeline and the
+         context, this ensures that the context stays alive for as long as any
+         callbacks could be called on it. The circular reference is broken once
+         the conversion is finished (or error, or timeout), which will then cause
+         everything to be freed.
+         Previously it was possible that a callback could be called on the
+         context right after it was freed already.
+         Also use only a single context structure, the second structure does not
+         simplify anything and duplicates storage.
+
+2018-11-22 11:10:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/gstgldebug.h:
+       * gst-libs/gst/gl/gstglquery.h:
+       * gst-libs/gst/gl/gstglshader.c:
+         gl: libs: glib might not define G_HAVE_ISO_VARARGS
+         This will fix the compiler warning
+         "G_HAVE_ISO_VARARGS" is not defined, evaluates to 0 [-Wundef]
+
+2018-11-21 15:08:42 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/tag/meson.build:
+         Check for zlib header
+
+2018-11-21 16:12:20 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * tests/examples/gl/generic/meson.build:
+         Disable gl examples when we don't have OpenGL
+
+2018-11-19 16:31:20 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/tag/meson.build:
+         Fix zlib detection when there is no pkg-config file
+
+2018-11-13 17:40:23 +0100  Tomasz Andrzejak <andreiltd@gmail.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudiodecoder.h:
+         audiodecoder: add API for setting caps on the source pad
+         This patch adds API in the audio decoder base class for setting the arbitrary
+         caps on the source pad.  Previously only caps converted from audio info were
+         possible.  This is particularly useful when subclass wants to set caps features
+         for audio decoder producing metadata.
+
+2018-10-17 15:58:40 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+         gl: Fix subclassing of GstGLContextEGL
+
+2018-11-15 11:28:11 +0200  Philippe Normand <philn@igalia.com>
+
+       * gst-libs/gst/video/video-format.c:
+       * gst-libs/gst/video/video-format.h:
+         video-format: Move Y210 format declaration to avoid ABI break
+         The Y210 format was added in the middle of the formats enum and list,
+         introducing an ABI break.
+         This issue was detected thanks to the gstreamer-rs test harness.
+
+2018-10-16 12:31:57 +0200  Linus Svensson <linussn@axis.com>
+
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtpbasepayload: Update current seqnum for buffer lists
+         The current sequence number will be the one from the first RTP buffer
+         when a buffer list is pushed, but should be the last one.
+         Fixes #495
+
+2018-10-28 13:47:04 +0000  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: Cleanup old FIXMEs that relied on meson bugfixes
+
+2018-11-07 16:45:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/libs/videoanc.c:
+         video-anc: Add test for VBI encoder
+
+2018-11-07 15:12:13 +0200  Sebastian Dröge <sebastian@centricular.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: Implement a VBI encoder
+         This allows writing out data from caption meta and similar to VBI
+
+2018-11-09 10:54:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Add comment about our assumption of the ADF user data format
+         We assume here the same data format for the user data as for the
+         DID/SDID: 10 bits with parity in the upper 2 bits. In theory some
+         standards could define this differently and even have full 10 bits of
+         user data but there does not seem to be a single such standard after
+         all these years.
+
+2018-11-08 18:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+       * tests/check/libs/videoanc.c:
+         video-anc: Add support for parsing composite ADF and check the packets' checksum
+         And add the checksum to the data we test in the unit test.
+
+2018-11-07 14:20:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.h:
+         video-anc: Fix documentation about SDID_block_number field
+         It was giving type 2 for both variants.
+
+2018-11-07 13:58:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Add invalid-argument guards to public GstVideoVBIParser API
+
+2018-11-12 13:55:24 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * .gitlab-ci.yml:
+         Add Gitlab CI configuration
+         This commit adds a .gitlab-ci.yml file, which uses a feature
+         to fetch the config from a centralized repository. The intent is
+         to have all the gstreamer modules use the same configuration.
+         The configuration is currently hosted at the gst-ci repository
+         under the gitlab/ci_template.yml path.
+         Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
+
+2018-11-11 08:52:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglsl.h:
+         gl: Make sure that GST_GLSL_PROFILE_ANY gets the correct value in introspection
+         Currently in Python it would become a signed 64 bit value but should
+         actually be an unsigned 32 bit value with all bits set.
+         This is the same problem as with GST_MESSAGE_TYPE_ANY.
+         See https://bugzilla.gnome.org/show_bug.cgi?id=732633
+
+2018-11-09 09:32:49 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: dmabuf: be explicit about gl formats used
+         Rather then letting gst_gl_memory_setup_buffer guess the GL format used
+         for an eglimage after importing a dmabuf be explicit about it. This
+         fixes issues where dmabuf import may have used another format then
+         gst_gl_format_from_video_info would guess on the basis of the available
+         GL extensions.
+         In particular on etnaviv the gst_gl_format_from_video_info would
+         assuming a luminance + alpha GL format is used for YUY2, but the dmabuf
+         import will always use RG88. Which causes images to end up somewhat pink when
+         displayed on the screen.
+
+2018-11-09 10:30:06 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         gl/egl: Determine correct format on dmabuf import
+         When importing an egl image from dmabuf gst_gl_format_from_video_info
+         was used to work what the result GL format will be. Unfortunately that
+         will only work if the conventional format and the choosen DRM fourcc for
+         the format match up.
+         On etnaviv platforms there is no support for GL_EXT_texture_rg, so the
+         GL format chosen for YUY2 ends up being GST_GL_LUMINANCE_ALPHA. However
+         DRM does not do luminance + alpha as it's a legacy GL thing, so the
+         dmabuf import ends up using DRM_FORMAT_GR88.
+         To fix this, tie the DRM_FORMAT and the GL format together so they
+         always match up.
+
+2018-11-09 12:22:31 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Avoid potential unitialized/wrong bitrate value
+         Only calculate and set the bitrate if all conditions are met.
+
+2018-11-07 16:28:28 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Fix previous commit
+         rebase wasn't correct :)
+
+2018-07-30 17:56:18 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/elements/urisourcebin.c:
+         tests/urisourcebin: add get/set watermark test
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-07-30 14:57:23 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/urisourcebin.c:
+       * tests/check/meson.build:
+         urisourcebin: add a statistics property for queueing
+         It contains the minimum/maximum/average byte and time levels of the
+         queues inside this urisourcebin
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-07-30 14:56:40 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         uisourcebin: update forwarded properties on change
+         Allows changing queueing properties at runtime
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-07-30 14:48:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: add low/high-watermark properties
+         These are forwarded to the contained queues.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-07-23 14:14:32 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: limit the byte size of the queue based on the buffer-size
+         Use the bitrate advertised by queue2 to determine the limits to
+         set across possibly multiple queue2/downloadbuffer elements.  e.g.
+         with two queue2's and a max-bytes based on the ratio of the
+         bitrate/cumulative_bitrate multiplied by the buffer_size set on urisourcebin.
+         This allows finer grained control over the buffer used by all the queue
+         elements inside urisourcebin.  Instead of a maximum of
+         n_streams*buffer_size being used, only buffer_size will be used however
+         we will fallback to n_streams*buffer_size if one of the queue2's does
+         not have bitrate information.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-06-27 20:17:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: remove unused instance variable streams
+
+2018-11-05 12:00:55 +0100  Edward Hervey <edward@centricular.com>
+
+       * tests/examples/overlaycomposition/Makefile.am:
+         examples: Fix libgstvideo linking
+         Use the local libgstvideo (and not the system wide one)
+
+2018-11-04 21:17:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/audio-format.c:
+       * gst-libs/gst/audio/audio-format.h:
+         audio: const gpointer is not the same as gconstpointer/const void *
+         See https://bugzilla.gnome.org/show_bug.cgi?id=664491
+
+2018-11-05 05:35:12 +0000  Matthew Waters <matthew@centricular.com>
+
+       * .gitmodules:
+         Update common submodule location without /git/ directory
+
+2018-11-05 12:06:15 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * .gitmodules:
+       * gst-plugins-base.doap:
+         Clone the code from gitlab
+         This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/503
+
+2018-11-02 20:31:54 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+       * gst/compositor/compositororc-dist.h:
+         compositor: update disted orc backup files
+
+2018-11-01 19:19:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/libs/.gitignore:
+       * tests/check/libs/videoanc.c:
+       * tests/check/meson.build:
+         video-anc: Add unit tests for VBI parsing
+         https://bugzilla.gnome.org/show_bug.cgi?id=797363
+
+2018-11-01 19:19:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video-anc: Fix bounds checks when parsing VBI data
+         We were reading more bytes than we allocated.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797363
+
+2018-10-31 18:30:14 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Only renegotiate if the caps are incompatible
+         There is new code that ensures that we renegotiate after an
+         uploader transition if the negotiated caps have changed.
+         The problem is that the raw uploader will not really try and
+         fixate the input caps, but instead of return a subset with the
+         only the supported target texture.
+         This had two effect, raw uploads was always done renegotiated
+         once and the raw upload unit test was now failing as it didn't
+         expect a renegotiation.
+         As it's a valid check, simply relax the gst_caps_is_equal() check
+         and use a gst_caps_is_subset() instead.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-31 18:26:42 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Do prepend the preferred caps
+         The direct dmabuf upload does color conversion, so when it transforms
+         the caps, it replaces the format with all formats found through the
+         format query. When this uploader can't be used, it makes the upstream
+         source pick a unsupported format.
+         To fix this, we only append the caps with a list of format. So the
+         source will only pick one of these formats if the downstream preferred
+         format is not supported. A negotiation failure after this would be
+         normal.
+         This fixes pipelines without a glcolorconvert element.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-31 18:24:33 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/libs/gstglupload.c:
+         glupload-test: Don't use gboolean to store enums
+         The unit test makes mixed usage of ret value. Sometimes its does
+         stores an enum and at other moment a boolean. Also fix test
+         using boolean instead of the correct enum value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-28 14:46:15 +0000  Philippe Normand <philn@igalia.com>
+
+       * tests/examples/playback/playback-test.c:
+         examples/playback-test: New entry for text-offset updates
+         https://bugzilla.gnome.org/show_bug.cgi?id=797134
+
+2018-10-28 14:45:26 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: New text-offset property
+         This new property controls the synchronisation offset between the text and video
+         streams. Positive values make the text ahead of the video and negative values
+         make the text go behind the video.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797134
+
+2018-10-28 14:43:01 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstplaybin2.c:
+         playbin: New text-offset property
+         This new property controls the synchronisation offset between the text and video
+         streams. Positive values make the text ahead of the video and negative values
+         make the text go behind the video.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797134
+
+2018-10-28 14:42:31 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstplaysink.c:
+       * gst/playback/gstplaysink.h:
+         playsink: Add text-offset property
+         When the playsink contains a text chain this property controls the
+         synchronisation of the subtitles and video by controlling the underlying
+         subtitleoverlay::subtitle-ts-offset property.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797134
+
+2018-10-28 14:35:17 +0000  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstsubtitleoverlay.c:
+       * gst/playback/gstsubtitleoverlay.h:
+         subtitleoverlay: Add a subtitle-ts-offset property
+         This property controls the synchronisation offset between text and video in
+         nanoseconds, by updating the parser src pad offset.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797134
+
+2018-10-31 19:20:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Fix enum type mismatch
+         The variable blend_mode is GstCompositorBlendMode but it is
+         assigned to a GstCompositorOperator enum value.
+
+2018-10-09 15:25:37 +0800  Wangfei <fei.w.wang@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 Y210 pixel format.
+         This pixel format is packed format with 4:2:2 sample and 10
+         available bits of each channel.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797267
+
+2018-10-30 10:05:03 +0100  Johan Bjäreholt <johanbj@axis.com>
+
+       * gst/compositor/compositororc-dist.h:
+         compositor: fix undeclared functions
+
+2018-10-17 17:22:10 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         glupload: dmabuf-direct: report driver limitations to debug log
+         Report in the DEBUG log if the driver does not support importing a given
+         format with linear modifiers non-externally.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-17 17:11:20 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         glupload: dmabuf-direct: query formats before modifiers
+         The EXT_image_dma_buf_import_modifiers extension [1] states regarding
+         eglQueryDmaBufModifiersEXT:
+         The format must be one of those returned by the
+         eglQueryDmaBufFormatsEXT command.
+         To comply with this requirement eglQueryDmaBufFormatsEXT must be called
+         before eglQueryDmaBufModifiersEXT.
+         [1] https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-17 17:09:26 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: debug output from dmabuf and dmabuf_direct upload transform_caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-17 15:47:07 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         glupload: calculate DRM fourcc once for direct dmabuf upload
+         Calculate DRM fourcc and report to the DEBUG log about it only once
+         instead of three times in gst_egl_image_from_dmabuf_direct().
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-05 10:17:27 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Implement direct dmabuf uploader
+         The idea is that some GPUs (like the Vivante series) can actually
+         perform the YUV->RGB conversion internally, so no custom conversion
+         shaders are needed. To make use of this feature, we need an additional
+         uploader that can import DMABUF FDs and also directly pass the pixel
+         format, relying on the GPU to do the conversion.
+         Based on patches from Nicolas Dufresne <nicolas.dufresne@collabora.com> and
+         Carlos Rafael Giani <dv@pseudoterminal.org>.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-04 09:29:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * ext/gl/gstgluploadelement.c:
+         gluploadelement: try to avoid dropping buffers
+         Without this, a buffer is dropped if glupload indicates that it is
+         necessary to reconfigure.
+         Avoid this by explicitly reconfiguring immediately and uploading the buffer
+         again.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-04 09:21:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: handle upload methods with different caps
+         If a upload method is selected then use it exclusively in transform_caps().
+         Also, reconfigure if the current caps don't match the current upload
+         method.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-05 15:17:30 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: allow system memory for dmabuf in transform_caps
+         This should not be necessary, but currently not all plugins that provide
+         dmabuf memory announce this with caps features, e.g. v4l2.
+         The static caps already contain the system memory. It didn't break before
+         because other upload methods provide the necessary transformation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-04 09:17:11 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: try to use the last method after reconfigure
+         Reconfigure will trigger a set_caps which clears the upload method.
+         Remember the method in this case and start with it.
+         Wrap around once to try all methods if necessary.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-30 12:25:02 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/egl/gstegl.h:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+         gl/egl: Add gst_egl_image_from_dmabuf_direct() function
+         The colorspace conversion happens during the upload so the necessary hints
+         must be provided to ensure that the conversion works correctly.
+         At least the Mesa Intel driver will create a texture without error but
+         produces an incorrect result. Use eglQueryDmaBufModifiersEXT() to check if
+         non-external upload is supported for the given format.
+         Based on a patch from Carlos Rafael Giani <dv@pseudoterminal.org>.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2017-06-07 18:00:08 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglmemory.c:
+         glmemory: Fix n_wrapped_pointers usage
+         gst_gl_memory_setup_buffer() was not properly using the number
+         of pointers to wrapped. This also fixes the validation, as we
+         only support 1 wrapper per view, or num_planes * views wrapper.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-10-29 09:18:35 +0100  Johan Bjäreholt <johanbj@axis.com>
+
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+         overlaycomposition: Fix implicit use of memset
+         https://bugzilla.gnome.org/show_bug.cgi?id=797353
+
+2018-10-28 17:41:38 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/inspect/plugin-overlaycomposition.xml:
+         overlaycomposition: Add plugin inspect file
+
+2018-10-28 17:21:08 +0000  Philippe Normand <philn@igalia.com>
+
+       * tests/examples/overlaycomposition/meson.build:
+         examples: overlaycomposition: Fix Meson build
+
+2018-10-27 16:44:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+       * gst/compositor/compositororc.orc:
+       * tests/examples/compositor/crossfade.c:
+         compositor: Implement different operators via per-pad property
+         This removes the crossfade-ratio property and replaces it with an
+         operator property. Currently this implements the following operators:
+         - SOURCE: Copy over the source and don't look at the destination
+         - OVER: Default blending of the source over the destination
+         - ADD: Like OVER but simply adding the alpha instead
+         See the example for how to implement crossfading with this.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797169
+
+2018-10-01 18:10:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * configure.ac:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-base-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-base-plugins-sections.txt:
+       * gst/meson.build:
+       * gst/overlaycomposition/Makefile.am:
+       * gst/overlaycomposition/gstoverlaycomposition.c:
+       * gst/overlaycomposition/gstoverlaycomposition.h:
+       * gst/overlaycomposition/meson.build:
+       * meson_options.txt:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/overlaycomposition.c:
+       * tests/check/meson.build:
+       * tests/examples/Makefile.am:
+       * tests/examples/meson.build:
+       * tests/examples/overlaycomposition/.gitignore:
+       * tests/examples/overlaycomposition/Makefile.am:
+       * tests/examples/overlaycomposition/meson.build:
+       * tests/examples/overlaycomposition/overlaycomposition.c:
+         overlaycomposition: New element that allows applications to draw GstVideoOverlayComposition on a stream
+         https://bugzilla.gnome.org/show_bug.cgi?id=797234
+
+2018-08-08 17:35:08 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Add missing locks/unlocks of the chain mutex
+         Before freeing pending pads it is required to hold the mutex, that's
+         what is protecting the list of pending pads in other places.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796935
+
+2018-10-27 15:48:13 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/pipelines/tcp.c:
+         tests: Solidify tcp connection check
+         The previous failure was a timeout which was due to the sending pipeline
+         pushing test buffer *before* the remote client was accepted. We would
+         therefore never get the buffer on the other side.
+         While the client socket would indeed appear as "connected", this doesn't
+         mean that the remote server side did "accept" it (which is where we then
+         add it to the list of remote parties to which data will be sent).
+         The problem isn't with the element implementation, but to the nature of
+         TCP 3-way handshake.
+         In order to make the test reliable, wait for the sink to have accepted
+         the remote client (by checking the number of handles) before sending out
+         test buffers.
+
+2018-10-27 12:37:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/Makefile.am:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+       * gst/compositor/compositorpad.h:
+         compositor: Remove extra header for the pad declaration
+         There's no reason for having this separate apart from making things less
+         discoverable.
+
+2018-07-24 18:40:36 +0800  Roland Jon <rlandjon@gmail.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: fix eos event leak
+         https://bugzilla.gnome.org/show_bug.cgi?id=796860
+
+2018-10-17 19:43:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/ogg/gstoggdemux.c:
+         oggdemux: Answer POSITION query
+
+2018-10-17 21:09:22 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/compositor/meson.build:
+         meson: Replace empty configuration_data() with copy keyword
+         Use 'copy' keyword to avoid meson warning message.
+         Note that 'copy' keyword in configure_file() is available
+         since meson 0.47.0
+         https://bugzilla.gnome.org/show_bug.cgi?id=797298
+
+2018-09-27 21:21:14 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/video/meson.build:
+       * gst/adder/meson.build:
+       * gst/audiomixer/meson.build:
+       * gst/videotestsrc/meson.build:
+       * gst/volume/meson.build:
+         meson: Replace empty configuration_data() with copy keyword
+         Use 'copy' keyword to avoid meson warning message.
+         Note that 'copy' keyword in configure_file() is available
+         since meson 0.47.0
+         https://bugzilla.gnome.org/show_bug.cgi?id=797298
+
+2018-10-15 19:45:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         videometa: Log map errors with GST_ERROR, not DEBUG
+         Otherwise it's very easy to miss them when gst_video_frame_map() fails
+
+2018-10-10 23:15:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: do not duplicate authentication headers
+         rtsp_connection_send takes care of adding those already,
+         and some reverse proxies such as nginx will reject the request
+         altogether if the Authorization header is present twice,
+         even with the same value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797272
+
+2018-10-10 14:16:12 -0400  Stian Selnes <stian@pexip.com>
+
+       * docs/libs/gst-plugins-base-libs-docs.sgml:
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/rtp/Makefile.am:
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.h:
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+       * gst-libs/gst/rtp/gstrtpbasepayload.h:
+       * gst-libs/gst/rtp/gstrtpmeta.c:
+       * gst-libs/gst/rtp/gstrtpmeta.h:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtp/rtp.h:
+       * tests/check/Makefile.am:
+       * tests/check/libs/.gitignore:
+       * tests/check/libs/rtpbasedepayload.c:
+       * tests/check/libs/rtpbasepayload.c:
+       * tests/check/libs/rtpmeta.c:
+         rtpbasepayload: rtpbasedepayload: Add source-info property
+         Add a source-info property that will read/write meta to the buffers
+         about RTP source information. The GstRTPSourceMeta can be used to
+         transport information about the origin of a buffer, e.g. the sources
+         that is included in a mixed audio buffer.
+         A new function gst_rtp_base_payload_allocate_output_buffer() is added
+         for payloaders to use to allocate the output RTP buffer with the correct
+         number of CSRCs according to the meta and fill it.
+         RTPSourceMeta does not make sense on RTP buffers since the information
+         is in the RTP header. So the payloader will strip the meta from the
+         output buffer.
+         https://bugzilla.gnome.org/show_bug.cgi?id=761947
+
+2018-10-08 01:07:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use new 'python' module instead of deprecated
+         https://github.com/mesonbuild/meson/pull/4169
+
+2018-10-07 19:09:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * configure.ac:
+       * m4/gst-gl.m4:
+       * tests/examples/gl/Makefile.am:
+       * tests/examples/gl/clutter/.gitignore:
+       * tests/examples/gl/clutter/Makefile.am:
+       * tests/examples/gl/clutter/clutteractor.c:
+       * tests/examples/gl/clutter/clutteractortee.c:
+       * tests/examples/gl/clutter/cluttershare.c:
+       * tests/examples/gl/clutter/cluttershare.cbp:
+       * tests/examples/gl/clutter/meson.build:
+       * tests/examples/gl/meson.build:
+         examples: gl: remove bitrotten clutter examples
+         https://bugzilla.gnome.org/show_bug.cgi?id=797173
+
+2018-10-05 15:37:45 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/audioconvert.c:
+         tests: audioconvert: test caps fixate with layout conversion
+         https://bugzilla.gnome.org/show_bug.cgi?id=797225
+
+2018-09-29 10:39:46 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+         audioconvert: remove layout from structure when fixating caps
+         otherwise caps intersection always fails when converting non-interleaved to interleaved audio
+         https://bugzilla.gnome.org/show_bug.cgi?id=797225
+
+2018-10-05 01:19:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstgloverlay.c:
+         Revert "Revert "gl: use correct blend functions for unpremultiplied alpha""
+         This reverts commit 452d90a88c6e68a3daa38e02213782836788236a.
+         This was actually correct. sorry for the noise!
+
+2018-10-04 23:45:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix the default blend modes for unpremultipled alpha
+         Alpha in GStreamer is unpremultiplied
+
+2018-10-05 00:48:58 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: make multiview none equivalent to mono
+         Fixes the internal viewconvert to not scale buffers for output with the
+         following pipeline:
+         gltestsrc ! glimagesink
+         It also fixes overlay composition with a resized output with an OpenGL
+         upstream:
+         gltestsrc ! timeoverlay ! glimagesink
+
+2018-10-05 00:03:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstgloverlay.c:
+         Revert "gl: use correct blend functions for unpremultiplied alpha"
+         This reverts commit 779d028f27b7bc6eb7abe841fe2cda97de3be983.
+
+2018-10-04 23:43:19 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstgloverlay.c:
+         gl: use correct blend functions for unpremultiplied alpha
+         Fallback to the closest but incorrect values we had before if we can't
+         do this correctly.
+
+2018-10-04 23:23:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gl/overlaycompositor: don't force unpremultiplied alpha
+         Remove testing code from 23159365618409011745b554b4ad371700961121
+
+2018-10-04 23:02:05 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gl/overlaycompositor: support both (un)premultiplied alpha
+         Using the correct blend modes for each case or converting to
+         premultipled in the very unlikely case that separate blend modes are
+         unavailable on ancient opengl hardware.
+
+2018-10-04 14:50:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglapi.h:
+         gl: GstGLAPI should be gst_gl_api_ in lower-case
+
+2018-10-04 13:38:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/gstglviewconvert.h:
+         glviewconvert: Add backwards compatibility gst_gl_stereo_downmix_mode_get_type()
+         It's proper new name is gst_gl_stereo_downmix_get_type().
+
+2018-10-04 13:33:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/Makefile.am:
+         gl: Add gl-enumtypes.[ch] to CLEANFILES
+
+2018-10-04 11:36:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video-overlay-composition.h:
+         video-overlay-composition: Correctly mark GstVideoOverlayFormatFlags as flags
+         And register a GType for it.
+
+2018-10-04 16:45:34 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/meson.build:
+         gl/meson: fix wrong overlay filename
+
+2018-09-27 16:37:28 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: add gloverlaycompositor to each input stream
+         Flattens the overlay compositions into the stream before the mixer will
+         mix them.
+         https://bugzilla.gnome.org/show_bug.cgi?id=759867
+
+2018-09-28 12:09:16 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: only update the output info iff there's a valid display_rect
+         Attempting to use the MAX(1, display_rect) would result in the overlay
+         composition attempting to draw into 1x1 buffer and calculate some
+         grossly incorrect sizes.
+         previously failing case:
+         gltestsrc ! textoverlay text=GStreamer ! glimagesinkelement
+
+2018-09-27 13:35:15 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/Makefile.am:
+       * ext/gl/gstgloverlaycompositorelement.c:
+       * ext/gl/gstgloverlaycompositorelement.h:
+       * ext/gl/gstopengl.c:
+       * ext/gl/meson.build:
+         gl: add a new overlay compositor element
+         Flattens all the overlays from the GstVideoOverlayCompositionMeta into
+         the video stream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=759867
+
+2018-09-27 13:31:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gl/overlaycompositor: add support for flipping the output
+         This is required to use gloverlaycompositor outside of glimagesink where
+         the output is not automatically flipped
+
+2018-09-27 13:30:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstgloverlaycompositor.c:
+         gl/overlaycompositor: handle ANY caps features gracefully
+
+2018-09-27 13:29:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglfilter.c:
+         glfilter: don't complete overwrite caps features from the subclass
+         We can get away with ensuring that the memory:GLMemory caps feature is
+         present in the output caps
+
+2018-10-03 23:27:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/Makefile.am:
+         gl: Add gl-enumtypes.h to nodist_HEADERS
+
+2018-10-03 23:17:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.h:
+         glviewconvert: Create an anonymous enum for GstGLStereoDownmix
+         Older glib-mkenums completely fails to parse it otherwise.
+
+2018-10-03 16:00:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         glstereomix: Fix build after deprecating misnamed GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE
+
+2018-10-03 14:49:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * ext/gl/gstglimagesink.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglviewconvert.c:
+       * tests/examples/gl/gtk/3dvideo/mviewwidget.c:
+         gl: Rename GST_TYPE_GL_STEREO_DOWNMIX GType macro everywhere
+         The old one still exists but behind GST_DISABLE_DEPRECATED
+
+2018-10-03 13:06:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/gl.h:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/gstglviewconvert.h:
+       * gst-libs/gst/gl/meson.build:
+       * tests/examples/gl/gtk/3dvideo/mviewwidget.h:
+         gl: Generate enum GTypes via glib-mkenums
+         https://bugzilla.gnome.org/show_bug.cgi?id=797240
+         https://bugzilla.gnome.org/show_bug.cgi?id=797144
+
+2018-10-02 21:01:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglsl.c:
+         glsl: Fix error quark string to be more consistent
+
+2018-10-02 20:59:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasememory.c:
+       * gst-libs/gst/gl/gstglbasememory.h:
+         glbasememory: Fix error quark string and move documentation to the right place
+
+2018-10-01 17:51:26 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: set_restriction should accept null as valid
+         It was checking for GST_IS_CAPS only and that would fail if the new
+         restriction caps was NULL and its documentation says it accepts NULL as
+         valid input.
+
+2018-10-01 19:13:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/pango/gstbasetextoverlay.c:
+         basetextoverlay: Append our rectangle to the upstream composition, not the other way around
+         Upstream is supposed to be painted first, and only then our rectangle.
+
+2018-10-01 18:27:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/pango/gstbasetextoverlay.c:
+         basetextoverlay: Minor cleanup of negotiation functions
+
+2018-10-01 12:17:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-overlay-composition.c:
+         video-overlay-composition: Handle miniobject writability correctly
+         By tracking parents and using the proper GstMiniObject API for detecting
+         writability instead of just the reference count.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797230
+
+2018-09-29 11:26:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         video: Fix annotations for gst_buffer_add_video_meta_full()
+
+2018-09-27 15:03:10 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: Use upstream GST_EVENT_STREAM_START if present
+         If we have an upstream GST_EVENT_STREAM_START, use that one instead
+         of creating a new one which could be completely different from the
+         upstream one and drop information (like the stream flags and stream
+         object).
+         Only create a new event if we don't already have one from upstream
+         https://bugzilla.gnome.org/show_bug.cgi?id=797215
+
+2018-09-26 13:22:14 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: wait and set the gl sync meta on buffers
+         This may be a cause of out-of-place frames when transforming multiview
+         buffers.
+
+2018-09-25 16:56:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: Copy composition meta from the primary buffer to both outputs
+         Without this, glviewconvert (and thus glimagesink) will drop all overlay
+         composition metas.
+
+2018-09-25 16:56:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: Don't copy overlay composition meta over to NULL outbufs
+
+2018-09-24 23:26:10 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: "latency" property on aggregator is uint64, not int64
+         Also update the property description and range with aggregator's values.
+
+2018-09-24 19:25:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioutilsprivate.c:
+       * gst-libs/gst/audio/gstaudioutilsprivate.h:
+         gstaudioutilsprivate: Fix warnings while setting thread priority
+         Also use G_OS_WIN32 instead of _WIN32 for clarity.
+
+2018-04-28 14:50:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * common:
+       * configure.ac:
+       * gst-libs/gst/allocators/Makefile.am:
+       * gst-libs/gst/allocators/allocators-prelude.h:
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/Makefile.am:
+       * gst-libs/gst/app/app-prelude.h:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/Makefile.am:
+       * gst-libs/gst/audio/audio-prelude.h:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/fft/Makefile.am:
+       * gst-libs/gst/fft/fft-prelude.h:
+       * gst-libs/gst/fft/meson.build:
+       * 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/gl-prelude.h:
+       * gst-libs/gst/gl/meson.build:
+       * 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/Makefile.am:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/pbutils/pbutils-prelude.h:
+       * gst-libs/gst/riff/Makefile.am:
+       * gst-libs/gst/riff/meson.build:
+       * gst-libs/gst/riff/riff-prelude.h:
+       * gst-libs/gst/rtp/Makefile.am:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtp/rtp-prelude.h:
+       * gst-libs/gst/rtsp/Makefile.am:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/rtsp/rtsp-prelude.h:
+       * gst-libs/gst/sdp/Makefile.am:
+       * gst-libs/gst/sdp/meson.build:
+       * gst-libs/gst/sdp/sdp-prelude.h:
+       * gst-libs/gst/tag/Makefile.am:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/tag/tag-prelude.h:
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video-prelude.h:
+       * meson.build:
+         libs: fix API export/import and 'inconsistent linkage' on MSVC
+         For each lib we build export its own API in headers when we're
+         building it, otherwise import the API from the headers.
+         This fixes linker warnings on Windows when building with MSVC.
+         The problem was that we had defined all GST_*_API decorators
+         unconditionally to GST_EXPORT. This was intentional and only
+         supposed to be temporary, but caused linker warnings because
+         we tell the linker that we want to export all symbols even
+         those from externall DLLs, and when the linker notices that
+         they were in external DLLS and not present locally it warns.
+         What we need to do when building each library is: export
+         the library's own symbols and import all other symbols. To
+         this end we define e.g. BUILDING_GST_FOO and then we define
+         the GST_FOO_API decorator either to export or to import
+         symbols depending on whether BUILDING_GST_FOO is set or not.
+         That way external users of each library API automatically
+         get the import.
+         While we're at it, add new GST_API_EXPORT in config.h and use
+         that for GST_*_API decorators instead of GST_EXPORT.
+         The right export define depends on the toolchain and whether
+         we're using -fvisibility=hidden or not, so it's better to set it
+         to the right thing directly than hard-coding a compiler whitelist
+         in the public header.
+         We put the export define into config.h instead of passing it via the
+         command line to the compiler because it might contain spaces and brackets
+         and in the autotools scenario we'd have to pass that through multiple
+         layers of plumbing and Makefile/shell escaping and we're just not going
+         to be *that* lucky.
+         The export define is only used if we're compiling our lib, not by external
+         users of the lib headers, so it's not a problem to put it into config.h
+         Also, this means all .c files of libs need to include config.h
+         to get the export marker defined, so fix up a few that didn't
+         include config.h.
+         This commit depends on a common submodule commit that makes gst-glib-gen.mak
+         add an #include "config.h" to generated enum/marshal .c files for the
+         autotools build.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797185
+
+2018-09-21 22:31:33 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+         meson: Specify encoding to UTF-8 when building with MSVC
+         Fix build on some non-US locale Windows systems
+         Error:
+         gst-plugins-base/tools/gst-device-monitor.c(278): error C2001
+         https://bugzilla.gnome.org/show_bug.cgi?id=797186
+
+2018-09-19 18:01:26 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix constant alpha enum value for constant alpha
+
+2018-09-21 11:29:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/gl/win32/Makefile.am:
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+       * gst-libs/gst/gl/win32/gstglwindow_win32.h:
+       * gst-libs/gst/gl/win32/win32_message_source.c:
+       * gst-libs/gst/gl/win32/win32_message_source.h:
+         gl/win32: Use g_io_channel_win32_new_messages() instead of our custom GSource
+         Removes some unneeded code duplication between here and GLib.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797184
+
+2018-09-20 14:04:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/vorbis/gstvorbisdec.c:
+         vorbisdec: Initialize decoder directly once we have the 3 headers
+         ... instead of waiting for the first non-header buffer.
+         Also drop non-identification headers arriving after initialization or
+         before the identification header. We don't do anything with them and
+         they would just accumulate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796980
+
+2018-09-19 23:43:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gl/generic/recordgraphic/main.cpp:
+         examples: gl: generic: recordgraphic: fix build with MSVC
+
+2018-06-27 10:34:09 +0200  Johan Bjäreholt <johanbj@axis.com>
+
+       * gst/audioresample/gstaudioresample.c:
+         Removed unused GST_CAT_PERFORMANCE
+         https://bugzilla.gnome.org/show_bug.cgi?id=797175
+
+2018-09-19 11:42:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add glib-checks option to disable API guards and such
+         We want this enabled by default, also in releases, but people
+         may want to disable this for performance-critical workloads or
+         on embedded devices.
+
+2018-09-19 11:34:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+         meson: fix missing closing bracket in option descriptions
+
+2018-09-19 11:16:17 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gl/clutter/meson.build:
+       * tests/examples/gl/meson.build:
+         meson: add clutter gl examples to Meson build
+
+2018-09-19 10:52:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gl/generic/generic.sln:
+       * tests/examples/gl/gtk/README:
+       * tests/examples/gl/gtk/gtk.sln:
+       * tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.sln:
+       * tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.sln:
+       * tests/examples/gl/qt/videooverlay/videooverlay.sln:
+       * tests/examples/gl/sdl/sdl.sln:
+         examples: gl: remove old and broken vs solution files
+
+2018-09-19 10:49:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * 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/meson.build:
+       * tests/examples/gl/generic/recordgraphic/meson.build:
+       * tests/examples/gl/meson.build:
+         meson: add generic gl examples to Meson build
+
+2018-09-19 10:28:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Fix typo in property description
+
+2018-09-17 18:36:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         gl/egl: fix annotation for gst_egl_image_new_wrapped()
+         https://bugzilla.gnome.org/show_bug.cgi?id=797158
+
+2018-09-17 17:45:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl: meson: add missing headers for gir generations
+         There are a lot of symbols in GstGL-1.0.gir generated by automake that
+         are not when it is generated by meson, because a lot of headers were
+         not included in meson's gir generation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797158
+
+2018-09-03 16:20:33 +1000  Matthew Waters <matthew@centricular.com>
+
+       * docs/libs/Makefile.am:
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/meson.build:
+         gl/build: don't pass OpenGL headers to GIR
+         g-ir-scanner does not have a good enough C parser to parse the GL system
+         headers
+
+2018-09-03 16:06:45 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglshader.c:
+         glshader: macro out all the extremely similar uniform setting
+
+2018-09-14 14:12:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: fix GEnumValue declaration
+         The purpose of value_name in GEnumValue structure is to express in
+         text format the name of the enum, not a description of the value, so
+         it can be use later for the gir file generation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797144
+
+2018-09-13 20:02:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglmemory.c:
+         Revert "glmemory: Fix n_wrapped_pointers usage"
+         This reverts commit b1299c179bb185bc78df58dd3af9988e6e1f5490.
+
+2018-09-13 20:02:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: allow system memory for dmabuf in transform_caps"
+         This reverts commit d7eb48cce7ddb2b9f0d0bee84f66516c8113d167.
+
+2018-09-13 20:02:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: handle upload methods with different caps"
+         This reverts commit 87336b19577b7677c0574e8cb4c4914f6d934b81.
+
+2018-09-13 20:02:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstegl.h:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+         Revert "gl/egl: Add gst_egl_image_from_dmabuf_direct() function"
+         This reverts commit 8f0d75d4d6f622483302e689653ec1d8c90bcaa4.
+
+2018-09-13 20:02:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: Implement direct dmabuf uploader"
+         This reverts commit 3b1ae6262b99b45095c6aca02af0d7bbf88cfbbc.
+
+2018-09-13 20:02:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: try to use the last method after reconfigure"
+         This reverts commit c1053e17d58c44f5509aaf9949c02b82332cb193.
+
+2018-09-13 20:02:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstgluploadelement.c:
+         Revert "gluploadelement: try to avoid dropping buffers"
+         This reverts commit 75f2532da784731190d44f118f01a12841ecb683.
+
+2018-09-13 20:34:08 -0300  Marcos Kintschner <marcos.ktn@gmail.com>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix segmentation fault at x86 version
+         The argument 0x0 is interpreted by the x86 compiler as a 32-bit int, but
+         it is consumed as a 64-bit uint causing a segmentation fault. We need to
+         explicit cast it to guint64 in order for the va_list to be built correctly.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797092
+
+2018-07-04 09:29:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * ext/gl/gstgluploadelement.c:
+         gluploadelement: try to avoid dropping buffers
+         Without this, a buffer is dropped if glupload indicates that it is
+         necessary to reconfigure.
+         Avoid this by explicitly reconfiguring immediately and uploading the buffer
+         again.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-04 09:17:11 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: try to use the last method after reconfigure
+         Reconfigure will trigger a set_caps which clears the upload method.
+         Remember the method in this case and start with it.
+         Wrap around once to try all methods if necessary.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-05 10:17:27 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Implement direct dmabuf uploader
+         The idea is that some GPUs (like the Vivante series) can actually
+         perform the YUV->RGB conversion internally, so no custom conversion
+         shaders are needed. To make use of this feature, we need an additional
+         uploader that can import DMABUF FDs and also directly pass the pixel
+         format, relying on the GPU to do the conversion.
+         Based on patches from Nicolas Dufresne <nicolas.dufresne@collabora.com> and
+         Carlos Rafael Giani <dv@pseudoterminal.org>.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-09-10 23:28:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/egl/gstegl.h:
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+         gl/egl: Add gst_egl_image_from_dmabuf_direct() function
+         The colorspace conversion happens during the upload so the necessary hints
+         must be provided to ensure that the conversion works correctly.
+         At least the Mesa Intel driver will create a texture without error but
+         produces an incorrect result. Use eglQueryDmaBufModifiersEXT() to check if
+         non-external upload is supported for the given format.
+         Based on a patch from Carlos Rafael Giani <dv@pseudoterminal.org>.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-04 09:21:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: handle upload methods with different caps
+         If a upload method is selected then use it exclusively in transform_caps().
+         Also, reconfigure if the current caps don't match the current upload
+         method.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-07-05 15:17:30 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: allow system memory for dmabuf in transform_caps
+         This should not be necessary, but currently not all plugins that provide
+         dmabuf memory announce this with caps features, e.g. v4l2.
+         The static caps already contain the system memory. It didn't break before
+         because other upload methods provide the necessary transformation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2017-06-07 18:00:08 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglmemory.c:
+         glmemory: Fix n_wrapped_pointers usage
+         gst_gl_memory_setup_buffer() was not properly using the number
+         of pointers to wrapped. This also fixes the validation, as we
+         only support 1 wrapper per view, or num_planes * views wrapper.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783521
+
+2018-09-07 22:15:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Delete the link before pushing
+         The gst_video_decoder_clip_and_push_buf() now drops the internal stream
+         lock while pushing. This means, the output_queued list could be modififed
+         during that time. To make the code safe again, we delete the link before
+         pushing the data. The walk pointer will later be updated with the list
+         head, which makes it safe in case the list was modififed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=715192
+
+2018-09-11 00:41:59 +0530  Nirbheek Chauhan <nirbheek@centricular.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:
+         gstaudiosrc/sink: Set audio ringbuffer thread priority
+         On Windows, the ringbuffer thread function must have the "Pro Audio"
+         priority set, otherwise it sometimes doesn't get scheduled for
+         200-300ms, which will immediately cause an underrun unless you set
+         a very high latency-time and buffer-time.
+         This has no compile-time deps since it tries to load avrt.dll at
+         runtime to set the thread priority.
+
+2018-09-10 22:22:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/vorbis/gstivorbisdec.c:
+       * ext/vorbis/meson.build:
+       * meson_options.txt:
+         meson: Add an option for the 'Tremor' Vorbis implementation
+         It makes sense to control it explicitly to allow us to enable it on
+         platforms that don't have hardware floating-point, and to allow people
+         to enable the 'vorbis' plugin without having to also provide the
+         Tremor dependency which is useless on most devices.
+
+2018-09-05 18:34:06 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: check for EGL headers before allowing use of EGL
+         For distros that provide headers in seperate dev/devel packages this
+         won't build egl support without the necessary EGL headers.
+
+2018-09-04 11:55:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         discoverer: Consider closedcaption/ as subtitles and improve subtitle caps detection
+         Generally all subtitle/, subpicture/, text/, closedcaption/ and
+         application/x-subtitle caps instead of hardcoding a small set of caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797072
+
+2013-11-25 20:49:50 +0400  Alexey Chernov <achernov@neosphere.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Release STREAM_LOCK during gst_pad_push()
+         Release STREAM_LOCK before calling gst_pad_push() and take it
+         back afterward so that upstream isn't blocked while output
+         buffer is being pushed downstream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=715192
+
+2013-11-25 20:45:18 +0400  Alexey Chernov <achernov@neosphere.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Release STREAM_LOCK during gst_pad_push()
+         Release STREAM_LOCK before calling gst_pad_push() and take it
+         back afterward so that upstream isn't blocked while output
+         buffer is being pushed downstream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=715192
+
+2018-08-31 14:36:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/allocators/meson.build:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/fft/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/riff/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.build:
+         meson: Maintain macOS ABI through dylib versioning
+         Requires Meson 0.48, but the feature will be ignored on older versions
+         so it's safe to add it without bumping the requirement.
+         Documentation:
+         https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
+
+2018-08-31 18:14:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: fix gbm option to enable rather than disable
+         This change matches what the other winsys/platforms are doing
+
+2018-08-31 00:15:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: add Android build definitions
+
+2018-08-02 15:59:20 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/meson.build:
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: add build for iOS
+
+2018-07-02 23:48:04 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/video-info.h:
+         video: Add GST_VIDEO_INFO_FIELD_RATE_N() macro
+         Add a new macro that gives you the rate of the fields, which is the
+         numerator of the field-rate for ALTERNATE interlacing video and FPS for
+         progressive and other interlacing formats.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-07-06 15:48:35 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideodecoder.h:
+         video: Add gst_video_decoder_set_interlaced_output_state()
+         Add a variant of gst_video_decoder_set_output_state() that allows the user
+         to pass an interlacing mode as well. This is needed to ensure that
+         gst_video_info_set_interlaced_format() is used instead so that
+         GstVideoInfo.size is correctly initialized.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-07-02 23:48:04 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+         video: Add GST_VIDEO_INFO_FIELD_HEIGHT() macro
+         Add a new macro that gives you the height of a field. It returns the
+         height of the full frame unless split-field (alternate) interlacing is
+         in use. Also GST_VIDEO_INFO_COMP_HEIGHT macro now uses this new macro to
+         get the height for its calculation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-07-02 17:51:06 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * tests/check/libs/video.c:
+         test: Ensure gst_video_info_set_format() calls succeed
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-07-02 16:48:30 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+       * tests/check/libs/video.c:
+         video: Add gst_video_info_set_interlaced_format()
+         Add a helper to set the interlacing mode while creating the GstVideoInfo
+         in addition to format and resolution. Using this helper will ensure that
+         size is correctly calculated for split-field interlacing mode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-05-04 16:16:28 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/video-info.h:
+       * tests/check/libs/video.c:
+         video: Add GST_VIDEO_INTERLACE_MODE_ALTERNATE
+         Add a new interlace mode enum to represent buffers containing a single
+         field of an interlaced video in a buffer. The name is based on the
+         equivalent video format in the V4L2 API, V4L2_FIELD_ALTERNATE:
+         https://01.org/linuxgraphics/gfx-docs/drm/media/uapi/v4l/field-order.html
+         Since caps fields are optional, we also introduce a new caps feature,
+         "format:Interlaced" that always goes with "alternate" interlace mode to ensure
+         that caps for this incompatible format are incompatible with other interlaced
+         and progressive video caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-05-04 15:19:11 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * gst-libs/gst/video/video-frame.h:
+         video: Add format for single fields of interlaced video in a buffer
+         https://bugzilla.gnome.org/show_bug.cgi?id=796106
+
+2018-08-29 10:38:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglbasefilter.c:
+         doc: glbasefilter: Add missing Since for gst_gl_base_filter_find_gl_context()
+
+2018-08-16 19:37:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/vorbis/gstvorbisdec.c:
+         vorbisdec: Always handle in-band header packets once the first non-header packet arrives
+         And clean up any old pending headers if we receive a new identification
+         header, or if we receive a new set of headers via caps.
+         Otherwise it might happen that we receive one or more header but not
+         all, and then afterwards all headers again, and libvorbis does not like
+         getting headers passed multiple times and would error out.
+         It only makes sense to pass the very latest headers to the decoder at
+         the time we can actually make use of them.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796980
+
+2018-08-28 13:35:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: Always define gstgl_dep to a valid dependency object
+         Fixes configure error when gl support was auto-detected as not being
+         available:
+         ext/gl/meson.build:50:20: ERROR:  Unknown variable "gstgl_dep".
+
+2017-09-21 14:03:28 +0900  Yuji Kuwabara <HHG01200@nifty.ne.jp>
+
+       * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+         gl/dispmanx: fix removing foreign window handle
+         gst_gl_window_dispmanx_egl_set_window_handle() removes native window handle
+         (dispmanx element), regardless it was foreign window handle
+         (set via gst_video_overlay_set_window_handle()) or not.
+         This problem prevents glimagesink reusable.
+         (PAUSED -> READY -> PAUSED does not work)
+         This patch corrects it comparing the native window handle with foreign window
+         handle. This behavior is same as gst_gl_window_dispmanx_egl_close().
+         https://bugzilla.gnome.org/show_bug.cgi?id=785199
+
+2018-08-28 14:31:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+         gl/wayland: correctly use the set_render_rectangle size first
+         https://bugzilla.gnome.org/show_bug.cgi?id=789384
+
+2017-10-24 17:39:50 +1030  memeka <mihailescu2m@gmail.com>
+
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+       * gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+         gl/wayland: add preferred window size, and set it according to video size
+         The glimagesink wayland backend lacks the implementation of
+         gst_gl_window_wayland_egl_set_preferred_size. Because of this, glimagesink windows on
+         wayland are created with a fixed window size of 320x240.
+         [Matthew Waters]: gst-indent sources
+         https://bugzilla.gnome.org/show_bug.cgi?id=789384
+
+2018-08-27 15:41:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/pango/gstbasetextoverlay.c:
+       * ext/pango/gstbasetextoverlay.h:
+       * ext/pango/gstclockoverlay.c:
+       * ext/pango/gsttextrender.c:
+       * ext/pango/gsttextrender.h:
+       * ext/pango/gsttimeoverlay.c:
+         pango: Create one context per instance and remove class mutex
+         PangoCairo is thread-safe as long as the context and fontmap are not
+         shared between threads. Previously each subclass had its own context and
+         a class mutex for this reason, but apart from hurting performance this
+         was also not completely safe yet: the same fontmap might've been used by
+         different classes from different threads as the thread-default fontmap
+         (at time of class initialization) was used.
+
+2018-08-27 11:07:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/ogg/gstoggstream.c:
+         oggdemux: Ensure that no pad values are set when setting up the mapper
+         Otherwise we might have arbitrary values set that are used later and can
+         cause undefined behaviour, as found by ossfuzz.
+
+2018-08-26 01:52:41 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglcolorscale.c:
+         glcolorscale: fix compiler warning
+         gstglcolorscale.c(173): warning C4098: 'gst_gl_colorscale_gl_stop': 'void' function returning a value
+
+2018-08-26 01:41:42 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/gstglbasefilter.h:
+         gl: use right export decorator
+
+2018-08-26 01:40:57 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/audio.h:
+         audio: use right export decorator
+
+2018-08-18 12:37:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * tests/examples/meson.build:
+         meson: gl: return not-found dependency instead of disabler if opengl is disabled
+         This allows consumers of the gstgl dependency where gstgl is optional
+         to do things like:
+         config_data.set('HAVE_GST_GL', gstgl_dep.found())
+         deps = [gstvideo_dep, gstgl_dep]
+         meaning they can still use the dep unconditionally. With the
+         disabler we would just disable the whole target even if the
+         gstgl part was an optional extra. We can add an option to
+         dependency() later to let users/consumers of the dep decide
+         if they want a not-found dependency or a disabler instead.
+
+2018-08-17 02:59:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: host_system is 'ios' when building for iOS
+         The cross file sets this value, and we use 'ios' in Cerbero.
+
+2018-06-16 14:27:20 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: audio visualization support fixes
+         The queue between the audiotee and the audio chain wasn't properly added to the
+         bin, leading to streamsynchronizer locks on EOS. Reconfiguration of the
+         visualization chain wasn't working as expected either. It is now possible to
+         dynamically enable/disable the audio visualization support.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796553
+
+2018-08-16 18:03:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Also run the audio-specific caps fixation for audio aggregator subclasses that can't convert
+
+2018-08-16 17:54:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Fixate to some meaningful values if no sinkpad is configured yet
+         The default caps fixation code would select a rate of 1 for example,
+         which is not really ideal.
+
+2018-08-16 17:07:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Define crossfade-ratio to have range [0.0,1.0]
+         Previously negative values had the same effect as 0.0, which was
+         confusing.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796845
+
+2018-08-16 11:35:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/meson.build:
+         meson: remove obsolete FIXME
+
+2018-08-16 11:08:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/meson.build:
+         meson: gl: find libjpeg via pkg-config
+         This effectively (but optionally) requires libjpeg-turbo which
+         ships with a .pc file and is what pretty much everyone these days
+         uses anyway for libjpeg, so shouldn't be a problem hopefully.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796947
+
+2018-08-16 10:58:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * meson.build:
+         meson: move gmodule check to top-level
+         It's also needed by the generic/states test and the variable
+         is currently checked as part of the opengl lib tests so wouldn't
+         be available if opengl was disabled.
+
+2018-08-16 10:28:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * meson_options.txt:
+         meson: add option for opengl and the misc optional gl plugin deps
+         Finer control over the opengl integration library dependencies
+         is already implemented via the gl_api, gl_platform, and gl_winsys
+         options.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796947
+
+2018-08-16 10:13:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+         meson: options: move gl options into separate section
+
+2018-08-16 10:02:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Make sure to hold object lock while iterating sink pads
+         They might otherwise just change while we iterate.
+
+2018-08-13 14:50:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Properly propagate caps negotiation failures
+         Otherwise we'll end up doing a division by zero when clipping buffers,
+         and might even accept buffers for which we don't know the caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796951
+
+2018-04-28 14:50:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/audio-quantize.c:
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+       * gst-libs/gst/audio/gstaudiometa.c:
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+       * gst-libs/gst/audio/gstaudiosink.c:
+       * gst-libs/gst/audio/gstaudiosrc.c:
+       * gst-libs/gst/gl/egl/gstegl.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+       * gst-libs/gst/pbutils/gstpluginsbaseversion.c:
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+       * gst-libs/gst/rtp/gstrtppayloads.c:
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/rtsp/gstrtsprange.c:
+       * gst-libs/gst/rtsp/gstrtsptransport.c:
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/tag/gsttageditingprivate.c:
+       * gst-libs/gst/video/convertframe.c:
+       * gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideopool.c:
+       * gst-libs/gst/video/gstvideotimecode.c:
+       * gst-libs/gst/video/video-dither.c:
+       * gst-libs/gst/video/video-event.c:
+       * gst-libs/gst/video/video-tile.c:
+         gst-libs: include config.h in all source files
+         This will be needed later when we get our export define from config.h
+
+2018-04-29 00:18:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.h:
+       * gst-libs/gst/pbutils/pbutils-prelude.h:
+       * gst-libs/gst/rtsp/gstrtsptransport.c:
+       * gst-libs/gst/rtsp/gstrtsptransport.h:
+       * gst-libs/gst/rtsp/rtsp-prelude.h:
+         pbutils, rtsp: fix deprecation guards
+         Function body must only be removed if compiling with
+         GST_REMOVE_DEPRECATED. Function declaration must not
+         be skipped if GST_DISABLE_DEPRECATED is defined, since
+         it contains our export decorator and we wouldn't export
+         the symbol as public API any more then since we compile
+         with GST_DISABLE_DEPRECATED.
+
+2018-04-28 13:41:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/Makefile.am:
+         tests: remove unused build definition
+
+2018-08-12 18:12:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+       * tests/meson.build:
+         meson: add build options to disable tools and tests
+
+2018-08-12 13:19:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/tag/lang-tables.dat:
+       * gst-libs/gst/tag/mklangtables.c:
+         tag: add license to generated backup language name table and update
+         It's LGPL same as iso-codes
+
+2018-08-12 12:55:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/tag/meson.build:
+       * meson_options.txt:
+         meson: use iso-codes in gsttag if available
+
+2018-08-12 00:21:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * pkgconfig/meson.build:
+         meson: add zlib to gstreamer-1.0.pc if found
+         https://bugzilla.gnome.org/show_bug.cgi?id=793995
+
+2018-08-12 00:13:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add options to disable gobject cast checks and glib asserts
+         and define G_DISABLE_DEPRECATED for development versions,
+         like we do in autotools.
+
+2018-08-12 00:09:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+         meson: update available gl_winsys in options list
+
+2018-08-11 18:49:10 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/tag/meson.build:
+         meson: tag: check for zlib and support compressed id3v2 tag if found
+         https://bugzilla.gnome.org/show_bug.cgi?id=793995
+
+2018-08-10 22:44:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglviewconvert.c:
+         glviewconvert: fix output when a transformation matrix is used
+         If we have a transformation matrix, we have no idea where in the output
+         the video is going to endup.  It might also be different and not cover
+         the entire output.
+         We need to clear the output to remove any previous data in the backing
+         texture.
+         Found from
+         https://stackoverflow.com/questions/51707229/python-gstreamer-for-dynamic-control-of-element-properties
+
+2018-08-10 12:43:38 +0100  Bastian Köcher <gnome@kchr.de>
+
+       * 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/tag/meson.build:
+       * gst-libs/gst/video/meson.build:
+         meson: fix install dir for generated header files
+         Nixos installs into a non-standard includedir, so need
+         to take account of the 'includedir' option instead of
+         just hard-coding 'include' here.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794856
+
+2018-08-08 19:18:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/gst-play.c:
+         gst-play: use Fisher-Yates shuffle for shuffling the playlist
+
+2018-08-08 12:44:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: Propagate flow returns from gst_type_find_helper_get_range() properly
+         Instead of considering every failed typefinding as an error, even in
+         case of e.g. GST_FLOW_FLUSHING.
+
+2018-08-06 14:17:09 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/rtsp/Makefile.am:
+         rtsp: Include gstreamer-base gir dir in autotools
+
+2018-08-03 19:06:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: fix macos additions for non-macos platforms
+         "gst-libs/gst/gl/meson.build:655:20: ERROR:  Unknown variable "quartzcore_dep"."
+
+2017-07-21 16:59:28 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/gl/meson.build:
+       * gst-libs/gst/gl/meson.build:
+       * meson.build:
+         gl/meson: OSX support (CGL and Cocoa)
+         [Matthew Waters]: minor additions such as -fobjc-arc and relying on
+         dependency rather than cc.find_library()
+
+2018-08-01 13:59:45 +0200  Norbert Wesp <n.wesp@phytec.de>
+
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * m4/gst-gl.m4:
+         Add GBM_CFLAGS and define EGL_PLATFORM_GBM_MESA
+         Building an image with yocto for an 'am335x' processor will fail,
+         because 'gbm.h' can not be found and 'EGL_PLATFORM_GBM_MESA' is not defined.
+         So simply adding define of 'EGL_PLATFORM_GBM_MESA' in 'gstgldisplay_egl.c'
+         and adding 'GBM_CFLAGS' in 'gst-gl.m4' to get rid of this errors and complete
+         a full build process.
+         ERRORs were:
+         -----------
+         gst-plugins-base-1.14.1/gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:24:10:
+         fatal error: gbm.h: No such file or directory
+         #include <gbm.h>
+         ^~~~~~~
+         gst-plugins-base-1.14.1/gst-libs/gst/gl/egl/gstgldisplay_egl.c:157:39:
+         error: 'EGL_PLATFORM_GBM_MESA' undeclared (first use in this function);
+         did you mean 'EGL_PLATFORM_WAYLAND'?
+         ret = _gst_eglGetPlatformDisplay (EGL_PLATFORM_GBM_MESA, (gpointer) display,
+         ^~~~~~~~~~~~~~~~~~~~~
+         https://bugzilla.gnome.org/show_bug.cgi?id=796885
+
+2018-07-31 22:41:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: Add property to control phase inversion
+         When enabled, phase-inversion slightly increase stereo quality, but
+         produce a stream that when downmixed to mono will present important
+         audio distortion. This patch disables this feature by default and
+         introduce a property that let user enable it if desired.
+         https://bugzilla.gnome.org/show_bug.cgi?id=791771
+
+2018-07-30 10:03:11 +0300  freyr <ciceromarcus@yandex.ru>
+
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+         gl/gbm: allow headless mode
+         Don't require an output for the GBM backend.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794716
+
+2018-07-19 11:16:05 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * m4/gst-gl.m4:
+         gl: Add switches for explicitely enabling/disabling PNG and JPEG support
+         https://bugzilla.gnome.org/show_bug.cgi?id=796833
+
+2018-07-19 10:30:54 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * m4/gst-gl.m4:
+         gl: Add switch for explicitely enabling/disabling GBM support
+         https://bugzilla.gnome.org/show_bug.cgi?id=796833
+
+2018-07-31 23:32:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Fix build with x11 dependency is disabled
+         gtk_x11_dep is used unconditionally in tests/icles/meson.build
+
+2018-07-31 13:28:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/cdparanoia/meson.build:
+         meson: Fix detection of cdparanoia library
+         Without this the pkg-config file is required when the plugin is enabled.
+
+2018-07-27 15:15:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: Properly propagate gst_pad_pull_range() errors
+         And don't consider FLUSHING an actual error, just stop in that case.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796883
+
+2018-07-25 07:35:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/libs/meson.build:
+       * ext/alsa/meson.build:
+       * ext/cdparanoia/meson.build:
+       * ext/libvisual/meson.build:
+       * ext/meson.build:
+       * ext/ogg/meson.build:
+       * ext/opus/meson.build:
+       * ext/pango/meson.build:
+       * ext/theora/meson.build:
+       * ext/vorbis/meson.build:
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/tag/meson.build:
+       * gst/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * sys/meson.build:
+       * sys/xvimage/meson.build:
+       * tests/examples/gl/sdl/meson.build:
+       * tests/examples/overlay/meson.build:
+       * tests/meson.build:
+         meson: Add feature options for all plugins
+         GL dependency detection is still automagic.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795107
+
+2018-07-26 00:20:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Don't leak all buffers while crossfading and not all pads are crossfading
+
+2018-07-25 15:03:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglfilterbin.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglsinkbin.c:
+       * ext/gl/gstglsrcbin.c:
+         gl: Also don't leak floating references to elements set via properties
+         Fixup for 58ac815eae6ed468d1db60a54a1bd34d6324c28c. Floating references
+         are such a mess.
+
+2018-07-25 14:23:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglfilterbin.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglsinkbin.c:
+       * ext/gl/gstglsrcbin.c:
+         gl: Don't steal callers reference when setting non-floating elements via properties
+         Introduced by fbef9220d3dc2f785081c4766901aab2ecfaed10. The code there
+         is only correct for elements we get from signals.
+
+2018-07-24 15:09:25 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio-buffer.c:
+         audio-buffer: fix typo in assignment that causes buggy behavior
+
+2018-07-20 16:25:02 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/blend.c:
+         compositor: Use 255 as maximum alpha instead of 256
+         255 will easily become 0 in the blending function as they expect
+         the maximum value to be 255.
+         Can be reproduce with
+         gst-launch-1.0 videotestsrc pattern=ball ! c.sink_0 \
+         videotestsrc pattern=snow ! c.sink_1 \
+         compositor name=c \
+         sink_0::zorder=0 sink_1::zorder=1 sink_0::crossfade-ratio=0.5 \
+         background=black ! \
+         videoconvert ! xvimagesink
+         crossfade-ratio +/- 0.001 makes it work correctly and the same happens
+         at e.g. 0.25, 0.75, N*0.0625
+         https://bugzilla.gnome.org/show_bug.cgi?id=796846
+
+2018-02-14 13:55:06 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         gstaudiodecoder: take into account GstAudioMeta::samples on the output buffers
+         This is useful if the output buffers are planar and have extra padding
+         on each plane, in which case size/bpf does not represent the number of
+         valid samples.
+         https://bugzilla.gnome.org/show_bug.cgi?id=705977
+
+2018-02-14 13:11:37 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+         gstaudiodecoder: do not aggregate output if buffers are planar
+         Aggregation will break the layout, as it concatenates buffers,
+         and fixing it here would be much more inefficient than configuring
+         the actual decoder implementation to output larger buffers.
+         https://bugzilla.gnome.org/show_bug.cgi?id=705977
+
+2018-07-21 09:13:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/examples/gl/gtk/3dvideo/meson.build:
+       * tests/examples/gl/gtk/filtervideooverlay/meson.build:
+       * tests/examples/gl/gtk/fxtest/meson.build:
+       * tests/examples/gl/gtk/meson.build:
+       * tests/examples/gl/gtk/switchvideooverlay/meson.build:
+         meson: gl/gtk tests: Add video_dep to the helper
+         The gtk helper library includes videooverlay.h hence must have a
+         dependency on video_dep, this allow removing the dep from the dependant
+         executables.
+
+2018-07-21 11:12:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gl/meson.build:
+         meson: examples: fix wrong keyword for gtk examples
+
+2018-07-20 22:07:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/examples/gl/gtk/3dvideo/meson.build:
+       * tests/examples/gl/gtk/filternovideooverlay/meson.build:
+       * tests/examples/gl/gtk/filtervideooverlay/meson.build:
+       * tests/examples/gl/gtk/fxtest/meson.build:
+       * tests/examples/gl/gtk/meson.build:
+       * tests/examples/gl/gtk/switchvideooverlay/meson.build:
+       * tests/examples/gl/meson.build:
+         meson: Build gl/gtk examples
+
+2018-01-05 16:07:54 +0900  Justin Kim <justin.kim@collabora.com>
+
+       * gst/audiorate/gstaudiorate.c:
+       * gst/audiorate/gstaudiorate.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/audiorate.c:
+         audiorate: accumulate offset by time diff
+         The fomula, 'offset = time / rate', is correct only if
+         the rate is never changed. When the rate is changed,
+         the offset should be re-calculated based on the previous
+         offset.
+         https://bugzilla.gnome.org/show_bug.cgi?id=791269
+
+2018-07-18 19:53:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * sys/xvimage/xvimage.c:
+       * sys/xvimage/xvimagesink.c:
+         xvimage: Fix symbol redefine build error
+         https://bugzilla.gnome.org/show_bug.cgi?id=796827
+
+2018-07-17 11:43:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Only offer DMABuf caps feature if using EGL
+         This was miss-leading VAAPI which was not forcing linear back buffers,
+         would still export DMABuf. That caused bad rendering as the buffers are
+         tiled and most likely compressed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796822
+
+2018-07-18 20:05:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Update conversion info in property setter
+         ... not in getter. Otherwise, video-converter will not be updated
+         with new width/height
+         https://bugzilla.gnome.org/show_bug.cgi?id=796828
+
+2016-09-01 15:14:37 +0900  Wonchul Lee <wonchul.lee@collabora.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Rename urisourcebin variable and query functions
+         https://bugzilla.gnome.org/show_bug.cgi?id=770693
+
+2018-05-11 20:25:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Set streams-aware flag
+         https://bugzilla.gnome.org/show_bug.cgi?id=777213
+         https://bugzilla.gnome.org/show_bug.cgi?id=775132
+
+2018-07-16 16:01:34 +0200  Iñigo Huguet <inigohuguet@fanamoel.com>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+       * gst-libs/gst/gl/gstglconfig.h.meson:
+       * gst-libs/gst/gl/meson.build:
+       * m4/gst-gl.m4:
+         gl/build: fixed failed compilation due to missing EGLuint64KHR typedef
+         [Matthew Waters]: add meson differences
+         https://bugzilla.gnome.org/show_bug.cgi?id=796820
+
+2018-07-17 11:51:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         Revert "glupload: Only offer DMABuf caps feature if using EGL"
+         This reverts commit bc9afe724360cbbe5489ca1e1ea44f077810aca4.
+
+2018-07-17 11:43:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglupload.c:
+         glupload: Only offer DMABuf caps feature if using EGL
+         This was miss-leading VAAPI which was not forcing linear back buffers,
+         would still export DMABuf. That caused bad rendering as the buffers are
+         tiled and most likely compressed.
+
+2018-07-16 17:09:02 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+         docs: libs: Add new symbols to section file
+
+2018-07-16 13:12:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst/rawparse/gstrawvideoparse.c:
+         rawvideoparse: fix typo in 'plane-offsets' description
+         The property is 'plane-offsets', not 'plane-offset' so the example in
+         the description was wrong.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796817
+
+2018-07-09 14:03:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Don't always drain on gaps/discont
+         V4L2 and OMX decoder don't support draining and keeping reference
+         frames. As a side effect, these decoder just stops working on
+         gaps/discont. When this drain was introduced, the commit stated that
+         this was for TRICKMODE_KEY_UNITS, so only drain if running in this mode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796771
+
+2018-02-13 15:04:04 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/libs/audio.c:
+         tests: audio: test gst_audio_buffer_reorder_channels() also with non-interleaved buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=796743
+
+2018-02-13 13:24:32 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio-channels.c:
+         libs: audio: implement planar buffer support in gst_audio_buffer_reorder_channels()
+         https://bugzilla.gnome.org/show_bug.cgi?id=796743
+
+2018-02-12 14:45:44 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/audiorate/gstaudiorate.c:
+         audiorate: fix support for non-interleaved buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=796741
+
+2018-05-18 16:22:47 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio.c:
+       * gst-libs/gst/audio/audio.h:
+         libs: audio: add a new gst_audio_buffer_truncate() function
+         Essentially this moves the truncation logic out of gst_audio_buffer_clip()
+         so that it can be used in other places, like in audiorate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796740
+
+2018-05-18 16:22:32 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/libs/audio.c:
+         tests: audio: add unit tests for planar audio support in gst_audio_buffer_clip()
+         https://bugzilla.gnome.org/show_bug.cgi?id=796740
+
+2018-02-08 14:34:23 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio.c:
+         libs: audio: implement support for non-interleaved audio in gst_audio_buffer_clip()
+         https://bugzilla.gnome.org/show_bug.cgi?id=796740
+
+2018-07-12 13:13:04 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgluploadelement.c:
+         gluploadelement: also set the context in decide_allocation
+         If downstream doesn't perform allocation queries, the context would
+         never be set and criticals would occur.
+
+2018-07-12 12:48:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix default placement when different sized output
+         i.e. when expanding from 320x240 to 800x600, the resulting frame should
+         appear in the top left corner, not the middle.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794401
+
+2018-04-25 16:36:21 +0200  Daniel Klamt <d.klamt@pengutronix.de>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Moves the objects to zero on z axis
+         Matches the output from a similar glimagesink pipeline when
+         rotating from an upstream gltransformation passed through
+         the affine transformation meta with xpos/ypos being set.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794401
+
+2018-07-11 18:29:52 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/pipelines/simple-launch-lines.c:
+         tests: simple-launch-lines: fixate audioconvert caps now that the layout is also convertable
+         Because audioconvert can now convert between interleaved and non-interleaved,
+         this pipeline fails on the upstream capsfilter not being able to fixate its
+         output caps. This is unavoidable.
+
+2018-02-12 15:33:49 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/adder/gstadder.c:
+         adder: remove non-interleaved layout from caps
+         adder needs more than just trivial work to support planar buffers properly
+         because it currently reads sub-buffers from GstCollectPads in order for all
+         of them to have matching sizes. In planar mode, this means it would truncate
+         some channels and mix them up in strange ways. It only works if all input
+         buffers in all sink pads have matching sizes.
+
+2018-02-07 18:17:07 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/audioresample/gstaudioresample.c:
+         audioresample: implement support for non-interleaved buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-02-09 17:07:48 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/audioconvert.c:
+         tests: audioconvert: add tests for planar audio
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-02-09 14:29:57 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/audioconvert.c:
+         tests: audioconvert: add support for specifying the layout on tests
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-02-01 18:08:51 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/audioconvert/gstaudioconvert.c:
+         audioconvert: implement support for converting between interleaved and non-interleaved layouts
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-02-01 17:00:06 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+         libs: audio-converter: complete code to support non-interleaved audio buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-02-01 13:23:53 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio-resampler.c:
+         libs: audio-resampler: add support for consuming non-interleaved input buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-01-31 19:28:57 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/audio-channel-mixer.c:
+         libs: audio-channel-mixer: add support for non-interleaved audio buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=705986
+
+2018-07-11 14:48:57 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/Makefile.am:
+         tests/check/Makefile.am: link audiotestsrc test with libgstaudio
+         Needed for the new planar audio unit test
+
+2018-01-31 17:41:32 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/elements/audiotestsrc.c:
+         tests: audiotestsrc: add unit test for non-interleaved audio output
+         https://bugzilla.gnome.org/show_bug.cgi?id=796739
+
+2018-01-31 17:39:05 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/audiotestsrc/gstaudiotestsrc.c:
+         audiotestsrc: implement producing non-interleaved audio buffers
+         https://bugzilla.gnome.org/show_bug.cgi?id=796739
+
+2018-07-10 09:45:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Fix coding style
+
+2018-07-10 09:42:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Add missing string.h include
+
+2018-04-25 16:39:34 +0200  Daniel Klamt <d.klamt@pengutronix.de>
+
+       * ext/gl/gstglvideomixer.c:
+         Moved the pad offset and aspect ratio to a matrix so it will be added in view space and not in world space
+         https://bugzilla.gnome.org/show_bug.cgi?id=794401
+
+2018-07-10 20:03:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglutils.c:
+       * gst-libs/gst/gl/gstglutils.c:
+       * tests/check/libs/gstglmatrix.c:
+         gl/utils: fixup matrix math again for column major
+         e4bf9ed8f060021151cd57e2b00493ed696cb47b was not quite right and changed
+         the wrong thing. Intead we needed to change the multiplication order
+         and should have kept the previous to/from matrices as is done in this
+         patch.
+
+2018-07-09 10:48:54 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideopool.c:
+         videopool: display expected size in warning message
+         Display the size computed from the caps when rejecting a pool
+         configuration because the buffer size is too small.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796768
+
+2017-10-20 18:36:55 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideosink.c:
+         videosink: Set processing deadline to 15ms
+         This roughly corresponds to one frame at 60fps, and leave 5ms
+         of max_lateness to not change the existing behaviour.
+         https://bugzilla.gnome.org/show_bug.cgi?id=640610
+
+2018-07-06 10:51:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Don't try to continue autoplugging a parser if we got raw caps
+         Otherwise we'll fail with an unhelpful message that no decoder for the
+         raw caps was found if a container contains raw media.
+
+2018-07-06 13:48:09 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Bail out on huge EBML chunks
+         We can't handle/store more than guint32 anyway
+
+2018-07-06 13:46:17 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Use guint32 for sizes
+         This brings it in sync with the type used with gst_type_find_*() API
+
+2018-07-06 13:12:51 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: Use types of same size/signedness
+         Where applicable/possible
+
+2018-02-08 15:20:09 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * tests/check/libs/audio.c:
+         tests: audio: add unit test for GstAudioBuffer & GstAudioMeta
+         https://bugzilla.gnome.org/show_bug.cgi?id=751605
+
+2018-02-07 14:36:01 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/audio/Makefile.am:
+       * gst-libs/gst/audio/audio-buffer.c:
+       * gst-libs/gst/audio/audio-buffer.h:
+       * gst-libs/gst/audio/audio.h:
+       * gst-libs/gst/audio/gstaudiometa.c:
+       * gst-libs/gst/audio/gstaudiometa.h:
+       * gst-libs/gst/audio/meson.build:
+         libs: audio: Implement GstAudioBuffer & GstAudioMeta
+         Library bits to support non-interleaved audio
+         https://bugzilla.gnome.org/show_bug.cgi?id=751605
+
+2018-06-29 10:54:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtsp/meson.build:
+         meson: rtsp now also depends on libgstbase
+
+2018-06-29 08:53:48 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/rtsp/Makefile.am:
+         rtsp: Also use libgstbase for introspection module
+
+2018-06-29 08:08:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/Makefile.am:
+         rtsp: Link to libgstbase for GstDataQueue
+
+2018-06-28 20:13:04 +0800  wangzq <qiang_jsj@live.cn>
+
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+         audiobasesrc: Round down segsize to an integer number of samples
+         https://bugzilla.gnome.org/show_bug.cgi?id=796704
+
+2018-06-28 10:19:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/rtsp/gstrtspconnection.c:
+         rtspconnection: Use GstQueueArray instead of GQueue for the queued messages
+
+2018-06-26 12:18:27 +0930  memeka <mihailescu2m@gmail.com>
+
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+         gl: check for EGL_KHR_platform_gbm for non-MESA gbm implementations
+         https://bugzilla.gnome.org/show_bug.cgi?id=796694
+
+2018-06-24 13:35:20 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+         gl: fix build on iOS
+
+2018-06-24 13:19:21 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+         gl: fix build on Windows
+
+2018-06-24 00:17:26 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Update for g_type_class_add_private() deprecation in recent GLib
+
+2018-06-24 00:17:26 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixerbin.c:
+         gl: Update for g_type_class_add_private() deprecation in recent GLib
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+       * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+       * 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/gstglframebuffer.c:
+       * gst-libs/gst/gl/gstglshader.c:
+       * gst-libs/gst/gl/gstglslstage.c:
+       * gst-libs/gst/gl/gstglupload.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+       * gst-libs/gst/gl/win32/gstglwindow_win32.c:
+       * gst-libs/gst/gl/x11/gstglcontext_glx.c:
+       * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+         gl: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * gst-libs/gst/rtp/gstrtpbasepayload.c:
+         rtp: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         pbutils: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+       * gst-libs/gst/tag/gsttagmux.c:
+         tag: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideopool.c:
+       * gst-libs/gst/video/gstvideosink.c:
+         video: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+       * gst-libs/gst/audio/gstaudiocdsrc.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+         audio: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-23 21:33:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+         app: Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-22 22:43:08 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontextegl: only dump configs once
+
+2018-06-22 22:40:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontextegl: Fix android build without ES3 tokens
+
+2018-06-20 04:41:24 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/rtsp/gstrtspdefs.c:
+       * gst-libs/gst/rtsp/gstrtspdefs.h:
+         rtspdefs: Add gst_rtsp_generate_digest_auth_response_from_md5
+         Passwords are usually not stored in clear text, usually
+         the A1 section of the response is stored as is in .htdigest
+         files.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796636
+
+2018-06-21 17:47:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/gstglmatrix.c:
+         gl/tests: matrix use the affine matrix setter to convert matrices
+         Removes some duplicated matrices that didn't really need to be
+         hardcoded.
+
+2018-06-21 17:36:39 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+         glcontextegl: dump the list of EGLConfig's available
+
+2018-06-18 22:24:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl: use dependency fallbacks to get at a possible gl-headers subproject
+         We would make the subproject conditional on the wrap-mode=nodownload
+         however get_option('wrap-mode') or similar is not available from
+         meson.build files as the wrap-mode is meant to be used automatically.
+         Instead use the dependency fallback mechanism to get at the subproject
+         where possible i.e. when downloading is allows and only add the compat
+         includes when we have a valid internal dependency from the gl-headers
+         subproject.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796534
+
+2018-06-18 13:28:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/ogg/gstoggdemux.c:
+         oggdemux: Make sure that events are writable before changing their seqnum
+
+2018-06-15 22:48:42 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Fix string leak
+         gst_video_colorimetry_to_string() returns allocated memory which
+         must be freed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796596
+
+2018-06-15 13:14:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/libs/.gitignore:
+       * tests/check/libs/gstglfeature.c:
+       * tests/check/meson.build:
+         gl/tests: add extension/version parsing checks
+
+2018-06-13 15:29:46 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * tools/gst-discoverer.c:
+         discoverer: Don't crash when running with -v if channel-mask==0 and >7 channels
+         For e.g. 16-channel audio, if the channel mask is 0 (which it usually
+         is), gst_audio_channel_positions_from_mask would get confused,
+         ultimately leading into a crash.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796578
+
+2018-06-13 13:19:54 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/gstvideoencoder.c:
+         videoencoder: Keep the segment position in sync
+         If the start of the segment is modified, the position should be
+         modified accordingly
+         https://bugzilla.gnome.org/show_bug.cgi?id=796576
+
+2018-06-11 18:32:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * gst-libs/gst/sdp/gstsdpmessage.h:
+         sdp: Add new constructor, sdp_message_from_text
+         Helper function for bindings, in python for example
+         users can now replace:
+         res, msg = GstSdp.SDPMessage.new()
+         GstSdp.sdp_message_parse_buffer(bytes(text.encode()), msg)
+         with:
+         res, msg = GstSdp.SDPMessage.new_from_text(text)
+         https://bugzilla.gnome.org/show_bug.cgi?id=796563
+
+2018-06-11 13:51:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideopool.c:
+         videopool: Removed unused private caps member
+
+2018-06-11 13:48:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: log an ERROR if we're going to return a flow error
+
+2018-06-07 17:42:35 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         Revert "gl/meson: add support for using bundled headers in a subproject"
+         This reverts commit 82c43ff9a32f1c1d113cd6e1e8d046b7ab64422d.
+         Reverting for the time being, since it trips up build bots
+         that don't have network connectivity.
+         We ideally shouldn't have a subproject that's used unconditionally.
+
+2018-06-07 13:58:43 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglalpha.c:
+         glalpha: fix compilation with msvc
+         It doesn't define M_PI
+
+2018-06-06 17:27:15 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: add support for using bundled headers in a subproject
+         This is most useful when building on windows which does not ship the
+         necessary OpenGL headers.
+
+2018-06-07 13:48:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * subprojects/gl-headers.wrap:
+         gl: add subproject for necessary GL headers for building
+         Originally for windows with the GL/glext.h and GL/wglext.h but can be
+         extended for other headers
+
+2017-11-01 10:25:49 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+       * gst-libs/gst/audio/gstaudiobasesink.c:
+         audiobasesink: Improve clock skew corrections.
+         The external time should be moved only as much as needed
+         to get back to the ideal center point, so that the clock
+         is still allowed to drift both directions after the correction.
+         This reduces excessive back and forth corrections that were
+         caused by the assumption of a linear drift.
+         https://bugzilla.gnome.org/show_bug.cgi?id=788006
+
+2018-06-06 17:24:26 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: force the gl dependency to use pkg-config
+         Meson has an internal override for dependency('gl') which we do not want
+         to use as it assumes too many things.  Force meson to only search for
+         gl.pc.
+
+2018-06-04 22:34:04 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl/meson: don't define GST_EXPORTS
+         The intended use (msvc) doesn't currently like it and will fail to
+         resolve symbols at runtime.
+
+2018-06-04 22:32:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstgldownloadelement.c:
+         gldownloadelement: fix build with msvc
+         msvc doesn't like #ifdef inside macro expansion
+
+2018-05-24 02:49:54 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglutils.c:
+       * gst-libs/gst/gl/gstglutils.c:
+       * tests/check/libs/gstglmatrix.c:
+         gl/utils: Fix NDC conversion matrices for column-majorness
+         The matrices were converting the wrong values with non-diagonal-only matrices.
+         e.g. a typical yflip matrix in [-1,1]^3 such as
+         1  0  0  0
+         0 -1  0  0
+         0  0  1  0
+         0  0  0  1
+         Would have actually required a matrix like this in [0,1]^3
+         1  0  0  0
+         0 -1  0  0
+         0  0  1  0
+         0 -2  0  1
+         Which is
+         1. not consistent with our multiplication convention and would require
+         transposing matrices or changing our multiplication order (from what is
+         generally used on opengl matrix guides/tutorials).
+         2. Produces incorrect values when input with actual vertices accounting for
+         the difference in multiplication order.  e.g. some vertices multiplied by
+         the yflip matrix using vertex * yflip(== transpose(yflip) * vertex):
+         vertex:       -> result:           expected:
+         vec4(1,0,1,1) -> vec4(1,-2,1,1)    vec4(1,1,1,1)
+         vec4(1,1,1,1) -> vec4(1,-3,1,1)    vec4(1,0,1,1)
+         With the updated values, we now get the expected values.
+         Includes a test for this behaviour and the example above
+
+2018-06-05 17:30:47 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstplaysink.c:
+         playsink: Properly propagate SEGMENT seqnum
+         When flushing chains, make sure the FLUSH events have seqnum
+         that are consistent with the current SEGMENT seqnum
+
+2018-06-05 17:29:53 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gststreamsynchronizer.c:
+         streamsynchronizer: Properly propagate seqnum on EOS event
+
+2018-06-05 17:24:55 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+         rtpbasedepayload: Properly propagate segment seqnum
+         This wasn't done previously and the outgoing SEGMENT events had
+         seqnums which weren't consistent with the upstream ones
+
+2018-06-05 17:24:05 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/ogg/gstoggdemux.c:
+         oggdemux: Properly relay seqnum of segments
+         Not all cases were handled regarding properly propagating the
+         seqnum of SEGMENT events on all downstream segment-related events
+
+2018-05-30 11:39:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: Don't read beyond array
+         If num_open_tags is 0, we shouldn't try to get the "last" open tag
+         since there isn't any.
+
+2018-05-30 10:56:12 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/ogg/gstoggstream.c:
+         ogg: Avoid undefined granule shift
+         A granule is a 64bit signed integer, shifting by 63 or more is
+         undefined and most likely an indication that the stream is
+         corrupted or invalid.
+         Detected by oss-fuzz
+
+2018-05-22 13:59:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gsturidecodebin.c:
+         docs: Fix typos
+
+2014-04-18 10:37:57 +0200  Antoine Jacoutot <ajacoutot@gnome.org>
+
+       * gst-libs/gst/gl/Makefile.am:
+         libs: g-ir-scanner: do not hardcode libtool path
+         https://bugzilla.gnome.org/show_bug.cgi?id=726571
+
+2018-05-21 23:12:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: rename gtkdoc option to gtk_doc
+
+2018-05-21 11:35:05 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add install_plugins_helper option
+
+2018-05-21 09:18:24 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/video/video-color.c:
+         video: fix some GIR array annotations
+
+2018-05-21 09:18:09 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/audio/audio-channels.c:
+         audio: fix some GIR array annotations
+
+2018-05-20 13:37:07 +0200  Christoph Reiter <reiter.christoph@gmail.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: gl: remove non-headers from gl_prototype_headers
+         This made the meson build install those files, while they aren't
+         installed with the autotools build.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796274
+
+2018-05-20 14:38:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use cdata.set_quoted() in more places
+
+2018-05-20 14:27:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add 'nls' option to disable translations
+         And enable by default. Was implicitly disabled because
+         ENABLE_NLS was not defined.
+
+2018-05-20 13:33:13 +0200  Christoph Reiter <reiter.christoph@gmail.com>
+
+       * gst-libs/gst/tag/meson.build:
+         meson: install license-translations.dict and set LICENSE_TRANSLATIONS_PATH
+         The autotools build installs the file and sets the LICENSE_TRANSLATIONS_PATH
+         macro which licences.c uses as a fallback path. Do the same with meson.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796274
+
+2018-05-20 13:35:52 +0200  Christoph Reiter <reiter.christoph@gmail.com>
+
+       * tools/meson.build:
+         meson: install the man pages for the command line tools
+         https://bugzilla.gnome.org/show_bug.cgi?id=796274
+
+2018-04-28 20:22:31 -0400  ayaka <ayaka@soulik.info>
+
+       * 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 NV12_10LE40 pixel format
+         This pixel format is a fully packed variant of NV12_10LE32,
+         a luma pixel would take 10bits in memory, without any
+         filled bits between pixels in a stride. The color range
+         follows the BT.2020 standard.
+         In order to get a better performance in hardware memory
+         operation, it may expend the stride, append zero data at the
+         end of echo lines.
+         Pack function by Nicolas Dufresne.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795462
+         Signed-off-by: Nicolas Dufresne <nicolas@ndufresne.ca>
+         Signed-off-by: ayaka <ayaka@soulik.info>
+
+2014-04-18 10:37:57 +0200  Antoine Jacoutot <ajacoutot@gnome.org>
+
+       * gst-libs/gst/allocators/Makefile.am:
+       * gst-libs/gst/app/Makefile.am:
+       * gst-libs/gst/audio/Makefile.am:
+       * gst-libs/gst/pbutils/Makefile.am:
+       * gst-libs/gst/riff/Makefile.am:
+       * gst-libs/gst/rtp/Makefile.am:
+       * gst-libs/gst/rtsp/Makefile.am:
+       * gst-libs/gst/sdp/Makefile.am:
+       * gst-libs/gst/tag/Makefile.am:
+       * gst-libs/gst/video/Makefile.am:
+         libs: g-ir-scanner: do not hardcode libtool path
+         https://bugzilla.gnome.org/show_bug.cgi?id=726571
+
+2018-05-17 13:54:35 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: Collect appropriate stream-type when doing stream selection
+         https://bugzilla.gnome.org/show_bug.cgi?id=796193
+
+2018-04-23 13:30:38 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remove custom get_next_time implementation
+         GstAggregator now has the same thing in the simple implementation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795486
+
+2018-04-23 13:27:39 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Remove custom get_next_time implementation
+         GstAggregator now offers  same thing in a common implementation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795486
+
+2017-12-13 12:30:54 +0100  Georg Lippitsch <glippitsch@toolsonair.com>
+
+       * gst-libs/gst/video/gstvideotimecode.c:
+         videotimecode: Allow 24000/1001 frame rate
+         https://bugzilla.gnome.org/show_bug.cgi?id=796107
+
+2018-05-13 23:33:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gl/Makefile.am:
+         examples: gl: subdirs can be built independently in parallel
+
+2018-05-13 23:31:22 +0100  Pierre Labastie <pierre.labastie@neuf.fr>
+
+       * tests/examples/gl/sdl/Makefile.am:
+         examples: gl: sdl: link to the right in-tree libgstvideo
+         https://bugzilla.gnome.org/show_bug.cgi?id=796082
+
+2018-05-12 17:19:50 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/subparse/gstsubparse.c:
+         subparse: follow-up build fix after d871b1205
+
+2018-05-12 13:53:02 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/subparse/gstsubparse.c:
+       * tests/check/elements/subparse.c:
+         subparse: support for more than 32 unclosed markup tags
+         https://bugzilla.gnome.org/show_bug.cgi?id=796043
+
+2018-05-12 10:05:38 +0800  Roland Jon <rlandjon@gmail.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: remove unused macro definitions
+         https://bugzilla.gnome.org/show_bug.cgi?id=796039
+
+2018-05-11 09:44:58 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * tests/examples/gl/gtk/3dvideo/Makefile.am:
+       * tests/examples/gl/gtk/filternovideooverlay/Makefile.am:
+       * tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
+       * tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
+         examples: Disable a specific warning
+         gcc 8 checks more cases in the "parentheses" checks, and unfortunately
+         upstream gtk headers fails with that warning.
+         Make that warning non-fatal
+
+2018-05-10 01:54:36 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gstdecodebin3-parse.c:
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Do not modify structure of EOS event
+         https://bugzilla.gnome.org/show_bug.cgi?id=795981
+
+2018-05-10 01:33:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Do not modify structure of EOS event
+         https://bugzilla.gnome.org/show_bug.cgi?id=795981
+
+2018-05-09 10:39:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Fix GList leak
+         https://bugzilla.gnome.org/show_bug.cgi?id=795937
+
+2018-05-08 23:44:38 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: Fix string leak
+         uri and suburi should be free'd
+         https://bugzilla.gnome.org/show_bug.cgi?id=795932
+
+2018-05-07 17:53:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Set video-meta option on buffer pool configuration correctly
+         CID 1435451
+
+2018-05-07 09:17:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: First override set/get_property vfuncs, then install properties
+         Gives assertions otherwise.
+
+2016-02-02 18:19:30 +0200  Kyrylo Polezhaiev <kirushyk@gmail.com>
+
+       * gst-libs/gst/tag/gsttagdemux.c:
+         tagdemux: avoid timestamp field initialisation for tag event
+         This field is not used and will be removed in 2.0 API.
+         https://bugzilla.gnome.org/show_bug.cgi?id=761462
+
+2018-02-27 23:22:24 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglcolorbalance.c:
+         glcolorbalance: Support OES textures for input/passthrough
+         glcolorbalance is in the default GL path inside glimagesink,
+         so has been causing an possibly-unnecessary extra texture copy
+         on Android for a while now. If we're just doing passthrough,
+         we can support OES directly. If not, they'll be transformed
+         to 2D textures and colourbalanced.
+
+2018-05-06 16:49:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Some more documentation fixes
+
+2018-05-06 16:44:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: expose converter-config on convert pads
+         This in order to allow users control over the conversion
+         process, for example the scaling method.
+
+2018-05-06 16:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Fix up documentation some more
+
+2017-04-25 16:35:45 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+       * gst/playback/gstdecodebin3.c:
+         decodebin3: Re-order all streams and add to collection
+         Sort all streams from parsebins by stream type and SELECT flag
+         and stream-id. First video, then audio, then others.
+         https://bugzilla.gnome.org/show_bug.cgi?id=775615
+
+2018-05-06 16:22:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Clean up header and update docs a bit
+
+2018-05-06 16:05:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Rename get_output_buffer() to create_output_buffer()
+         For consistency with GstAudioAggregator.
+
+2018-05-06 15:49:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Validate pool configuration and create a new pool if it just does not work
+         Also pass the given allocator to the pool if one is set.
+
+2018-05-06 15:21:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositorpad.h:
+         videoaggregator: Switch to a GstVideoAggregatorConvertPad subclass
+         This moves all the conversion related code to a single place, allows
+         less code-duplication inside compositor and makes the glmixer code less
+         awkward. It's also the same pattern as used by GstAudioAggregator.
+
+2018-05-06 11:09:45 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefindfunctions: fix tap typefinder
+         If we memcmp() 12 bytes we should make sure to get
+         at least 12 bytes as well, and not just 8 bytes.
+         Thanks oss-fuzz!
+
+2018-05-06 18:51:10 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: fix negotiation for a non list video format in caps
+         For a single format in the caps, we were returning some weird answers,
+         like only RGB formats for a RGB input when we can also support YUV from
+         RGB.
+         Fixup of 3cfff727b19d450898dbe7931c53ea05bc2a9ac3 where I thought my
+         previous (~6month) self had got this right.  Don't trust your previous
+         self people!
+
+2018-05-05 18:02:16 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/tcp/gsttcpclientsink.c:
+       * gst/tcp/gsttcpclientsrc.c:
+       * gst/tcp/gsttcpserversink.c:
+       * gst/tcp/gsttcpserversrc.c:
+         tcp: fix markup for example pipelines in docs
+         gtk-doc doesn't like the # it seems.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795548
+
+2018-05-05 17:47:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Include string.h for memset()
+         gstglmixer.c:143:5: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
+         memset (prepared_frame, 0, sizeof (GstVideoFrame));
+         ^~~~~~
+         gstglmixer.c:143:5: error: incompatible implicit declaration of built-in function ‘memset’ [-Werror]
+
+2013-11-16 16:13:00 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>
+
+       * gst/typefind/gsttypefindfunctions.c:
+         typefind: Add TAP and DMP files support
+         https://bugzilla.gnome.org/show_bug.cgi?id=661137
+
+2018-05-05 19:25:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * tests/check/meson.build:
+       * tests/meson.build:
+         meson: Update option names to omit disable_ and with- prefixes
+         Also yield common options to the outer project (gst-build in our case)
+         so that they don't have to be set manually and use array types for some
+         options.
+
+2018-05-05 11:29:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: Update converters after updating with the new audioinfo/caps
+         Otherwise subclasses might accidentially use the old audioinfo/caps.
+         None of the subclasses currently uses the audioinfo/caps, but future
+         subclasses might.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795827
+
+2018-05-05 16:31:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Remove sink_non_alpha_caps class field
+         This is only used for caching reasons and should never actually be in
+         the public API. If this is ever a bottleneck later, caching around a
+         class private struct could be implemented.
+
+2018-05-05 16:14:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+         videoaggregator: Move needs_alpha pad field to the private struct
+         And also trigger renegotiation if the value has changed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795836
+
+2018-05-05 15:49:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+         videoaggregator: Move aggregated_frame and the pad buffer into the private struct
+         The aggregated_frame is now called prepared_frame and passed to the
+         prepare_frame and cleanup_frame virtual methods directly. For the
+         currently queued buffer there is a method on the video aggregator pad
+         now.
+
+2018-03-16 18:57:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+         gl: allow for high resolution EAGLLayer's
+
+2018-05-05 21:29:40 +1000  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/libs/.gitignore:
+       * tests/check/libs/gstglformat.c:
+       * tests/check/meson.build:
+         glformat: add test for formats
+
+2018-05-05 21:21:13 +1000  Matthew Waters <matthew@centricular.com>
+
+       * 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:
+         glcolorconvert: add support for ARGB64 conversion
+
+2018-05-05 21:03:25 +1000  Matthew Waters <matthew@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglformat.h:
+         gl/format: add a function to retrieve if a format is supported
+
+2018-05-03 13:59:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglcolorconvertelement.c:
+       * ext/gl/gstglcolorconvertelement.h:
+       * ext/gl/gstgluploadelement.c:
+       * ext/gl/gstgluploadelement.h:
+       * gst-libs/gst/gl/gstglbasefilter.c:
+       * gst-libs/gst/gl/gstglbasefilter.h:
+         glbasefilter: expose finding the local GL context
+         And use it to attempt to find the GL context sooner for upload and color
+         conversion caps transformations.
+
+2018-03-14 18:12:21 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/gl/gstglformat.c:
+       * gst-libs/gst/gl/gstglformat.h:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglmemorypbo.c:
+         gl/memory: store the internal format as the texture format
+         Instead of having special cases at each GL texture creation, upload,
+         readback or copy for all non-8-bits-per-components.
+         Simply store the more specific format and retrieve the generic
+         component/type tuple from that.
+         Introduce a helper function for retrieving the generic GL format (RGBA,
+         RGB, RG, R, L, A) and type (BYTE, SHORT, SHORT_5_6_5) from a sized
+         GL format enum (RGBA8, RGB565, RG8, etc).
+
+2018-03-14 18:20:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * tests/check/libs/gstglmemory.c:
+         gl/memory/tests: split test into separate subtests
+         Allows for more fine-grained notification of failures
+
+2018-03-05 17:58:11 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/Makefile.am:
+       * ext/gl/gstglalpha.c:
+       * ext/gl/gstglalpha.h:
+       * ext/gl/gstopengl.c:
+       * ext/gl/meson.build:
+         gl: add glalpha element that is similar to the alpha element
+         It performs similarly to the existing alpha element however performs
+         calculations in floating point rather than with small (guint8) integers
+         so some differences are to be expected.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794070
+
+2018-05-05 12:16:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Move frame/texture mapping/unmapping into prepare/clean_frame
+         Previously we assumed that the texture ID is going to be valid even
+         after unmapping the frame, as it was immediately unmapped before even
+         being used. Now we only unmap once we're done with the texture.
+
+2018-05-04 10:35:36 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/video-chroma.c:
+       * gst-libs/gst/video/video-converter.c:
+         video: Silence "restrict" issues with ORC code
+         The problem is that even though the functions we are calling are
+         in-place transformation, orc automatically puts the restrict keyword
+         on all arguments. To silence that warning just create yet-another
+         variable containing the same value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795765
+
+2018-05-04 17:18:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Move property storage to private pad struct
+
+2018-05-04 16:46:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * tests/check/elements/compositor.c:
+         videoaggregator: Rename ignore-eos pad property to repeat-after-eos
+         What it does is to repeat the last frame forever after EOS, it does not
+         literally ignore EOS.
+
+2018-05-04 16:13:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         videoaggregator: Move GstChildProxy implementations into leaf classes
+         Not every subclass will want to expose the pads via the interface.
+         https://bugzilla.gnome.org/show_bug.cgi?id=739011
+
+2018-05-04 14:53:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Get rid of separate header for the aggregator pad
+
+2018-05-04 13:36:36 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * COPYING:
+       * COPYING.LIB:
+       * Makefile.am:
+         COPYING: Put LGPLv2 in there
+         There is no GPLv2 code in this repo.
+         https://bugzilla.gnome.org/show_bug.cgi?id=674852
+
+2018-05-02 18:39:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: Handle unlock in drain query handling too
+         And also handle flushing, we might otherwise wait here forever when
+         flushing too.
+
+2018-05-02 18:35:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: Make sure to also handle unlock when waiting for EOS to be handled
+         Otherwise shutting down during EOS waiting will cause a deadlock.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795551
+
+2018-05-02 18:11:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc/sink: Fix optimization for only signalling waiters if someone is actually waiting
+         It is possible that both application and the stream are waiting
+         currently, if for example the following happens:
+         1) app is waiting because no buffer in appsink
+         2) appsink providing a buffer and waking up app
+         3) appsink getting another buffer and waiting because it's full now
+         4) app thread getting back control
+         Previously step 4 would overwrite that the appsink is currently waiting,
+         so it would never be signalled again.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795551
+
+2018-04-30 17:17:22 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+         pbutils: Avoid assertion describing raw audio caps without format
+         We used to get:
+         gst_audio_format_from_string: assertion 'format != NULL' failed
+
+2018-04-23 16:50:26 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: Fix deserialization of a single profile
+         Instead of trying to guess what profile to build, just get the possible
+         elements to use with the specified caps and determine the
+         EncodingProfile from it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795490
+
+2018-04-22 10:49:29 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstencodebin.c:
+         encodebin: Also lock input caps when dynamic output is disabled
+         With the way caps negotiation work in encoders, the only way to ensure
+         that no downstream renegotiation is done in the encoder is to also lock
+         upstream caps. Anyway with the current behavior upstream of encoders
+         *require* to handle any file format so locking upstream format should
+         be safe.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795464
+
+2018-04-30 19:49:20 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst-libs/gst/tag/gsttagmux.c:
+         tagmux: Reset final tags for reusing element
+         If the output tag had been exposed, it never ever updated
+         even if we reset the tagmux using state change.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795691
+
+2018-04-25 09:28:53 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: don't segfault if a pad is not a source pad when it is removed
+         Ignore to handling a pad of decodebin3 which doesn't have corresponding output
+         when it is removed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795529
+
+2018-04-20 12:30:22 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * tests/check/libs/videodecoder.c:
+         videodecoder: add test for event order
+         When frames are dropped or reordered then the serialized events are
+         collected and pushed with the next frame. This test verifies that the
+         order is preserved.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794192
+
+2018-03-08 11:28:58 +0100  Matthias Fend <matthias.fend@wolfvision.net>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: keep event order
+         Since events are pushed out in reverse order, newer events need to
+         be added at the front of event lists
+         https://bugzilla.gnome.org/show_bug.cgi?id=794192
+
+2018-03-30 15:41:15 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/allocators/gstdmabuf.c:
+       * gst-libs/gst/allocators/gstdmabuf.h:
+         dmabufallocator: adds gst_dmabuf_allocator_alloc_with_flags
+         If we can guarantee the lifetime of the fd is longer than
+         the memory, we can use DONT_CLOSE flag not to close when release.
+         But it's not provided in gstdmabuf yet while gstfdmemory does.
+         For example, in case of using VA-API or MSDK, we would need this api.
+         Otherwise we should call dup to duplicate the fd.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794829
+
+2018-04-26 13:01:05 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h:
+         viv-fb: export viv-fb display api
+         qmlgl plugin will use this api
+         https://bugzilla.gnome.org/show_bug.cgi?id=795562
+
+2018-04-24 13:48:53 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * gst-libs/gst/gl/viv-fb/Makefile.am:
+         viv-fb: install gstgldisplay_viv_fb.h into build result
+         gstgldisplay_viv_fb.h is need by qmlgl plugin in gst-good package
+         https://bugzilla.gnome.org/show_bug.cgi?id=795499
+
+2018-04-25 11:26:17 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/app/meson.build:
+         meson: fix copy'n'paste-o in app plugin build description
+
+2018-04-24 14:05:30 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * gst/compositor/meson.build:
+         Meson: Generate pc file for all plugins in bad
+         https://bugzilla.gnome.org/show_bug.cgi?id=794568
+
+2018-04-24 14:05:57 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * 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/meson.build:
+       * ext/vorbis/meson.build:
+       * 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/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:
+       * sys/ximage/meson.build:
+       * sys/xvimage/meson.build:
+         Meson: Generate pc file for all plugins in base
+         https://bugzilla.gnome.org/show_bug.cgi?id=794568
+
+2018-04-25 10:57:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use -Wl,-Bsymbolic-functions where supported
+         Just like the autotools build.
+
+2018-04-25 01:33:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         gl/cocoa: Let ARC clean up our dispatch queue if ARC is used, and otherwise do it manually
+         Also don't use __bridge casts if ARC is not used, as is the case on 32
+         bit systems.
+
+2018-04-25 01:08:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+         gl/cocoa: Use NSRect instead of CGRect
+         On 64 bit systems they're typedefs of each other but on 32 bit systems
+         not, and we pass the rect to an API that expects a NSRect
+
+2018-04-24 17:05:17 -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:
+         Revert "video: Add NV12_10LE40 pixel format"
+         This reverts commit 35d0783fca504997e1be30cfebfa8de042ea49ab.
+
+2017-03-26 04:54:42 +0800  ayaka <ayaka@soulik.info>
+
+       * 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 NV12_10LE40 pixel format
+         This pixel format is a fully packed variant of NV12, a luma
+         pixel would take 10bits in memory, without any filled bits
+         between pixels in a stride. The color range follows
+         the BT.2020 standard.
+         In order to get a performance in hardware memory
+         operation, it may expend the stride, append zero data at the
+         end of echo lines.
+         Signed-off-by: ayaka <ayaka@soulik.info>
+         https://bugzilla.gnome.org/show_bug.cgi?id=795462
+
+2018-04-20 21:54:23 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstglmemory.c:
+       * gst-libs/gst/gl/gstglslstage.c:
+       * gst-libs/gst/gl/gstglupload.c:
+         gl: fix some GIR annotations
+         Mostly related to out and array parameters
+
+2018-04-20 21:53:17 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/pbutils/codec-utils.c:
+         pbutils: fix some GIR annotations
+         Mostly related to out and array parameters
+
+2018-04-20 21:53:16 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/video-anc.c:
+       * gst-libs/gst/video/video-color.c:
+       * gst-libs/gst/video/video-event.c:
+       * gst-libs/gst/video/video-info.c:
+       * gst-libs/gst/video/videoorientation.c:
+         video: fix some GIR annotations
+         Mostly related to out and array parameters
+
+2018-04-20 21:53:16 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-info.c:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+         audio: fix some GIR annotations
+         Mostly related to out and array parameters
+
+2018-04-20 21:53:15 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/rtsp/gstrtspmessage.c:
+       * gst-libs/gst/rtsp/gstrtsprange.c:
+       * gst-libs/gst/rtsp/gstrtsptransport.c:
+       * gst-libs/gst/rtsp/gstrtspurl.c:
+         rtsp: fix some GIR annotations
+         Mostly related to out and array parameters.
+
+2018-04-20 21:53:10 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/rtp/gstrtcpbuffer.c:
+       * gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
+       * gst-libs/gst/rtp/gstrtpbuffer.c:
+       * gst-libs/gst/rtp/gstrtphdrext.c:
+         rtp: fix some GIR annotations
+         Mostly related to out and array parameters.
+
+2018-04-23 16:32:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: fix filtered getcaps
+         In the situation described in
+         https://bugzilla.gnome.org/show_bug.cgi?id=795397,
+         downstream_caps consists of two structures, the first with
+         the preferred rate, if at all possible (44100), the second
+         containing the full range of allowed rates, as audioresample
+         correctly tries to negotiate passthrough caps.
+         As audioaggregator cannot perform rate conversion, it wants
+         to return a fixated rate in its getcaps implementation,
+         however it previously directly used the first structure in
+         the caps allowed downstream, without taking the filter into
+         consideration, to determine the rate to fixate to.
+         With this, we first intersect our downstream caps with the
+         filter, in order not to fixate to an unsupported rate.
+
+2018-04-23 12:23:41 +0200  Zeeshan Ali <zeeshanak@gnome.org>
+
+       * tests/check/libs/videodecoder.c:
+         tests: videodecoder: Fix a minor c&p mistake
+         This completes what commit 0de0f3b2c should have already done. :)
+         https://bugzilla.gnome.org/show_bug.cgi?id=795483
+
+2018-04-23 12:23:41 +0200  Zeeshan Ali <zeeshanak@gnome.org>
+
+       * tests/check/libs/videodecoder.c:
+         tests: videodecoder: Fix a minor c&p mistake
+         https://bugzilla.gnome.org/show_bug.cgi?id=795483
+
+2018-04-21 01:00:28 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/video/video-frame.c:
+         video: Safe guard info->finfo when mapping a frame
+         Not sure how that slept through but that case is possible and leads
+         to segfaults in any code path of the function right now.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795436
+
+2018-04-20 11:04:44 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: Handle escaped '\:' in caps describing profiles
+         Otherwise it won't be possible to specify some profiles such as
+         video/x-h264,profile=(string)high-4:4:4
+         With this patch, we can do
+         video/x-h264,profile=(string)high-4\:4\:4
+
+2018-04-20 11:42:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/meson.build:
+       * gst-libs/gst/gl/meson.build:
+         meson: gl: fix 'invalid keyword argument' meson warnings
+         Required is not a valid kwarg for cc.has_header()
+
+2018-04-06 20:02:13 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+       * tests/check/libs/rtpbasedepayload.c:
+         rtpbasedepayload: condition the sending of gap events
+         The default implementation for packet loss handling previously
+         always sent a gap event.
+         While this is correct as long as we know the packet that was
+         lost was actually a media packet, with ULPFEC this becomes
+         a bit more complicated, as we do not know whether the packet
+         that was lost was a FEC packet, in which case it is better
+         to not actually send any gap events in the default implementation.
+         Some payloaders can be more clever about, for example VP8 can
+         use the picture-id, and the M and S bits to determine whether
+         the missing packet was inside an encoded frame or outside,
+         and thus whether if it was a media packet or a FEC packet,
+         which is why ulpfecdec still lets these lost events go through,
+         though stripping them of their seqnum, and appending a new
+         "might-have-been-fec" field to them.
+         This is all a bit terrible, but necessary to have ULPFEC
+         integrate properly with the rest of our RTP stack.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794909
+
+2018-04-11 00:57:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+       * tests/check/elements/appsink.c:
+         appsink: Reuse sample object in pull_sample if possible
+         Simple optimization to reduce memory allocations.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795145
+
+2018-04-18 16:06:07 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gstparsebin.c:
+         parsebin: Post STREAM_COLLECTION on EVENT_STREAM_COLLECTION
+         Otherwise decodebin won't get notified about STREAM_COLLECTION comming
+         from the sources and thus will never get informored about it. Without
+         being informed about the stream collection decodebin won't be able to
+         select any streams. It ends up not creating any output for the streams
+         defined from outside parserbin.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795364
+
+2018-04-18 10:28:42 -0400  Omar Akkila <omar.akkila@collabora.co.uk>
+
+       * gst-libs/gst/gl/egl/gsteglimage.c:
+         egl: fix build when using RPi EGL
+         https://bugzilla.gnome.org/show_bug.cgi?id=795336
+
+2018-04-18 17:22:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * meson.build:
+       * tests/examples/meson.build:
+         meson: move some dependency checks to the top level
+         The newly-added build definitions for test/icles relied
+         on dependencies that were only defined when the examples
+         are enabled, thus breaking meson build -Ddisable_examples=true
+
+2018-04-16 17:04:06 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/video-anc.c:
+         video: Don't corrupt caption GstMeta
+         the meta initialization function is provided *after* the base implementation
+         fields have been set so do *NOT* reset them otherwise it would result
+         in corrupted GstMeta.
+         Instead explicitely set our fields to the default values we actually want.
+
+2018-04-16 10:52:51 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * README:
+       * common:
+         Automatic update of common submodule
+         From f0c2dc9 to ed78bee
+
+2018-04-16 11:10:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/meson.build:
+         gl: Define default value for GST_GL_HAVE_WINDOW_GBM
+         Thus, silent compiler's warning:
+         "GST_GL_HAVE_WINDOW_GBM" is not defined, evaluates to 0 [-Wundef]
+
+2018-04-13 20:18:56 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+       * gst-libs/gst/tag/gstid3tag.c:
+       * gst-libs/gst/tag/gstvorbistag.c:
+       * gst-libs/gst/tag/gstxmptag.c:
+       * gst-libs/gst/tag/tags.c:
+         tag: fix some GIR annotations
+         Mostly related to out and array parameters.
+
+2018-04-13 01:23:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         tests: make getaddrinfo suppression more generic
+         So it works for me on debian sid.
+
+2018-04-13 01:05:23 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: ignore leaks where pango is the first frame
+
+2018-04-13 01:02:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: ignore intentional leak in GL test
+
+2018-04-12 22:34:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: conditional moves in nvidia-glcore
+         Not much we can do here
+
+2018-04-12 22:33:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: getaddrinfo leaks when resolving addresses
+         https://lists.debian.org/debian-glibc/2016/03/msg00243.html
+
+2018-04-12 22:24:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audioaggregator: unref converted buffer after gst_buffer_replace
+
+2018-04-12 22:23:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/alsa/gstalsamidisrc.c:
+         alsamidisrc: unref buffer_list before early return
+
+2018-04-12 21:49:40 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/audiomixer.c:
+         tests/audiomixer: fix caps leak
+
+2018-04-12 20:15:01 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: ignore bash leaks
+         gst_install_plugins_* can instantiate bash
+
+2018-04-10 09:31:32 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/playback/gsturisourcebin.c:
+         urisourcebin: Avoid unreffing a pad we are not owning
+         expose_output_pad takes ownership of the pad.
+
+2018-04-12 19:33:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/playback/gsturidecodebin3.c:
+         uridecodebin3: free_play_items when READY_TO_PAUSED failed.
+         We will never go through the PAUSED_TO_READY transition if
+         that is the case, and thus never free the play items.
+
+2018-04-12 18:12:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/playback/gstplaybin3.c:
+         playbin3: fix leak of recursive mutex
+
+2018-04-12 18:50:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/generic/states.c:
+       * tests/check/gst-plugins-base.supp:
+         valgrind suppressions: ignore XInitThreads leaks
+         As we load that symbol dynamically, valgrind gets confused
+         when it leaks and reports the leak against an unrelated library
+         and an unknown (??) symbol.
+         To address that, put the loading and calling of that symbol
+         in a separate function, and ignore any malloc leak happening
+         in that function.
+
+2018-04-12 18:44:12 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-base.supp:
+         valgrind supps: ignore leak in XextCreateExtension
+         Searching for that specific function in other suppression files
+         on the Internet shows a few projects ignoring it
+         eg: https://github.com/XCSoar/XCSoar/blob/master/valgrind.suppressions
+
+2018-04-11 22:56:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/vorbis/gstvorbisenc.c:
+         vorbisenc: do not map input buffer in WRITE mode
+
+2018-04-12 15:02:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/icles/meson.build:
+       * tests/meson.build:
+         meson: port tests/icles
+         https://bugzilla.gnome.org/show_bug.cgi?id=795198
+
+2018-04-11 21:40:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+         audiovisualizer: Only fixate pixel-aspect-ratio if the field exists
+         It's optional.
+
+2018-04-11 12:18:55 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: Documentation fix in gst_app_src_push_sample_internal
+         Make it clear that it doesn't take ownership of the sample.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795150
+
+2018-04-10 21:18:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+         audiovisualizer: Fixate pixel-aspect-ratio to the closest value to 1/1
+
+2018-03-12 10:53:05 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/playback/gstparsebin.c:
+       * gst/playback/gstrawcaps.h:
+       * gst/playback/gstsubtitleoverlay.c:
+         playback: Add support for CEA 608/708 CC overlay elements
+         https://bugzilla.gnome.org/show_bug.cgi?id=794901
+
+2018-02-15 13:59:56 +0100  Edward Hervey <edward@centricular.com>
+
+         video: Add support for VANC and Closed Caption
+         This commits add common elements for Ancillary Data and Closed
+         Caption support in GStreamer:
+         * A VBI (Video Blanking Interval) parser that supports detection
+         and extraction of Ancillary data according to the SMPTE S291M
+         specification. Currently supports the v210 and UYVY video
+         formats.
+         * A new GstMeta for Closed Caption : GstVideoCaptionMeta. This
+         supports the two types of CC : CEA-608 and CEA-708, along with
+         the 4 different ways they can be transported (other systems
+         are super-set of those).
+         https://bugzilla.gnome.org/show_bug.cgi?id=794901
+
+2018-01-31 15:09:36 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+         pbutils: Add Closed Caption caps description
+         https://bugzilla.gnome.org/show_bug.cgi?id=794901
+
+2018-04-09 17:24:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/gstaudiobasesrc.c:
+         audiobasesrc: posting errors should be always be safe
+         Don't try to signal an error in the ringbuffer if it hasn't been
+         allocated yet.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794611
+
+2018-04-07 11:07:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioringbuffer.c:
+         audioringbuffer: Don't spam INFO for every buffer
+         This makes GST_DEBUG=4 outputs too spammy, and such frequent messages
+         are meant to go into DEBUG or TRACE anyway.
+
+2018-04-05 16:41:57 +0200  Zeeshan Ali <zeeshanak@gnome.org>
+
+       * tests/check/meson.build:
+         tests: Enable tests for videodecoder
+         The tests pass fine here so don't see any reason to keep them disabled.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795005
+
+2018-04-04 19:30:55 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstencodebin.c:
+         encodebin: Always respect encoding profile preset factory name
+         And fail if it is not present.
+
+2018-03-24 15:51:20 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/encoding/gstencodebin.c:
+         encodebin: Inform about missing elements in the "text" error field
+         Instead of the debug field, that information should be directly
+         exposed to end users.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794663
+
+2018-04-02 15:08:48 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
+       * gst-libs/gst/video/gstvideoutils.c:
+       * gst-libs/gst/video/video.c:
+         video: Fix/Add section documentation
+
+2018-04-02 08:45:04 +0200  Edward Hervey <edward@centricular.com>
+
+         docs/libs: The big spring cleanup
+         * Explicitely specify which headers aren't to be included in gtkdoc-scan
+         This is essentially all the headers that are not installed and only
+         for internal/local usage. This also includes the orc-generated headers.
+         * Remove all symbols/sections that are no longer present (due to accurately
+         scanning only the headers we need).
+         * Add or expose sections which weren't previously exposed
+         * Make sure the "unified" library headers (ex: gst/video/video.h) are used
+         everywhere applicable. Only use the specific headers where applicable
+         (such as the GL-implementation-specific objects)
+         * Add all documentation which was not previously exposed in the right sections
+         * Update 'types' file to get as many runtime information as possible
+         This brings down the number of unused symbols to 15 (from over 300).
+
+2018-04-02 08:34:58 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/allocators/gstdmabuf.c:
+       * gst-libs/gst/allocators/gstfdmemory.c:
+       * gst-libs/gst/allocators/gstphysmemory.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/gstaudioaggregator.c:
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+       * gst-libs/gst/audio/gstaudiodecoder.c:
+       * gst-libs/gst/audio/gstaudioencoder.c:
+       * gst-libs/gst/audio/gstaudiometa.c:
+       * gst-libs/gst/audio/gstaudioringbuffer.h:
+       * gst-libs/gst/audio/gstaudiostreamalign.c:
+       * gst-libs/gst/gl/egl/gsteglimage.h:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+       * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+       * gst-libs/gst/gl/gstglbasefilter.h:
+       * gst-libs/gst/gl/gstglbasememory.h:
+       * gst-libs/gst/gl/gstglbuffer.h:
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+       * gst-libs/gst/gl/gstglcontext.c:
+       * gst-libs/gst/gl/gstglfilter.h:
+       * gst-libs/gst/gl/gstglmemory.h:
+       * gst-libs/gst/gl/gstglmemorypbo.h:
+       * gst-libs/gst/gl/gstgloverlaycompositor.h:
+       * gst-libs/gst/gl/gstglrenderbuffer.h:
+       * gst-libs/gst/gl/gstglutils.c:
+       * gst-libs/gst/gl/gstglviewconvert.c:
+       * gst-libs/gst/gl/wayland/Makefile.am:
+       * gst-libs/gst/gl/x11/gstgldisplay_x11.h:
+       * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+       * gst-libs/gst/pbutils/gstaudiovisualizer.h:
+       * gst-libs/gst/rtp/gstrtcpbuffer.h:
+       * gst-libs/gst/rtp/gstrtpbasedepayload.h:
+       * gst-libs/gst/rtp/gstrtpdefs.h:
+       * gst-libs/gst/rtsp/gstrtspextension.h:
+       * gst-libs/gst/rtsp/gstrtspmessage.h:
+       * gst-libs/gst/sdp/gstmikey.c:
+       * gst-libs/gst/sdp/gstmikey.h:
+       * gst-libs/gst/sdp/gstsdpmessage.c:
+       * gst-libs/gst/video/gstvideodecoder.c:
+       * gst-libs/gst/video/gstvideoencoder.c:
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideotimecode.c:
+       * gst-libs/gst/video/gstvideoutils.h:
+       * gst-libs/gst/video/video-converter.h:
+       * gst-libs/gst/video/video-frame.h:
+       * gst-libs/gst/video/video-info.h:
+       * gst-libs/gst/video/video-multiview.c:
+       * gst-libs/gst/video/video-overlay-composition.c:
+       * gst-libs/gst/video/video-scaler.c:
+       * gst-libs/gst/video/video-tile.c:
+       * gst-libs/gst/video/videooverlay.h:
+         libs: Documentation cleanup
+         * Fix wrong naming, wrong types and typos
+         * Add missing sections
+         * Add missing documentation for entries
+         * Explicitely mark private structure entries
+         * Remove items that never existed
+
+2018-04-02 08:43:17 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/libs/discoverer.c:
+       * tools/gst-discoverer.c:
+         tools: Fix discoverer deprecation
+         The only information provided by "misc" was the missing plugins which
+         is already handled with another API
+
+2018-04-02 08:42:01 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.h:
+       * gst-libs/gst/rtsp/gstrtsptransport.c:
+       * gst-libs/gst/rtsp/gstrtsptransport.h:
+         libs: Add deprecation guard
+         Those functions have been marked as deprecated
+
+2018-04-02 08:33:58 +0200  Edward Hervey <edward@centricular.com>
+
+       * tests/check/libs/struct_i386_osx.h:
+         check: Remove old structures from ABI check
+         Just in case someone still tries to run it on 32bit osx
+
+2017-04-28 15:24:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/videorate/gstvideorate.c:
+         videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop
+         Instead go backwards before segment.stop based on the framerate or the
+         next buffers end timestamp. Otherwise the first buffer will usually be
+         dropped because outside the segment.
+         https://bugzilla.gnome.org/show_bug.cgi?id=781899
+
+2018-03-27 10:43:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/Makefile.am:
+         gl: pick up GstVideo-1.0.gir from local build dir
+         https://bugzilla.gnome.org/show_bug.cgi?id=794708
+
+2018-03-22 11:12:20 +0100  Antonio Ospite <ao2@ao2.it>
+
+       * tools/gst-play-kb.c:
+         tools: play: fix leaving STDIN in non-blocking mode after exit
+         gst-play-1.0 sets STDIN to non-blocking mode to have the input
+         characters read as soon as they arrive.
+         However, when gst_play_kb_set_key_handler() gets called from
+         restore_terminal() it forgets to restore the STDIN blocking status.
+         This can result in broken behavior for cli command executed in the same
+         terminal after gst-play-1.0 exited.
+         It turns out that putting STDIN in non-blocking mode is not even the
+         proper way to achieve the desired effect, instead VMIN and VTIME in
+         struct termios should be set to 0.
+         Let's do that, and don't mess with the STDIN blocking mode now that it's
+         not necessary.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794591
+
+2018-03-18 11:15:55 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+         encoding-profile: fix gi annotation for gst_encoding_profile_find
+
+2018-03-25 12:48:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/Makefile.am:
+         gl: Disable glmixerbin for the time being too
+         Otherwise we have one copy in gst-plugins-bad and one (unused) here,
+         which makes static linking unhappy.
+
+2018-03-24 21:35:07 +0900  Seungha Yang <pudding8757@gmail.com>
+
+       * gst/encoding/gstencodebin.c:
+         encodebin: Use gst_object_unref() instead of g_object_unref()
+         ... for better debugging (e.g., tracing refcount)
+         https://bugzilla.gnome.org/show_bug.cgi?id=794654
+
+2018-03-23 14:24:38 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         audio-aggregator: Check return values
+         And copy over already-parsed information
+         CID #1427140
+
+2017-07-20 14:15:30 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+       * Makefile.am:
+       * gst-libs/gst/app/app_mkenum.py:
+       * gst-libs/gst/app/meson.build:
+       * gst-libs/gst/audio/audio_mkenum.py:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/pbutils/meson.build:
+       * gst-libs/gst/pbutils/pbutils_mkenum.py:
+       * gst-libs/gst/rtp/meson.build:
+       * gst-libs/gst/rtp/rtp_mkenum.py:
+       * gst-libs/gst/rtsp/meson.build:
+       * gst-libs/gst/rtsp/rtsp_mkenum.py:
+       * gst-libs/gst/tag/meson.build:
+       * gst-libs/gst/tag/tag_mkenum.py:
+       * gst-libs/gst/video/meson.build:
+       * gst-libs/gst/video/video_mkenum.py:
+       * meson.build:
+         meson: libs: use gnome.mkenums_simple() to generate enumtypes files
+         This way we no longer need custom wrapper scripts or template files.
+
+2018-03-04 16:41:14 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
+         gl/gbm: Initialize window handle (= gbm surface) like other window systems
+         https://bugzilla.gnome.org/show_bug.cgi?id=793997
+
+2018-03-22 07:56:28 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst-libs/gst/gl/gstglupload.c:
+       * gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
+         viv-fb: Include gstglfuncs.h to fix cross compilation errors
+         https://bugzilla.gnome.org/show_bug.cgi?id=794589
+
+2018-03-21 18:15:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/allocators/gstdmabuf.c:
+         dmabufallocator: Fix build if LINUX_DMA_BUF_H is missing
+
+2018-03-09 21:24:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * configure.ac:
+       * gst-libs/gst/allocators/gstdmabuf.c:
+       * meson.build:
+         allocators: Add DMABuf synchronization
+         When doing CPU Access, some architecture may require caches to be
+         synchronize before use. Otherwise, some visual artifact may be
+         visible, as the CPU modification may still resides in cache.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794216
+
+2018-03-21 10:27:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video-tile.h:
+         video: Set correct value in g-i annotations for tile related mask constants
+
+2018-03-21 10:25:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/video.h:
+         video: Include gstvideoaffinetransformationmeta.h in video.h
+
+2018-03-21 10:21:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/pbutils.h:
+         pbutils: Include gstaudiovisualizer.h in pbutils.h
+
+2018-03-20 09:15:37 +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-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-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.14.0 ===
 
 2018-03-19 20:15:02 +0000  Tim-Philipp Müller <tim@centricular.com>
        * gst-libs/gst/audio/meson.build:
          meson: install new audio-prelude.h
 
+2018-03-13 13:07:52 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         video: GST_EXPORT -> GST_URI_VIDEO_BAD_API
+         We need different export decorators for the different libs.
+         For now no actual change though, just rename before the release,
+         and add prelude headers to define the new decorator to GST_EXPORT.
+
 2018-03-13 11:56:59 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * docs/libs/Makefile.am:
        * docs/plugins/inspect/plugin-vorbis.xml:
        * docs/plugins/inspect/plugin-ximagesink.xml:
        * docs/plugins/inspect/plugin-xvimagesink.xml:
-         Update docs
-
-2018-03-02 15:21:25 +0100  Edward Hervey <edward@centricular.com>
-
-       * pkgconfig/gstreamer-tag-uninstalled.pc.in:
-       * pkgconfig/gstreamer-tag.pc.in:
-         pkgconfig: Add private zlib dependency for libgsttag
-         Fixes issues with static application builds (which might not know
-         they need to link with zlib when using a libgsttag that was compiled
-         with it).
-         https://bugzilla.gnome.org/show_bug.cgi?id=793989
-
-2018-03-01 18:07:37 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
+         Update docs
+
+2018-03-02 15:21:25 +0100  Edward Hervey <edward@centricular.com>
+
+       * pkgconfig/gstreamer-tag-uninstalled.pc.in:
+       * pkgconfig/gstreamer-tag.pc.in:
+         pkgconfig: Add private zlib dependency for libgsttag
+         Fixes issues with static application builds (which might not know
+         they need to link with zlib when using a libgsttag that was compiled
+         with it).
+         https://bugzilla.gnome.org/show_bug.cgi?id=793989
+
+2018-03-01 18:07:37 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * meson.build:
+         meson: enable more warnings
+         https://bugzilla.gnome.org/show_bug.cgi?id=793960
+
+2018-02-28 23:12:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideodecoder.c:
+         videodecoder: Reset QoS time after pushing segment
+         This fixes playbin gapless playback. An ancient QoS time was used and
+         would lead to all frames being dropped.
+         https://bugzilla.gnome.org/show_bug.cgi?id=668995
+
+2018-03-01 00:34:40 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         Port to latest GstAggregator segment API
+         The aggregator segment is now exposed on the src pad
+         https://bugzilla.gnome.org/show_bug.cgi?id=793946
+
+2018-03-01 00:34:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+         Port to latest GstAggregator segment API
+         The aggregator segment is now exposed on the src pad
+         https://bugzilla.gnome.org/show_bug.cgi?id=793944
+
+2018-02-28 22:12:57 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+       * gst/audiomixer/gstaudiointerleave.c:
+       * gst/audiomixer/gstaudiomixer.c:
+         audioaggregator: remove GstAudioAggregator->info
+         As we now require subclasses to use a subclass of
+         GstAudioAggregatorPad, we can reuse its info field
+         https://bugzilla.gnome.org/show_bug.cgi?id=793943
+
+2018-03-01 12:43:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/libs/tag.c:
+         tests: tags: add unit test for ID3 v2.4 extended headers
+         https://bugzilla.gnome.org/show_bug.cgi?id=792983
+
+2018-02-12 16:26:01 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/tag/id3v2.c:
+         id3v2: re-fix handling of v2.4 extended headers
+         The various id3v2 specs handle the extended header sizes differently
+         (because hey, it wouldn't be fun otherwise).
+         http://id3.org/id3v2.3.0 states:
+         "Where the 'Extended header size', currently 6 or 10 bytes, excludes
+         itself."
+         http://id3.org/id3v2.4.0-structure states:
+         Extended header size   4 * %0xxxxxxx
+         Number of flag bytes       $01
+         Extended Flags             $xx
+         Where the 'Extended header size' is the size of the whole extended
+         header, stored as a 32 bit synchsafe integer. An extended header can
+         thus never have a size of fewer than six bytes.
+         So in id3v2.4.0 it's the *whole* extended header size (a-la ISOBMFF
+         atom), whereas in id3v2.3.0 it's the extended header size *excluding*
+         those 4 initial bytes.
+         And for other versions, god knows..
+         Fixes regression introduced in commit da607005.
+         https://bugzilla.gnome.org/show_bug.cgi?id=792983
+
+2018-02-28 18:13:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.c:
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+       * gst/audiomixer/gstaudiointerleave.c:
+       * gst/audiomixer/gstaudiomixer.c:
+       * tests/check/elements/audiomixer.c:
+         audioaggregator: refactor conversion API
+         For the rationale, see:
+         https://bugzilla.gnome.org/show_bug.cgi?id=793917
+         Also test audiomixer conversion of current output buffer
+
+2018-02-27 23:34:03 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglcolorconvert.c:
+         glcolorconvert: Fix a typo in a debug message
+
+2018-02-27 18:28:16 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/gl/gstglfilter.c:
+       * gst-libs/gst/gl/gstglfilter.h:
+         glfilter: Support non-2D texture targets
+         Allow for sub-classes to change pad templates to
+         support other texture targets, and bind input textures
+         accordingly.
+         When setting the caps, also store the texture target.
+         By default, glfilter only reports 2D texture targets
+         in the default caps, but sub-classes can change that
+         and it would be nice if they could easily find out
+         which texture targets were negotiated.
+         This adds 2 fields to the public struct, but since
+         it's unreleased -base API, it's not an ABI break.
+
+2018-02-28 15:22:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/audio/gstaudioaggregator.h:
+         audioaggregator: Document that the pad's audio info is read-only and needs the object lock
+         Also fix indentation in the header a bit.
+
+2018-02-27 14:07:33 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * m4/gst-gl.m4:
+         m4: fix variable value access
+
+2018-02-27 09:48:23 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         roi-meta: duplicate params when copying meta
+         When copying the meta the params list should be copy too into the
+         new meta.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793883
+
+2018-02-27 13:14:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: Don't install GL GBM headers
+
+2018-02-27 13:12:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * configure.ac:
+       * gst-libs/gst/gl/Makefile.am:
+       * m4/gst-gl.m4:
+         gl: Move DRM_CFLAGS into gst-gl.m4
+
+2018-02-26 07:46:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/Makefile.am:
+         gl: Add missing gbm directory to dist dir
+         This fixes make distcheck
+
+2018-02-25 14:16:44 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * gst-libs/gst/gl/Makefile.am:
+         gl: Add DRM cflags
+         This prevents cross compilation errors like:
+         usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory
+         These are caused because gstgldisplay_gbm.h includes xf86drm.h .
+         https://bugzilla.gnome.org/show_bug.cgi?id=793837
+
+2018-02-26 11:55:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/pbutils.c:
+         pbutils: Fix compilation of last commit
+
+2018-02-25 10:52:46 -0800  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst-libs/gst/pbutils/descriptions.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/pbutils-private.h:
+       * gst-libs/gst/pbutils/pbutils.c:
+         pbutils: Move locale dir initialization to a separate function and do lazy initialization
+         It is the only thing gst_pb_utils_init()  does and it could be
+         automatically called from the places in pbutils it is needed.
+         After 1.14 we should deprecate gst_pb_utils_init().
+         https://bugzilla.gnome.org/show_bug.cgi?id=793611
+
+2018-02-23 16:39:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/gl/gstglconfig.h.meson:
+       * gst-libs/gst/gl/meson.build:
+         gl: Add meson support for GBM backend
+         https://bugzilla.gnome.org/show_bug.cgi?id=782923
+
+2018-02-23 19:59:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * configure.ac:
+       * gst-libs/gst/gl/Makefile.am:
+       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+       * gst-libs/gst/gl/gbm/Makefile.am:
+       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.c:
+       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.h:
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
+       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.h:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
+       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
+       * gst-libs/gst/gl/gstgldisplay.c:
+       * gst-libs/gst/gl/gstgldisplay.h:
+       * gst-libs/gst/gl/gstglwindow.c:
+       * m4/gst-gl.m4:
+         gl: Add Mesa3D GBM backend
+         This makes it possible to use the GStreamer OpenGL elements without a
+         windowing system if a libdrm- and Mesa3D-supported GPU is present
+         https://bugzilla.gnome.org/show_bug.cgi?id=782923
+
+2018-02-23 17:09:49 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * configure.ac:
+         configure: Add configure checks for libdrm and gudev
+         https://bugzilla.gnome.org/show_bug.cgi?id=782923
+
+2018-02-23 19:36:42 +1100  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglimagesink.c:
+         glimagesink: Correct PAR in output caps when transforming
+         When doing a 3D/multiview transformation and rescaling to
+         match the output window size, the resulting PAR may
+         not match the input any more and needs recalculating,
+         or else the GstSample reported to client-draw has the
+         wrong PAR.
+
+2018-02-22 16:11:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/video/gstvideometa.c:
+         roi-meta: Fix bad doc comment syntax
+
+2018-02-09 14:45:08 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideometa.c:
+       * gst-libs/gst/video/gstvideometa.h:
+         videometa: add support for downstream parameters to ROI meta
+         The current GstVideoRegionOfInterestMeta API allows elements to detect
+         and name ROI but doesn't tell anything about how this information is
+         meant to be consumed by downstream elements.
+         Typically, encoders may want to tweak their encoding settings for a
+         given ROI to increase or decrease their quality.
+         Each encoder has its own set of settings so that's not something that
+         can be standardized.
+         This patch adds encoder-specific parameters to the meta which can be
+         used to configure the encoding of a specific ROI.
+         A typical use case would be: source ! roi-detector ! encoder
+         with a buffer probe on the encoder sink pad set by the application.
+         Thanks to the probe the application will be able to tell to the encoder
+         how this specific region should be encoded.
+         Users could also develop their specific roi detectors meant to be used with a
+         specific encoder and directly putting the encoder parameters when
+         detecting the ROI.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793338
+
+2017-11-17 02:05:33 +0100  Mikhail Fludkov <misha@pexip.com>
+
+       * gst-libs/gst/rtp/gstrtpbuffer.h:
+         rtpbuffer.h: Add new RTPBuffer flags
+         These flags will be used for Forward Error Correction purposes
+         https://bugzilla.gnome.org/show_bug.cgi?id=792695
+
+2018-02-20 11:52:43 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/gl/meson.build:
+         meson: fix multi-line string
+         https://bugzilla.gnome.org/show_bug.cgi?id=793629
+
+2018-02-19 09:57:48 -0800  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst-libs/gst/pbutils/encoding-profile.c:
+       * gst-libs/gst/pbutils/encoding-target.c:
+       * gst-libs/gst/pbutils/gstdiscoverer.c:
+         pbutils: add some missing gi annotations
+         For allow-none parameters
+
+2018-02-19 17:50:51 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/videoscale.c:
+         tests: videoscale: simplify test and make it more robust
+         test_negotiation would occasionally time out, for unknown reasons.
+         Simplify the test setup and get rid of the main loop, busses, and
+         notify signals. With this I can no longer easily reproduce the
+         timeout. Fingers crossed.
+
+2018-02-01 19:25:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: don't signal the GCond if no one is waiting on it
+         Performance optimisation: Keep track whenever the streaming
+         thread or the application thread are waiting on the GCond for
+         more space or new data, and only signal on the GCond if someone
+         is actually waiting. Avoids unnecessary syscalls and thus
+         context switches.
+
+2018-02-01 01:22:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsrc.c:
+         appsrc: use GstQueueArray instead of GQueue for internal item queue
+         Performance optimisation.
+         Avoids alloc/free churn for the queue's list nodes.
+         Depends on new API in GstQueueArray in core.
+
+2018-01-31 20:19:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: don't signal the GCond if no one is waiting on it
+         Performance optimisation: Keep track whenever the streaming
+         thread or the application thread are waiting on the GCond
+         for more space or new data, and only signal on the GCond if
+         someone is actually waiting. Avoids unnecessary syscalls and
+         thus context switches.
+
+2018-01-31 20:11:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/app/gstappsink.c:
+         appsink: use GstQueueArray instead of GQueue for internal item queue
+         Performance optimisation.
+         Avoids alloc/free churn for the queue's list nodes.
+
+2018-01-31 20:07:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/icles/.gitignore:
+       * tests/icles/Makefile.am:
+       * tests/icles/benchmark-appsink.c:
+       * tests/icles/benchmark-appsrc.c:
+         icles: add appsink and appsrc benchmarks
+         These are very much artificial of course, but got to
+         measure something. appsink one contains lots of buffer
+         creation/free overhead, while appsrc one does not.
+
+2018-02-18 11:38:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * m4/gst-gl.m4:
+         m4: gmodule-no-export-2.0 is needed for everything using the g_module_*() API
+         While it is pulled in via the GLib check, GLIB_LIBS is not pulled into
+         any of the places using the API.
+
+2018-02-17 18:34:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/Makefile.am:
+         gl: Link to libgstallocators for the dmabuf allocator
+
+2018-02-15 11:21:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+         gl/wayland: Memory leak when display couldn't connect
+         When trying to create a wayland display, it may fail because there
+         is not actually display to connect. It this case NULL is returned
+         but the created instance is not freed.
+         This patch unrefs the failed display.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793483
+
+2018-02-15 21:08:08 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+         audio-converter: fix declaration-after-statement
+
+2018-02-15 20:00:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+         audio-converter: add a convenience conversion method
+         This is useful from python bindings
+         https://bugzilla.gnome.org/show_bug.cgi?id=793492
+
+2018-02-15 19:57:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/audio-converter.c:
+         gst_audio_converter_new: update annotations
+         https://bugzilla.gnome.org/show_bug.cgi?id=793492
+
+2018-02-15 19:56:46 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/libs/gst-plugins-base-libs-sections.txt:
+       * gst-libs/gst/audio/audio-converter.c:
+       * gst-libs/gst/audio/audio-converter.h:
+         AudioConverter: register as boxed type
+         https://bugzilla.gnome.org/show_bug.cgi?id=793492
+
+2018-02-15 19:54:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/audio/audio-info.c:
+         audio-info: annotate gst_audio_info_set_format
+         https://bugzilla.gnome.org/show_bug.cgi?id=793492
+
+2018-02-15 19:44:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * 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-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-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:
-         meson: enable more warnings
-         https://bugzilla.gnome.org/show_bug.cgi?id=793960
-
-2018-02-28 23:12:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * gst-libs/gst/video/gstvideodecoder.c:
-         videodecoder: Reset QoS time after pushing segment
-         This fixes playbin gapless playback. An ancient QoS time was used and
-         would lead to all frames being dropped.
-         https://bugzilla.gnome.org/show_bug.cgi?id=668995
-
-2018-03-01 00:34:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * ext/gl/gstglmixer.c:
-       * ext/gl/gstglstereomix.c:
-       * gst-libs/gst/audio/gstaudioaggregator.c:
-         Port to latest GstAggregator segment API
-         The aggregator segment is now exposed on the src pad
-         https://bugzilla.gnome.org/show_bug.cgi?id=793944
-
-2018-02-28 22:12:57 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * gst-libs/gst/audio/gstaudioaggregator.c:
-       * gst-libs/gst/audio/gstaudioaggregator.h:
-       * gst/audiomixer/gstaudiointerleave.c:
-       * gst/audiomixer/gstaudiomixer.c:
-         audioaggregator: remove GstAudioAggregator->info
-         As we now require subclasses to use a subclass of
-         GstAudioAggregatorPad, we can reuse its info field
-         https://bugzilla.gnome.org/show_bug.cgi?id=793943
-
-2018-03-01 12:43:25 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * tests/check/libs/tag.c:
-         tests: tags: add unit test for ID3 v2.4 extended headers
-         https://bugzilla.gnome.org/show_bug.cgi?id=792983
-
-2018-02-12 16:26:01 +0100  Edward Hervey <edward@centricular.com>
-
-       * gst-libs/gst/tag/id3v2.c:
-         id3v2: re-fix handling of v2.4 extended headers
-         The various id3v2 specs handle the extended header sizes differently
-         (because hey, it wouldn't be fun otherwise).
-         http://id3.org/id3v2.3.0 states:
-         "Where the 'Extended header size', currently 6 or 10 bytes, excludes
-         itself."
-         http://id3.org/id3v2.4.0-structure states:
-         Extended header size   4 * %0xxxxxxx
-         Number of flag bytes       $01
-         Extended Flags             $xx
-         Where the 'Extended header size' is the size of the whole extended
-         header, stored as a 32 bit synchsafe integer. An extended header can
-         thus never have a size of fewer than six bytes.
-         So in id3v2.4.0 it's the *whole* extended header size (a-la ISOBMFF
-         atom), whereas in id3v2.3.0 it's the extended header size *excluding*
-         those 4 initial bytes.
-         And for other versions, god knows..
-         Fixes regression introduced in commit da607005.
-         https://bugzilla.gnome.org/show_bug.cgi?id=792983
-
-2018-02-28 18:13:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * gst-libs/gst/audio/gstaudioaggregator.c:
-       * gst-libs/gst/audio/gstaudioaggregator.h:
-       * gst/audiomixer/gstaudiointerleave.c:
-       * gst/audiomixer/gstaudiomixer.c:
-       * tests/check/elements/audiomixer.c:
-         audioaggregator: refactor conversion API
-         For the rationale, see:
-         https://bugzilla.gnome.org/show_bug.cgi?id=793917
-         Also test audiomixer conversion of current output buffer
-
-2018-02-27 23:34:03 +1100  Jan Schmidt <jan@centricular.com>
-
-       * gst-libs/gst/gl/gstglcolorconvert.c:
-         glcolorconvert: Fix a typo in a debug message
-
-2018-02-27 18:28:16 +1100  Jan Schmidt <jan@centricular.com>
-
-       * gst-libs/gst/gl/gstglfilter.c:
-       * gst-libs/gst/gl/gstglfilter.h:
-         glfilter: Support non-2D texture targets
-         Allow for sub-classes to change pad templates to
-         support other texture targets, and bind input textures
-         accordingly.
-         When setting the caps, also store the texture target.
-         By default, glfilter only reports 2D texture targets
-         in the default caps, but sub-classes can change that
-         and it would be nice if they could easily find out
-         which texture targets were negotiated.
-         This adds 2 fields to the public struct, but since
-         it's unreleased -base API, it's not an ABI break.
-
-2018-02-28 15:22:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-       * gst-libs/gst/audio/gstaudioaggregator.h:
-         audioaggregator: Document that the pad's audio info is read-only and needs the object lock
-         Also fix indentation in the header a bit.
-
-2018-02-27 14:07:33 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-       * m4/gst-gl.m4:
-         m4: fix variable value access
-
-2018-02-27 09:48:23 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-       * gst-libs/gst/video/gstvideometa.c:
-         roi-meta: duplicate params when copying meta
-         When copying the meta the params list should be copy too into the
-         new meta.
-         https://bugzilla.gnome.org/show_bug.cgi?id=793883
-
-2018-02-27 13:14:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * gst-libs/gst/gl/meson.build:
-         meson: Don't install GL GBM headers
-
-2018-02-27 13:12:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * configure.ac:
-       * gst-libs/gst/gl/Makefile.am:
-       * m4/gst-gl.m4:
-         gl: Move DRM_CFLAGS into gst-gl.m4
-
-2018-02-26 07:46:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * gst-libs/gst/gl/Makefile.am:
-         gl: Add missing gbm directory to dist dir
-         This fixes make distcheck
-
-2018-02-25 14:16:44 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-       * gst-libs/gst/gl/Makefile.am:
-         gl: Add DRM cflags
-         This prevents cross compilation errors like:
-         usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory
-         These are caused because gstgldisplay_gbm.h includes xf86drm.h .
-         https://bugzilla.gnome.org/show_bug.cgi?id=793837
-
-2018-02-26 11:55:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-       * gst-libs/gst/pbutils/encoding-target.c:
-       * gst-libs/gst/pbutils/pbutils.c:
-         pbutils: Fix compilation of last commit
-
-2018-02-25 10:52:46 -0800  Thiago Santos <thiagossantos@gmail.com>
-
-       * gst-libs/gst/pbutils/descriptions.c:
-       * gst-libs/gst/pbutils/encoding-target.c:
-       * gst-libs/gst/pbutils/pbutils-private.h:
-       * gst-libs/gst/pbutils/pbutils.c:
-         pbutils: Move locale dir initialization to a separate function and do lazy initialization
-         It is the only thing gst_pb_utils_init()  does and it could be
-         automatically called from the places in pbutils it is needed.
-         After 1.14 we should deprecate gst_pb_utils_init().
-         https://bugzilla.gnome.org/show_bug.cgi?id=793611
-
-2018-02-23 16:39:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * gst-libs/gst/gl/gstglconfig.h.meson:
-       * gst-libs/gst/gl/meson.build:
-         gl: Add meson support for GBM backend
-         https://bugzilla.gnome.org/show_bug.cgi?id=782923
-
-2018-02-23 19:59:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-       * configure.ac:
-       * gst-libs/gst/gl/Makefile.am:
-       * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
-       * gst-libs/gst/gl/gbm/Makefile.am:
-       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.c:
-       * gst-libs/gst/gl/gbm/gstgl_gbm_utils.h:
-       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
-       * gst-libs/gst/gl/gbm/gstgldisplay_gbm.h:
-       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
-       * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
-       * gst-libs/gst/gl/gstgldisplay.c:
-       * gst-libs/gst/gl/gstgldisplay.h:
-       * gst-libs/gst/gl/gstglwindow.c:
-       * m4/gst-gl.m4:
-         gl: Add Mesa3D GBM backend
-         This makes it possible to use the GStreamer OpenGL elements without a
-         windowing system if a libdrm- and Mesa3D-supported GPU is present
-         https://bugzilla.gnome.org/show_bug.cgi?id=782923
-
-2018-02-23 17:09:49 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-       * configure.ac:
-         configure: Add configure checks for libdrm and gudev
-         https://bugzilla.gnome.org/show_bug.cgi?id=782923
-
-2018-02-23 19:36:42 +1100  Jan Schmidt <jan@centricular.com>
-
-       * ext/gl/gstglimagesink.c:
-         glimagesink: Correct PAR in output caps when transforming
-         When doing a 3D/multiview transformation and rescaling to
-         match the output window size, the resulting PAR may
-         not match the input any more and needs recalculating,
-         or else the GstSample reported to client-draw has the
-         wrong PAR.
-
-2018-02-22 16:11:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-       * gst-libs/gst/video/gstvideometa.c:
-         roi-meta: Fix bad doc comment syntax
-
-2018-02-09 14:45:08 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-       * gst-libs/gst/video/gstvideometa.c:
-       * gst-libs/gst/video/gstvideometa.h:
-         videometa: add support for downstream parameters to ROI meta
-         The current GstVideoRegionOfInterestMeta API allows elements to detect
-         and name ROI but doesn't tell anything about how this information is
-         meant to be consumed by downstream elements.
-         Typically, encoders may want to tweak their encoding settings for a
-         given ROI to increase or decrease their quality.
-         Each encoder has its own set of settings so that's not something that
-         can be standardized.
-         This patch adds encoder-specific parameters to the meta which can be
-         used to configure the encoding of a specific ROI.
-         A typical use case would be: source ! roi-detector ! encoder
-         with a buffer probe on the encoder sink pad set by the application.
-         Thanks to the probe the application will be able to tell to the encoder
-         how this specific region should be encoded.
-         Users could also develop their specific roi detectors meant to be used with a
-         specific encoder and directly putting the encoder parameters when
-         detecting the ROI.
-         https://bugzilla.gnome.org/show_bug.cgi?id=793338
-
-2017-11-17 02:05:33 +0100  Mikhail Fludkov <misha@pexip.com>
-
-       * gst-libs/gst/rtp/gstrtpbuffer.h:
-         rtpbuffer.h: Add new RTPBuffer flags
-         These flags will be used for Forward Error Correction purposes
-         https://bugzilla.gnome.org/show_bug.cgi?id=792695
-
-2018-02-20 11:52:43 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * gst-libs/gst/gl/meson.build:
-         meson: fix multi-line string
-         https://bugzilla.gnome.org/show_bug.cgi?id=793629
-
-2018-02-19 09:57:48 -0800  Thiago Santos <thiagossantos@gmail.com>
-
-       * gst-libs/gst/pbutils/encoding-profile.c:
-       * gst-libs/gst/pbutils/encoding-target.c:
-       * gst-libs/gst/pbutils/gstdiscoverer.c:
-         pbutils: add some missing gi annotations
-         For allow-none parameters
-
-2018-02-19 17:50:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * tests/check/elements/videoscale.c:
-         tests: videoscale: simplify test and make it more robust
-         test_negotiation would occasionally time out, for unknown reasons.
-         Simplify the test setup and get rid of the main loop, busses, and
-         notify signals. With this I can no longer easily reproduce the
-         timeout. Fingers crossed.
-
-2018-02-01 19:25:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * gst-libs/gst/app/gstappsrc.c:
-         appsrc: don't signal the GCond if no one is waiting on it
-         Performance optimisation: Keep track whenever the streaming
-         thread or the application thread are waiting on the GCond for
-         more space or new data, and only signal on the GCond if someone
-         is actually waiting. Avoids unnecessary syscalls and thus
-         context switches.
-
-2018-02-01 01:22:21 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * gst-libs/gst/app/gstappsrc.c:
-         appsrc: use GstQueueArray instead of GQueue for internal item queue
-         Performance optimisation.
-         Avoids alloc/free churn for the queue's list nodes.
-         Depends on new API in GstQueueArray in core.
-
-2018-01-31 20:19:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * gst-libs/gst/app/gstappsink.c:
-         appsink: don't signal the GCond if no one is waiting on it
-         Performance optimisation: Keep track whenever the streaming
-         thread or the application thread are waiting on the GCond
-         for more space or new data, and only signal on the GCond if
-         someone is actually waiting. Avoids unnecessary syscalls and
-         thus context switches.
-
-2018-01-31 20:11:41 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * gst-libs/gst/app/gstappsink.c:
-         appsink: use GstQueueArray instead of GQueue for internal item queue
-         Performance optimisation.
-         Avoids alloc/free churn for the queue's list nodes.
-
-2018-01-31 20:07:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-       * tests/icles/.gitignore:
-       * tests/icles/Makefile.am:
-       * tests/icles/benchmark-appsink.c:
-       * tests/icles/benchmark-appsrc.c:
-         icles: add appsink and appsrc benchmarks
-         These are very much artificial of course, but got to
-         measure something. appsink one contains lots of buffer
-         creation/free overhead, while appsrc one does not.
-
-2018-02-18 11:38:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-       * m4/gst-gl.m4:
-         m4: gmodule-no-export-2.0 is needed for everything using the g_module_*() API
-         While it is pulled in via the GLib check, GLIB_LIBS is not pulled into
-         any of the places using the API.
-
-2018-02-17 18:34:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-       * ext/gl/Makefile.am:
-         gl: Link to libgstallocators for the dmabuf allocator
-
-2018-02-15 11:21:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-       * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
-         gl/wayland: Memory leak when display couldn't connect
-         When trying to create a wayland display, it may fail because there
-         is not actually display to connect. It this case NULL is returned
-         but the created instance is not freed.
-         This patch unrefs the failed display.
-         https://bugzilla.gnome.org/show_bug.cgi?id=793483
-
-2018-02-15 21:08:08 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * gst-libs/gst/audio/audio-converter.c:
-         audio-converter: fix declaration-after-statement
-
-2018-02-15 20:00:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * docs/libs/gst-plugins-base-libs-sections.txt:
-       * gst-libs/gst/audio/audio-converter.c:
-       * gst-libs/gst/audio/audio-converter.h:
-         audio-converter: add a convenience conversion method
-         This is useful from python bindings
-         https://bugzilla.gnome.org/show_bug.cgi?id=793492
-
-2018-02-15 19:57:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * gst-libs/gst/audio/audio-converter.c:
-         gst_audio_converter_new: update annotations
-         https://bugzilla.gnome.org/show_bug.cgi?id=793492
-
-2018-02-15 19:56:46 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * docs/libs/gst-plugins-base-libs-sections.txt:
-       * gst-libs/gst/audio/audio-converter.c:
-       * gst-libs/gst/audio/audio-converter.h:
-         AudioConverter: register as boxed type
-         https://bugzilla.gnome.org/show_bug.cgi?id=793492
-
-2018-02-15 19:54:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-       * gst-libs/gst/audio/audio-info.c:
-         audio-info: annotate gst_audio_info_set_format
-         https://bugzilla.gnome.org/show_bug.cgi?id=793492
+         Back to development
 
-2018-02-15 19:44:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+2018-02-15 18:50:51 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-       * 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-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-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
+       * tests/examples/compositor/crossfade.c:
+         Dist compositor crossfade example and pythons script for meson build
+         And add to autotools build so it gets disted.
 
 === release 1.13.1 ===
 
        * docs/libs/gst-plugins-base-libs-sections.txt:
          doc: Include new GstVideoOverlay API
 
+2018-02-14 14:36:00 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+         Update ORC fallback disted code
+
 2018-02-14 10:21:49 +0000  Philippe Normand <philn@igalia.com>
 
        * gst/playback/gstplaybin3.c:
          with the FOURCC XV15
          https://bugzilla.gnome.org/show_bug.cgi?id=789876
 
+2016-10-03 13:11:07 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix vertex_buffer leak
+         We call the base class first as this will remove the pad from
+         the aggregator, thus stopping misc callbacks from being called,
+         one of which (process_textures) will recreate the vertex_buffer
+         if it is destroyed
+         https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
 2018-01-25 18:39:11 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/subparse/gstsubparse.c:
          Add to valgrind suppressions file.
          https://bugzilla.gnome.org/show_bug.cgi?id=781021
 
+2017-12-28 12:15:21 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregatorpad: implement skip_buffer
+         Skip buffers from sources with a framerate higher than the output
+         framerate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=781928
+
 2018-01-23 09:01:00 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.c:
          Update for renamed aggregator pad API
          https://bugzilla.gnome.org/show_bug.cgi?id=791204
 
+2018-01-23 09:01:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         Update for renamed aggregator pad API
+         https://bugzilla.gnome.org/show_bug.cgi?id=791204
+
 2015-03-20 09:41:05 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>
 
        * ext/alsa/gstalsasrc.c:
 
 2017-12-02 16:01:25 +0000  Tim-Philipp Müller <tim@centricular.com>
 
+       * gst/compositor/Makefile.am:
+       * gst/compositor/meson.build:
+         Remove GstAggregator from -bad, moved to core
+         https://bugzilla.gnome.org/show_bug.cgi?id=739010
+
+2017-12-02 16:01:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
        * gst/audiomixer/Makefile.am:
        * gst/audiomixer/meson.build:
          Remove GstAggregator from -bad, moved to core
        * gst-libs/gst/video/video-color.h:
          video: add missing GST_EXPORT
 
+2017-11-25 12:48:40 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't leak string
+         The result of gst_video_colorimetry_to_string () needs to be free'd
+
 2017-11-25 12:45:03 +0100  Edward Hervey <edward@centricular.com>
 
        * gst/playback/gsturisourcebin.c:
          Instead, subclasses now use add_pad_template_with_gtype.
          https://bugzilla.gnome.org/show_bug.cgi?id=789986
 
+2017-11-06 21:07:51 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         aggregator: Remove klass->sinkpads_type
+         This posed problems for the python bindings (and possibly others).
+         Instead, subclasses now use add_pad_template_with_gtype.
+         https://bugzilla.gnome.org/show_bug.cgi?id=789986
+
 2017-11-21 10:15:02 +0100  Edward Hervey <edward@centricular.com>
 
        * gst/videotestsrc/gstvideotestsrc.c:
 
 2017-11-02 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>
 
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use new gst_element_foreach_sink_pad()
+         Instead of gst_aggregator_iterate_sinkpads() which will
+         soon be removed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=785679
+
+2017-11-02 12:56:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: add CAST macros
+
+2017-11-02 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>
+
        * gst-libs/gst/audio/gstaudioaggregator.c:
          audioaggregator: use new gst_element_foreach_sink_pad()
          Instead of gst_aggregator_iterate_sinkpads() which will
          soon be removed.
          https://bugzilla.gnome.org/show_bug.cgi?id=785679
 
+2017-11-02 12:17:38 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: use new gst_element_foreach_sink_pad()
+         Instead of gst_aggregator_iterate_sinkpads() which will
+         soon be removed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=785679
+
+2017-11-02 11:57:24 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         videoaggregator: drop ABI compat in padding for new struct member
+         Don't really have to do that while it's in -bad and most users
+         are in-tree anyway.
+
 2017-10-23 22:03:22 +0200  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.h:
          audioaggregator: move comment to the place it is meant to be
          This probably got shifted after some changes.
 
+2017-10-13 11:46:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use GstFlowReturn for flow returns
+
 2017-10-11 18:03:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 
        * gst-libs/gst/audio/audio-channel-mixer.c:
          alsasink: Fix Memory leak in payload not succuss case
          https://bugzilla.gnome.org/show_bug.cgi?id=788114
 
+2017-09-25 17:20:58 +0530  Ponnam Srinivas <p.srinivas@samsung.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Unmap video frame in error case
+         https://bugzilla.gnome.org/show_bug.cgi?id=788127
+
 2017-08-15 02:39:54 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
 
        * gst/audioconvert/gstaudioconvert.c:
          consider this should be the job of basetransform.
          https://bugzilla.gnome.org/show_bug.cgi?id=785471
 
+2017-09-20 20:00:03 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvidemixer: need reconfigure output gemotry after caps renegotiated
+
+2017-09-21 11:59:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         Revert "glvideomixer: need update output geometry after src caps reconfigure"
+         This reverts commit d6e538dc5651fb03c85d7c7614bcf6c689f2db2f.
+
+2017-09-18 15:42:00 +0800  Haihua Hu <jared.hu@nxp.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: need update output geometry after src caps reconfigure
+         Need update output geometry when sink caps changed and use
+         gst_structure_set to update caps if structure is fixed
+         https://bugzilla.gnome.org/show_bug.cgi?id=787820
+
 2017-08-24 10:02:31 +0100  Julien Isorce <jisorce@oblong.com>
 
        * gst-libs/gst/app/gstappsink.c:
          which we only parsed when there was no allocation pool.
          https://bugzilla.gnome.org/show_bug.cgi?id=730758
 
+2017-09-05 16:20:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglmixer.c:
+         Request minimum buffer even if need_pool is FALSE
+         When tee is used, it will not request a pool, but still it wants to
+         know how many buffers are required.
+         https://bugzilla.gnome.org/show_bug.cgi?id=730758
+
 2017-08-24 19:11:29 +1000  Matthew Waters <matthew@centricular.com>
 
        * gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
        * gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
          video/affinetransformationmeta: use the provided doc comment for the struct
 
+2017-07-07 16:15:12 +0100  Julien Isorce <jisorce@oblong.com>
+
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglvideomixer.c:
+         gl: do not include GL headers in public gstgl headers
+         Except for gst/gl/gstglfuncs.h
+         It is up to the client app to include these headers.
+         It is coherent with the fact that gstreamer-gl.pc does not
+         require any egl.pc/gles.pc. I.e. it is the responsability
+         of the app to search these headers within its build setup.
+         For example gstreamer-vaapi includes explicitly EGL/egl.h
+         and search for it in its configure.ac.
+         For example with this patch, if an app includes the headers
+         gst/gl/egl/gstglcontext_egl.h
+         gst/gl/egl/gstgldisplay_egl.h
+         gst/gl/egl/gstglmemoryegl.h
+         it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
+         Which is good because the app might want to use the gstgl api only
+         without the need to bother about gl headers.
+         Also added a test: cd tests/check && make libs/gstglheaders.check
+         https://bugzilla.gnome.org/show_bug.cgi?id=784779
+
 2017-08-20 12:09:52 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
 
        * gst/playback/gstplaybin2.c:
        * gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
          pbutils: sprinkle more GST_EXPORT
 
+2017-08-10 01:48:18 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use colorimetry from find_best_format.
+         This increases the chances that we won't need to do any conversion
+         for a given pad.
+         https://bugzilla.gnome.org/show_bug.cgi?id=786078
+
+2017-08-10 01:45:53 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: improve find_best_format heuristic.
+         The goal here is to minimize the work needed to bring all images
+         to a common format. A better criteria than the number of pads
+         with a given format is the number of pixels with a given format.
+         https://bugzilla.gnome.org/show_bug.cgi?id=786078
+
+2017-08-10 01:43:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst/compositor/compositor.c:
+         compositor: improve conversion debugging
+         https://bugzilla.gnome.org/show_bug.cgi?id=786078
+
 2017-08-10 10:27:23 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/audio-format.h:
          xmptag: Stop parsing GPS coordinate if sscanf() fails
          CID 1139610
 
+2017-08-04 11:08:18 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't mix up width and height
+         CID 1416129
+
+2017-08-03 20:21:17 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/compositor/crossfade.c:
+         examples: fix compiler warning in compositor crossfade example
+         warning: control reaches end of non-void function
+
+2017-08-03 20:14:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+       * gst/compositor/compositororc-dist.h:
+         compositor: update disted orc fallback files
+
+2017-07-11 22:04:55 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+       * tests/examples/compositor/crossfade.c:
+         tests: examples: Add a simple crossfade example
+         https://bugzilla.gnome.org/show_bug.cgi?id=784827
+
+2017-07-06 14:26:21 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+       * gst/compositor/compositororc.orc:
+       * gst/compositor/compositorpad.h:
+         compositor: Add support for crossfade blending
+         Crossfading is a bit more complex than just having two pads with the
+         right keyframes as the blending is not exactly the same.
+         The difference is in the way we compute the alpha channel, in the case
+         of crossfading, we have to compute an additive operation between
+         the destination and the source (factored by the alpha property of both
+         the input pad alpha property and the crossfading ratio) basically so
+         that the crossfade result of 2 opaque frames is also fully opaque at any
+         time in the crossfading process, avoid bleeding through the layer
+         blending.
+         Some rationnal can be found in https://phabricator.freedesktop.org/T7773.
+         https://bugzilla.gnome.org/show_bug.cgi?id=784827
+
 2017-08-01 17:07:32 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/app/gstappsrc.c:
          encodebin: fix possible pad ref leak in error code path
          https://bugzilla.gnome.org/show_bug.cgi?id=785065
 
+2017-07-18 12:46:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         video: mark symbols explicitly for export with GST_EXPORT
+
 2017-07-18 00:29:56 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.h:
          convertframe: Fix leak in case of vcrop is disabled
          https://bugzilla.gnome.org/show_bug.cgi?id=784639
 
+2017-04-11 01:18:51 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix gaps at end of streams.
+         When the pad has received EOS, its buffer may still be mixed
+         any number of times, when the pad's framerate is inferior
+         to the output framerate.
+         This was introduced by my patch in
+         https://bugzilla.gnome.org/show_bug.cgi?id=782962, this patch
+         also correctly addresses the initial issue.
+
 2017-07-03 21:08:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 
        * tests/check/elements/appsrc.c:
        * meson.build:
          meson: don't need config.h.meson any longer
 
+2017-05-21 18:31:59 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+         glbasemixer: Remove unused negotiated member
+         This is now all handled in GstAggregator, so this code is not
+         called anymore.
+
+2017-05-21 15:44:02 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Declare that it supports the video meta on input
+         https://bugzilla.gnome.org/show_bug.cgi?id=782918
+
+2017-05-21 15:30:10 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglvideomixer.c:
+         gl*mixer: Use propose_allocation from the GstAggregator base class
+         https://bugzilla.gnome.org/show_bug.cgi?id=782918
+
 2017-05-20 17:59:19 +0200  Olivier Crête <olivier.crete@collabora.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.c:
          audioaggregator: Use downstream allocator and params if available
          https://bugzilla.gnome.org/show_bug.cgi?id=746529
 
+2017-05-20 18:10:29 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Create normal video pool as a fallback
+         https://bugzilla.gnome.org/show_bug.cgi?id=746529
+
+2017-05-20 17:35:43 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+       * ext/gl/gstglmixer.c:
+         glbasemixer: Remove own decide_allocation, use GstAggregator's
+         https://bugzilla.gnome.org/show_bug.cgi?id=746529
+
+2017-05-20 17:30:06 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglbasemixer.c:
+         glbasemixer: Use aggregator for allocation handling
+         https://bugzilla.gnome.org/show_bug.cgi?id=746529
+
+2017-05-20 17:25:16 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+       * ext/gl/gstglmixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Get the buffer from the pool if available
+         https://bugzilla.gnome.org/show_bug.cgi?id=746529
+
 2017-05-21 12:34:08 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
 
        * ext/pango/gstbasetextoverlay.c:
          textoverlay: optionally scale text to ensure proper display text aspect ratio
          ... by prescaling with an inverse aspect scaling as applied by video scaling
 
+2017-05-21 12:41:53 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Return to parent on reconfigure
+         The caps negotiation is now in the parent, so need to return there
+         if a reconfiguration is needed, otherwise it will loops forever.
+
 2017-05-21 10:49:20 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/meson.build:
          I'm about to use it to change the 'drop-only' code path.
          https://bugzilla.gnome.org/show_bug.cgi?id=780767
 
+2017-05-20 14:24:57 +0200  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+         aggregator: add simple support for caps handling
+         Modelled off the videoaggregator caps handling as that seems the most
+         mature aggregtor-using implementation that has caps handling there is.
+         https://bugzilla.gnome.org/show_bug.cgi?id=776931
+
 2017-05-20 15:56:16 +0200  Olivier Crête <olivier.crete@collabora.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.h:
          mature aggregtor-using implementation that has caps handling there is.
          https://bugzilla.gnome.org/show_bug.cgi?id=776931
 
+2017-04-04 11:25:43 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         videoaggregator: delay using new caps from a sink pad until the next buffer in the queue is taken
+         When caps changes while streaming, the new caps was getting processed
+         immediately in videoaggregator, but the next buffer in the queue that
+         corresponds to this new caps was not necessarily being used immediately,
+         which resulted sometimes in using an old buffer with new caps. Of course
+         there used to be a separate buffer_vinfo for mapping the buffer with its
+         own caps, but in compositor the GstVideoConverter was still using wrong
+         info and resulted in invalid reads and corrupt output.
+         This approach here is more safe. We delay using the new caps
+         until we actually select the next buffer in the queue for use.
+         This way we also eliminate the need for buffer_vinfo, since the
+         pad->info is always in sync with the format of the selected buffer.
+         https://bugzilla.gnome.org/show_bug.cgi?id=780682
+
 2016-07-06 16:39:17 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.c:
          may only be processed on the output thread.
          https://bugzilla.gnome.org/show_bug.cgi?id=781673
 
+2016-07-06 17:28:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/compositor.c:
+         tests: Test caps using query
+         Sending an event can accepted event if the caps were rejected
+         because the event could be queued and processed later.
+         Also send a drain query in the caps test to make sure that the
+         event has been processed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=781673
+
 2016-07-06 16:41:44 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * gst-libs/gst/audio/gstaudioaggregator.c:
 
 2017-05-16 14:05:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 
+       * gst/compositor/Makefile.am:
+         Remove plugin specific static build option
+         Static and dynamic plugins now have the same interface. The standard
+         --enable-static/--enable-shared toggle are sufficient.
+
+2017-05-16 14:05:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
        * gst/audiomixer/Makefile.am:
          Remove plugin specific static build option
          Static and dynamic plugins now have the same interface. The standard
          It can happen when giving incorrect parameters (ie, a URI when
          expecting a pipeline, etc)
 
+2017-05-07 11:47:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix whole example launch line actually
+
+2017-05-07 11:41:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: remove extraneous \ from example launch line in docs
+
 2017-05-04 23:55:20 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/allocators/Makefile.am:
        * gst/audiomixer/gstaudiomixer.c:
          docs: Port all docstring to gtk-doc markdown
 
+2017-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         docs: Port all docstring to gtk-doc markdown
+
 2017-04-12 09:58:49 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/theora/gsttheoraparse.c:
          The previous fix was only working for non-drop-frame timecodes.
          https://bugzilla.gnome.org/show_bug.cgi?id=779866
 
+2017-04-07 18:49:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Do not mix the same buffer twice when EOS.
+         When entering this code path, we know that:
+         We received EOS on this pad.
+         We consumed all its buffers.
+         In any case, we want to replace vaggpad->buffer with NULL,
+         otherwise we will end up mixing the same buffer twice.
+         https://bugzilla.gnome.org/show_bug.cgi?id=781037
+
 === release 1.11.90 ===
 
 2017-04-07 16:31:10 +0300  Sebastian Dröge <sebastian@centricular.com>
          to read way, just like gst-launch-1.0 does nowadays, without
          escaping everything three times.
 
+2017-03-03 16:20:15 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: redo src caps negotiation if a sink pad's caps have changed in the meantime
+         https://bugzilla.gnome.org/show_bug.cgi?id=755782
+
 2017-03-06 19:14:48 +1100  Jan Schmidt <jan@centricular.com>
 
        * gst-libs/gst/video/gstvideodecoder.c:
          videodecoder: Handle return value of gst_video_decoder_drain()
          CID 1362896
 
+2017-02-28 13:06:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst/compositor/compositor.c:
+         glvideomixer/compositor: Correctly error out if calculating DAR fails
+         CID 1320700
+
+2017-02-28 10:53:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: Rename gst_gl_get_affine_transformation_meta_as_ndc_ext() to prevent symbol conflict
+         The same symbol also exists in libgstgl, although marked as private and
+         internal. This has no effect when doing static linking and there's a
+         symbol conflict.
+
 2017-02-09 12:44:51 +0000  Jochen Henneberg <jh@henneberg-systemdesign.com>
 
        * ext/vorbis/gstvorbisdec.c:
          see is READY->NULL.
          https://bugzilla.gnome.org/show_bug.cgi?id=775893
 
+2017-01-18 15:03:48 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: ensure caps are writable after intersection
+         gst_caps_intersect () may return an increased reference of one of the
+         input caps.
+         Fixes critical in the simple-launch-lines test:
+         Unexpected critical/warning: gst_caps_set_features: assertion 'IS_WRITABLE (caps)' failed
+
 2014-11-27 18:02:49 -0600  Carl Karsten <carl@personnelware.com>
 
        * gst/videotestsrc/gstvideotestsrc.c:
        * meson.build:
          meson: bump version
 
+2017-01-12 21:35:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl/utils: also take care of the local GL context in query functions
+         Simplifies a deduplicates a lot of code in elements retrieving/setting
+         the local OpenGL context.
+
+2017-01-12 01:57:29 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glutils: remove trivial helper function
+         gst_gl_caps_replace_all_caps_features() is only used in two places and can
+         be trivially reproduced.
+
 2017-01-12 16:32:42 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * configure.ac:
        * gst-libs/gst/pbutils/encoding-profile.c:
          pbutils: Fix annotation in gst_encoding_profile_set_preset
 
+2017-01-10 12:51:51 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: remove custom control binding proxy
+         Use the existing GstProxyControlBinding instead.
+
 2017-01-09 19:45:25 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * win32/common/libgstvideo.def:
          decoder).
          Fixes playback on such HLS streams.
 
+2016-12-14 15:53:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Reject multiview video
+         glvideomixer does not support it currently and it needs special support
+         for handling this correctly, and is rather non-trivial to implement for
+         all formats.
+
+2016-12-14 15:36:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Reject multiview video
+         Compositor does not support it currently and it needs special support
+         for handling this correctly, and is rather non-trivial to implement for
+         all formats.
+
+2016-12-14 15:35:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remove unlock() if set_info() fails
+         There is not mutex locked here that needs to be unlocked.
+
 2016-12-14 09:48:02 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * .gitignore:
          boxed type or (skip)
          https://bugzilla.gnome.org/show_bug.cgi?id=774416
 
+2016-12-13 22:39:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         gst: Don't declare variables inside the for loop header
+         This is a C99 feature.
+
 2016-12-13 22:26:08 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * ext/pango/gstbasetextoverlay.c:
          it's better if we have some room for add class members. Using the small
          padding since this is unlikely.
 
+2016-11-17 20:20:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Mark pad as needing reconfiguration again if it failed
+         And return FLUSHING instead of NOT_NEGOTIATED on flushing pads.
+         https://bugzilla.gnome.org/show_bug.cgi?id=774623
+
 2016-11-17 20:18:55 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * ext/pango/gstbasetextoverlay.c:
        * gst-libs/gst/rtsp/meson.build:
          libs:rtsp: Remove wrong dependency on Sdp for the gir file
 
+2016-11-10 19:14:24 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl/utils: move gen_shader() to the plugin and remove del_shader()
+         gst_gl_context_del_shader() can be replaced by a g_object_unref().
+         gst_gl_context_gen_shader() should be replaced by using GstGLSLStage.
+
 2016-10-20 17:17:27 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
 
        * gst-libs/gst/allocators/meson.build:
          gst_video_decoder_allocate_output_frame_with_params call.
          https://bugzilla.gnome.org/show_bug.cgi?id=773165
 
+2016-11-04 16:26:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         gst: Fix more mentions of interlaced-mode to say interlace-mode
+
 2016-11-04 16:25:55 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-info.h:
          By making sure each different videoscale check instance gets logged
          into different output file
 
+2016-10-05 12:19:12 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: GST_GL_TYPE -> GST_TYPE_GL
+         Some deprecated symbols are kept for backwards compatibility
+
 2016-11-02 11:04:32 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-orc-dist.c:
          build: silence error about pthread for 'make check' in osx
          Fixes "clang: error: argument unused during compilation: '-pthread'"
 
+2016-08-26 02:20:11 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Handle if update_caps() returns EMPTY
+         Don't assume the returned caps from update_caps() is
+         non-empty.
+
+2016-08-26 02:07:27 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: Update glvideomixer doc
+
+2016-08-26 02:06:00 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         gl: Add/update docs for glviewconvert, glstereomix
+         Add some example pipelines for glstereomix, and fix up
+         the example pipelines for glviewconvert
+
+2016-08-26 00:29:34 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglstereomix.h:
+         glstereomix: Fix caps negotiation
+         The videoaggregator negotiation sequence changed some time
+         back and broke glstereomix. Instead of doing nego incorrectly
+         in the find_best_format() vfunc, do it directly in the
+         update_caps() method.
+
 2016-08-25 12:19:52 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/video/meson.build:
          Building with Meson should work on both Linux and Windows, but may
          need a few more tweaks on other operating systems.
 
+2016-08-12 21:21:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/meson.build:
+         Add support for Meson as alternative/parallel build system
+         https://github.com/mesonbuild/meson
+         With contributions from:
+         Tim-Philipp Müller <tim@centricular.com>
+         Matej Knopp <matej.knopp@gmail.com>
+         Jussi Pakkanen <jpakkane@gmail.com> (original port)
+         Highlights of the features provided are:
+         * Faster builds on Linux (~40-50% faster)
+         * The ability to build with MSVC on Windows
+         * Generate Visual Studio project files
+         * Generate XCode project files
+         * Much faster builds on Windows (on-par with Linux)
+         * Seriously fast configure and building on embedded
+         ... and many more. For more details see:
+         http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
+         http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
+         Building with Meson should work on both Linux and Windows, but may
+         need a few more tweaks on other operating systems.
+
 2016-08-12 20:56:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
        * .gitignore:
          and completely replace audioparse and videoparse
          https://bugzilla.gnome.org/show_bug.cgi?id=767011
 
+2016-07-12 12:59:57 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glframebuffer: rewrite for a more consistent API
+         Facilities are given to create fbo's and attach GL memory (renderbuffers
+         or textures).  It also keeps track of the renderable size for use with
+         effective use with glViewport().
+
+2016-07-12 00:30:22 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglmosaic.h:
+       * ext/gl/gstglvideomixer.c:
+         gl: use GLMemory for accessing textures everywhere
+         This simplifies and consolidates a lot of duplicated code creating
+         and modifying textures.
+
 2016-03-20 14:37:03 +1100  Jan Schmidt <jan@centricular.com>
 
        * gst/playback/gstdecodebin2.c:
          Automatic update of common submodule
          From f363b32 to f49c55e
 
+2016-07-11 19:21:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         Fix various gboolean vs GstFlowReturn problems
+         Caught by building with MSVC which gave warnings for these
+
 2016-07-10 10:28:44 +0900  Seungha Yang <sh.yang@lge.com>
 
        * gst-libs/gst/app/gstappsrc.c:
          reffed.
          https://bugzilla.gnome.org/show_bug.cgi?id=766663
 
+2016-05-19 11:19:20 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * tests/check/elements/compositor.c:
+         fix event leaks in tests
+         The events are supposed to be unreffed when finishing the test, not
+         reffed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766663
+
 2016-05-19 11:19:01 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
 
        * tests/check/elements/audiointerleave.c:
          valid.
          https://bugzilla.gnome.org/show_bug.cgi?id=767173
 
+2016-05-17 17:14:49 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         gst-libs: gl, video: use MAY_BE_LEAKED flag
+         https://bugzilla.gnome.org/show_bug.cgi?id=767162
+
 2016-05-10 13:56:13 +0200  Stian Selnes <stian@pexip.com>
 
        * gst-libs/gst/video/video-color.c:
          http://www.fourcc.org/yuv.php#IYU2
          https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5
 
+2016-05-24 23:39:27 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         glvideomixer: fix race retrieving the GL context from the display
+         _get_gl_context() can be called concurrently from either propose_allocation() or
+         decide_allocation().  If it so happens that this happens at the same time,
+         the check for whether we already had a GL context was outside the lock.  Inside
+         the lock and loop, the first thing that happens is that we unref the current GL
+         context (if valid) as if there was a conflict adding it to the display.  If the
+         timing was unlucky, subsequent use of the GL context would be referencing an
+         already unreffed GL context object resulting in a critical:
+         g_object_ref: assertion 'object->ref_count > 0' failed
+         https://bugzilla.gnome.org/show_bug.cgi?id=766703
+
 2016-03-17 23:47:48 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
 
        * ext/libvisual/visual.c:
          Details should go into the debug message. We should probably
          make up new codes for encoder/decoder lib init failures too.
 
+2016-05-19 16:55:31 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * ext/gl/gstglmosaic.c:
+         glmosaic: fix shader leak
+         gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
+         first shader was leaked.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766661
+
+2016-05-14 11:56:59 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't wait if input buffer is after output
+         If the input buffer is after the end of the output buffer, then waiting
+         for more data won't help. We will never get an input buffer for this point.
+         This fixes compositing of streams from rtspsrc.
+         https://bugzilla.gnome.org/show_bug.cgi?id=766422
+
 2016-05-19 12:26:05 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * ext/opus/gstopusdec.c:
          Fix a leak with the 'test_suburi_error_wrongproto' test.
          https://bugzilla.gnome.org/show_bug.cgi?id=766515
 
+2016-05-16 12:27:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: canonicalise function names
+         Had to be done at some point:
+         gst_videoaggregator_* -> gst_video_aggregator_*
+         Also fix up some function names with typos.
+
 2016-05-16 09:52:35 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/elements/playbin.c:
          in push-mode.
          https://bugzilla.gnome.org/show_bug.cgi?id=766467
 
+2016-05-15 14:34:33 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Check if we get a valid display ratio
+         As is done everywhere else, and avoids setting bogus values
+         And remove useless *<val> checks (we always provide valid values and
+         it's an internal function).
+         CID #1320700
+
 2016-05-15 13:31:03 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * docs/plugins/gst-plugins-base-plugins.args:
          Attempt to reproduce leak.
          https://bugzilla.gnome.org/show_bug.cgi?id=755867
 
+2016-05-14 16:27:26 +0300  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: take the affine transformation in NDC
+         Provide a function to get the affine matrix in the meta in terms of NDC
+         coordinates and use as a standard opengl matrix.
+         Also advertise support for the affine transformation meta in the allocation
+         query.
+
+2016-05-14 15:50:57 +0300  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+         glbasemixer: actually attempt to propose an allocation upstream
+         We were always failing the allocation query as a flag was never being set to
+         signal a successful negotiation.  Fix by setting the required flag on a
+         successful caps event from upstream.
+
 2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
 
        * tests/check/elements/vorbistag.c:
          ->blocked or has fixed caps (which were set before we could block it).
          https://bugzilla.gnome.org/show_bug.cgi?id=765456
 
+2016-05-04 12:17:59 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl/egl: replace gsteglimagememory with an EGLImage wrapper
+         That can be passed to GstGLMemoryEGL.
+         This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL.
+
+2016-05-03 11:11:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()
+         The latter should not change any state but just fixate the caps, while the
+         former is always called when srcpads caps are decided.
+         https://bugzilla.gnome.org/show_bug.cgi?id=765324
+
 2016-05-02 14:21:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * ext/opus/gstopusdec.c:
          elsewhere, otherwise we won't have timestamps.
          https://bugzilla.gnome.org/show_bug.cgi?id=764948
 
+2016-04-18 13:46:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: plug caps leak
+         It was losing ref of the original 'ret' caps that would be returned
+         or returning it with 2 references to it.
+
+2016-03-28 15:44:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * tests/check/elements/compositor.c:
+         videoaggregator: properly handle interlace-mode restrictions
+         videoaggregator can't handle interlace-mode changes so it must
+         always restrict itself to the first interlacing mode it receives.
+         Tests included
+         https://bugzilla.gnome.org/show_bug.cgi?id=754495
+
 2016-04-18 17:39:02 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
 
        * tools/gst-play.c:
          So we can use gst-play to track memory leaks.
          https://bugzilla.gnome.org/show_bug.cgi?id=765216
 
+2016-04-15 13:22:51 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+       * gst/compositor/compositor.c:
+         Drop usage of 'overlayed' to mean 'overlaid'
+
 2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * win32/common/libgstsdp.def:
          converter, only if it is a parser.
          https://bugzilla.gnome.org/show_bug.cgi?id=764948
 
+2016-04-11 16:43:45 +0000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         glbasemixer: chain up to the parent implementation
+
 2016-04-11 11:28:09 +0200  Fabrice Bellet <fabrice@bellet.info>
 
        * gst-libs/gst/audio/gstaudiosink.c:
          g_thread_self().
          https://bugzilla.gnome.org/show_bug.cgi?id=764865
 
+2016-04-04 20:55:51 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: repect the result of find_best_format in the default update_caps
+         We weren't using the result of find_best_format at all.
+         Also, move the find_best_format usage to the default update_caps() to make
+         sure that it is also overridable.
+         https://bugzilla.gnome.org/show_bug.cgi?id=764363
+
 2016-04-06 17:57:28 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/libs/gstlibscpp.cc:
        * win32/common/libgstaudio.def:
          win32: Add new libgstaudio symbols
 
+2016-03-23 03:16:11 +0000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: add support for the affine transformation meta
+
 2016-04-01 12:25:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 
        * gst-libs/gst/audio/gstaudiodecoder.c:
          allocation_caps will be the same as the caps set in the src pad.
          https://bugzilla.gnome.org/show_bug.cgi?id=764421
 
+2016-04-05 16:22:49 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: set the current texture to 0 before mapping
+         If we fail mapping, we don't want to use undefined video data in the subclass.
+
 2016-04-04 16:39:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 
        * gst-libs/gst/audio/gstaudioencoder.c:
          audioencoder: fix gtk-doc comment format
 
+2016-04-04 13:43:30 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: proxy the start-time-* properties from aggregator
+
 2016-04-02 10:37:55 +0200  Mikhail Fludkov <misha@pexip.com>
 
        * gst-libs/gst/rtp/gstrtpbasedepayload.c:
          Add a resampler to the processing chain when needed.
          port the audio resampler to the new audioconverter library
 
+2016-03-28 08:45:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         tests/compositor: Add test for aggregator pad numbering
+         Tests that the behaviour in 7a5cb5a473 is being conformed to.
+
 2016-03-25 01:13:54 +1100  Jan Schmidt <jan@centricular.com>
 
        * win32/common/libgstpbutils.def:
          bad: use new gst_element_class_add_static_pad_template()
          https://bugzilla.gnome.org/show_bug.cgi?id=763081
 
+2016-03-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglstereomix.c:
+       * gst/compositor/compositor.c:
+         bad: use new gst_element_class_add_static_pad_template()
+         https://bugzilla.gnome.org/show_bug.cgi?id=763081
+
 2016-03-08 19:22:18 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/gstaudiodecoder.c:
          Use gst-inspect-1.0 instead of gst-inspect-0.10
          https://bugzilla.gnome.org/show_bug.cgi?id=763316
 
+2016-03-16 22:16:34 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         glstereo{mix,split}: allow running on GLES 2/3
+         It's mostly supported for GLES 2.x, fully supported on GLES 3.x
+
 === release 1.7.91 ===
 
 2016-03-15 12:02:20 +0200  Sebastian Dröge <sebastian@centricular.com>
          Remove unused _register() functions and look up the performance
          debug category in a function that's actually called at some point.
 
+2016-03-08 02:06:46 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: signal continuation in reset
+         We want to iterate over all the pads, not just the first one.  Fix by returning
+         TRUE in the GstAggregatorPadForeachFunc.
+         Removes a GST_IS_GL_CONTEXT() assertion on shutdown with >2 inputs
+         using gst-launch.
+
 2016-03-04 17:13:59 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/audio/audio-channel-mixer.h:
        * gst-libs/gst/video/video-frame.c:
          video: flesh out docs for gst_video_frame_map()
 
+2016-02-23 12:42:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * tests/check/elements/compositor.c:
+         tests: compositor: drop special case for valgrind timeout
+         The default one is 6 minutes, the test was using 5 minutes so just
+         resort to using the default.
+         For the non-valgrind test also use the default 20 secs instead of
+         reducing it to 6s. No real reason to set a custom value here.
+
+2016-02-23 12:17:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * tests/check/elements/compositor.c:
+         tests: compositor: add tests for caps queries
+         Verifies that proper caps are returned based on what downstream
+         restricts.
+
+2016-02-18 10:57:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * tests/check/elements/compositor.c:
+         videoaggregator: fix caps queries to allow proper renegotiation
+         When caps are already negotiated it should be possible to
+         select formats other than the one that was negotiated. If downstream
+         allows alpha video caps and it has already negotiated to a non-alpha
+         format, caps queries should still return the alpha caps as a possible
+         format as caps renegotiation can happen.
+         Includes tests (for compositor) to check that caps queries done after
+         a caps has been negotiated returns complete results
+         https://bugzilla.gnome.org/show_bug.cgi?id=757610
+
 2016-02-25 10:47:17 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
 
        * gst-libs/gst/pbutils/gstaudiovisualizer.c:
          Use the current (intermediate) format to decide how to set up dithering
          instead of the input format.
 
+2016-02-24 10:45:17 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+         glmixer: iterator didn't advance in continue statement
+         Leading to a deadlock.
+         https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
 2016-02-23 18:23:45 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/rtp/gstrtpbasepayload.c:
          about the conductor.
          https://bugzilla.gnome.org/show_bug.cgi?id=762451
 
+2016-02-22 20:49:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: error out if the configured GL API is unsupported by our element
+         https://bugzilla.gnome.org/show_bug.cgi?id=759801
+
 2016-02-20 11:31:43 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/theora/gsttheoradec.c:
          error. Check if topology is valid before using it
          https://bugzilla.gnome.org/show_bug.cgi?id=755918
 
+2016-01-21 10:40:36 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: don't leak pad's vertex buffer on release_pad
+         https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
+2016-02-17 01:08:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglmosaic.h:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglstereomix.h:
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glmixer: Remove usage of GstGLMixerFrameData
+         Subclasses can just iterate over the list of pads themselves
+         https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
+2016-01-13 14:41:22 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: don't hold the object lock while calling into GL
+         Doing so can deadlock between the GL thread and the object lock e.g.
+         when performing reconfigure events in glimagesink on a resize event.
+         https://bugzilla.gnome.org/show_bug.cgi?id=760559
+
 2016-02-05 10:10:40 +0100  Havard Graff <havard.graff@gmail.com>
 
        * gst-libs/gst/Makefile.am:
          was passed to the Opus decoding API.
          https://bugzilla.gnome.org/show_bug.cgi?id=758158
 
+2016-01-21 16:10:48 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix checker vbo leak
+         https://bugzilla.gnome.org/show_bug.cgi?id=760925
+
+2016-01-29 14:03:26 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: par may not exist in the caps
+         Fixes a critical in the gst-validate tests:
+         gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field
+         (structure, field_name)
+
 2016-01-28 13:29:39 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/audiorate/gstaudiorate.c:
          Some encoders can update the stream header through time (for example
          vp8 might do that) but it does not strictly changes the output format.
 
+2015-10-14 21:13:57 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+         videoaggregator: don't do caps processing that is not overridable
+         Allows the subclass to completely override the chosen src caps.
+         This is needed as videoaggregator generally has no idea exactly
+         what operation is being performed.
+         - Adds a fixate_caps vfunc for fixation
+         - Merges gst_video_aggregator_update_converters() into
+         gst_videoaggregator_update_src_caps() as we need some of its info
+         for proper caps handling.
+         - Pass the downstream caps to the update_caps vfunc
+         https://bugzilla.gnome.org/show_bug.cgi?id=756207
+
+2016-01-27 19:56:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: move control binding proxy implementation from glvideomixer
+         Other elements may need to use it's functionality
+
 2016-01-26 14:09:42 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
 
        * gst-libs/gst/video/video-format.h:
          resort to using is_subset() checks.
          https://bugzilla.gnome.org/show_bug.cgi?id=760477
 
+2016-01-12 18:21:50 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: implement glBlendFunc and glBlendEquation
+         Allows more blending options than just A over B
+         e.g. frame comparisons are now possible.
+         glvideomixer name=m
+         sink_0::zorder=0
+         sink_1::zorder=1
+         sink_1::blend-equation-rgb={subtract,reverse-subtract}
+         sink_1::blend-function-src-rgb=src-color
+         sink_1::blend-function-dst-rgb=dst-color
+         ! glimagesinkelement
+         videotestsrc pattern=checkers-4 ! m.sink_0
+         videotestsrc pattern=checkers-8 ! m.sink_1
+
 2016-01-12 15:56:36 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/audio/audio-channel-mixer.c:
          Make it possible to pass an array of sample blocks when dealing with
          non-interleaved formats.
 
+2015-12-11 15:39:57 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.h:
+         gldownload: remove helper api from the library
+         It was never used by anyone and is not needed anymore with the element
+         and GstGLMemory's transparent support for downloading textures.
+
 2015-12-12 17:49:28 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
        * gst-libs/gst/riff/riff-media.c:
          audio-quantize: Fix dither_buffer memory leak
          https://bugzilla.gnome.org/show_bug.cgi?id=757928
 
+2015-11-10 13:52:30 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         glviewconvert: remove set_format
+         We need the caps to be able to
+         1. check the caps features
+         2. get the requested texture-target on input/output
+
 2015-11-11 00:59:16 +1100  Jan Schmidt <jan@centricular.com>
 
        * ext/vorbis/gstvorbisdec.c:
          channelmix: GstChannel -> GstAudioChannel
          Rename GstChannel to GstAudioChannel
 
+2015-11-06 12:30:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: fix minor leak
+         Don't leak removed list node.
+
 2015-11-06 13:02:19 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/audio/audio-quantize.c:
          Plus it creates more readable values in the logs.
          https://bugzilla.gnome.org/show_bug.cgi?id=757480
 
+2015-11-02 16:58:57 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use GST_STIME_ARGS for GstClockTimeDiff
+         No need to manually handle negative values of diff, GST_STIME_ARGS does
+         exactly this.
+
 2015-11-02 16:36:35 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
 
        * ext/ogg/gstoggmux.c:
        * gst/audioconvert/gstaudioquantize.c:
          audioquantize: make helper for add with saturation
 
+2015-10-29 00:44:26 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+         glmemory: add support for rectangle textures
+         Add the various tokens/strings for the differnet texture types (2D, rect, oes)
+         Changes the GLmemory api to include the GstGLTextureTarget in all relevant
+         functions.
+         Update the relevant caps/templates for 2D only textures.
+
 2015-10-29 16:52:31 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/gstvideodecoder.c:
          formatter is being used in logs. Changing all those to int64
          https://bugzilla.gnome.org/show_bug.cgi?id=756065
 
+2015-10-06 21:23:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Proxy the ignore-eos videoaggregator property as well
+         Identical to how the z-order property is proxied
+
 2015-10-04 18:36:00 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * sys/xvimage/xvimagepool.c:
          This is resulting in segmentation fault. Fix the same by typecasting to guint64
          https://bugzilla.gnome.org/show_bug.cgi?id=755840
 
+2015-09-29 13:31:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix compilation with older glib version
+         Remove weird use of private gtype defines and fix compilation
+         with older glib versions such as 2.36.
+         https://bugzilla.gnome.org/show_bug.cgi?id=755754
+
 2015-09-23 11:59:22 -0400  Perry Hung <perry@leaflabs.com>
 
        * gst-libs/gst/app/Makefile.am:
          paths when using ./configure --with-pkg-config-path=
          https://bugzilla.gnome.org/show_bug.cgi?id=755494
 
+2015-09-28 22:20:29 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: chain up to the parent class for GstElement::set_context
+         https://bugzilla.gnome.org/show_bug.cgi?id=705579
+
+2015-08-29 19:16:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         check: Add test for videoaggregator sinkpads being sorted by zorder
+         https://bugzilla.gnome.org/show_bug.cgi?id=754285
+
 2015-09-26 10:21:41 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/audiomixer/gstaudioaggregator.c:
 
 2015-09-18 00:20:13 +1000  Jan Schmidt <jan@centricular.com>
 
+       * ext/gl/gstglstereomix.c:
+         Don't throw compiler warnings with G_DISABLE_ASSERT
+         Disable code that warns about unused variables when G_DISABLE_ASSERT
+         is defined, as it is in tarballs and pre-releases.
+
+2015-09-18 00:20:13 +1000  Jan Schmidt <jan@centricular.com>
+
        * gst/audiomixer/gstaudioaggregator.c:
          Don't throw compiler warnings with G_DISABLE_ASSERT
          Disable code that warns about unused variables when G_DISABLE_ASSERT
          audiosink, multisocketsink: Fix error leak during failures
          https://bugzilla.gnome.org/show_bug.cgi?id=755143
 
+2015-09-17 13:35:02 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: Fix GError leaks during failures
+         https://bugzilla.gnome.org/show_bug.cgi?id=755140
+
 2015-09-16 19:53:35 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/playback/gsturidecodebin.c:
          audioaggregator: Use stream time in the position query instead of segment position
          https://bugzilla.gnome.org/show_bug.cgi?id=753196
 
+2015-09-11 12:22:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Fix mixup of running times and segment positions
+         We have to queue buffers based on their running time, not based on
+         the segment position.
+         Also return running time from GstAggregator::get_next_time() instead of
+         a segment position, as required by the API.
+         Also only update the segment position after we pushed a buffer, otherwise
+         we're going to push down a segment event with the next position already.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753196
+
 2015-09-14 09:36:20 +0900  Vineeth TM <vineeth.tm@samsung.com>
 
        * sys/xvimage/xvimagesink.c:
          We should cast to guintptr from gulong before we cast to gpointer.
          https://bugzilla.gnome.org/show_bug.cgi?id=754755
 
+2015-09-09 19:51:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: fix caps query to properly handle alpha formats
+         Only accept alpha if downstream has alpha as well. It could
+         theoretically accept alpha unconditionally if blending is
+         properly implemented for handle it but at the moment this
+         is a missing feature.
+         Improves the caps query by also comparing with the template
+         caps to filter by what the subclass supports.
+         https://bugzilla.gnome.org/show_bug.cgi?id=754465
+
 2015-09-09 19:00:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * gst-libs/gst/video/video-format.c:
          64bit size data modifier.
          https://bugzilla.gnome.org/show_bug.cgi?id=754630
 
+2015-09-05 01:50:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * tests/check/elements/compositor.c:
+         compositor: Ensure all arguments to CLAMP are signed int
+         If any of the arguments to CLAMP are unsigned integers, the comparison causes
+         an automatic conversion of the signed int to unsigned, which causes -1 to become
+         UINT_MAX and get clamped to the high value of the CLAMP instead of 0.
+         See 716 at http://c0x.coding-guidelines.com/6.3.1.8.html
+         Also add a test for this.
+         https://bugzilla.gnome.org/show_bug.cgi?id=754576
+
 2015-08-31 10:46:43 +0200  Havard Graff <havard.graff@gmail.com>
 
        * gst-libs/gst/Makefile.am:
          videoscale: fix gamma-decode option
          We need to use the enum to configure the option now.
 
+2015-09-02 19:16:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: lift restriction of changing pixel-aspect-ratio
+         The videoaggregator can convert PAR, there is no reason for
+         restricting it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=754291
+
 2015-09-03 08:58:08 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
 
        * ext/pango/gstbasetextoverlay.c:
        * gst-libs/gst/allocators/allocators.h:
          allocators: include gstfdmemory.h in the main library header, allocators.h
 
+2015-08-29 16:51:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: variables in clamp_rectangle() should be signed
+         x/y/w/h are signed integers. As can be seen in GstCompositorPad.
+         The prototype for clamp_rectangle was wrong. This commit reverts the change
+         and fixes the prototype.
+         This reverts commit bca444ea4a84c39e9989681f892f6e4cb2033cf9.
+
 2015-08-29 10:44:28 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/audio/gstaudiobasesink.c:
          audiobasesink: fix misleading error message debug detail
          https://bugzilla.gnome.org/show_bug.cgi?id=754260
 
+2015-08-28 15:21:11 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+       * gst/compositor/compositor.c:
+         compositor: remove check for below zero for unsigned value
+         CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
+         number since it is an unsigned integer. Removing that check and only checking if
+         it is bigger than max by using MIN().
+         CID 1320707
+
 2015-08-28 09:36:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * gst/playback/gstplaysinkconvertbin.c:
          audiobasesink: Fix incorrect/missing custom slaving method documentation
          https://bugzilla.gnome.org/show_bug.cgi?id=754199
 
+2015-08-26 15:40:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * tests/check/elements/compositor.c:
+         compositor: Actually use the output resolution for clamping
+         The obscured check in compositor was using the dimensions of the pad to clamp
+         the h/w of the pad instead of the output resolution, and was doing an incorrect
+         calculation to do so. Fix that by simplifying the whole calculation by using
+         corner coordinates. Also add a test for this bug which fell through the cracks,
+         and just skip all the obscured tests if the pad's alpha is 0.0.
+         https://bugzilla.gnome.org/show_bug.cgi?id=754107
+
 2015-08-21 16:44:43 +0900  hoonhee.lee <hoonhee.lee@lge.com>
 
        * tests/check/elements/audiomixer.c:
          tests: audiomixer: remove duplicated word in comment
          https://bugzilla.gnome.org/show_bug.cgi?id=753915
 
+2015-08-20 14:11:56 +0300  Ben Browitt <ben.browitt@gmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Always set the pad's buffer_vinfo when storing a buffer
+         Otherwise it might be unset, and then the buffer is used and
+         gst_video_frame_map() will crash because of invalid video-info.
+         https://bugzilla.gnome.org/show_bug.cgi?id=753805
+
 2015-08-19 21:19:05 +0900  Eunhae Choi <eunhae1.choi@samsung.com>
 
        * gst/subparse/gstsubparse.c:
          set it, as it's confusing.
          https://bugzilla.gnome.org/show_bug.cgi?id=752791
 
+2015-08-03 19:48:16 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: swap control binding proxy
+         The ref_object and object parameters were the wrong way around.
+         For the typical use case where an application is setting a
+         GstControlBinding on the returned ghost pad:
+         1. our control binding would be removed when the new one was set
+         2. sync_values calls were not being forwarded from the internal
+         pad to the ghost pad.
+         If an application attempts to perform other control binding
+         operations (get_* family of functions) on the internal pad, they
+         will also be forwarded to the ghost pad where a possible
+         GstControlBinding will provide the necessary values.
+
 2015-07-30 18:43:19 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * ext/ogg/gstoggdemux.c:
          not delivered before they are needed.
          https://bugzilla.gnome.org/show_bug.cgi?id=745768
 
+2015-03-06 21:32:04 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remove broken _clip vfunc
+         It never does anything.
+         https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
 2015-07-02 18:33:43 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * gst/audiomixer/gstaudiointerleave.c:
          Fixes make check-valgrind.
          https://bugzilla.gnome.org/show_bug.cgi?id=750235
 
+2015-07-29 17:48:58 +0100  Luis de Bethencourt <luis@debethencourt.com>
+
+       * ext/gl/gstglstereomix.c:
+         glstereomix: remove redundant initialization
+         v is initialized in the for loop init, no need to do it twice. Removing
+         first initialization.
+
+2015-07-28 22:30:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         compositor: Add unit tests for the new aggregator start-time-selection property
+         https://bugzilla.gnome.org/show_bug.cgi?id=749966
+
+2015-06-15 18:30:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: Add property to select how to decide on a start time
+         Before aggregator based elements always started at running time 0,
+         now it's possible to select the first input buffer running time or
+         explicitly set a start-time value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=749966
+
 2015-07-28 13:57:20 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * ext/pango/gstbasetextoverlay.c:
          the impression that seeking doesn't actually work. Make
          minimum seek step a second instead.
 
+2015-07-02 20:10:50 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Add GstControlBinding proxy
+         This is used to proxy GstControlBinding to the pad on the
+         parent object. This avoid having to sync the values in the proxy pad,
+         this is too early if you have a queue between the pad and the actual
+         aggregation operation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=734060
+
 2015-07-22 19:27:19 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * gst/audiomixer/gstaudioaggregator.c:
        * gst/audiomixer/gstaudioaggregator.c:
          audioaggregator: Read output buffer duration with lock held
 
+2015-06-19 11:57:06 +0100  Julien Isorce <j.isorce@samsung.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: use gst_gl_display_create_context in more elements.
+         glbasefilter, glbasemixer and gltestsrc.
+         https://bugzilla.gnome.org/show_bug.cgi?id=750310
+
 2015-07-20 16:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
 
        * ext/pango/gstbasetextoverlay.c:
          gst_navigation_message_parse_event, but not freed.
          https://bugzilla.gnome.org/show_bug.cgi?id=752040
 
+2015-07-06 18:51:07 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remove pixel-aspect-ratio field from the caps returned by getcaps
+         Avoiding not negotiated error while negotiating as we anyway force 1/1
+         as output
+
 2015-07-03 21:48:52 +0200  Stefan Sauer <ensonic@users.sf.net>
 
        * docs/plugins/gst-plugins-base-plugins-sections.txt:
          Use a local category for the default category and fix the import for the
          performance category.
 
+2015-07-03 12:17:42 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer, glmixer: Add description and klass
+
 2015-07-02 10:47:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 
        * ext/pango/gstbasetextoverlay.c:
          and the true branches of these checks.
          CID #1308943
 
+2015-06-26 15:34:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: Don't leak pool if set_config failed
+
 2015-07-02 13:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/audio/gstaudioencoder.c:
          send event when switch EOS track to non-EOS one.
          https://bugzilla.gnome.org/show_bug.cgi?id=750761
 
+2015-06-20 13:36:27 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: simplifies and improves sink_get_caps.
+         The problem here was that after removing the formats and
+         all the things we could convert, we then intersected these
+         caps with the template caps.
+         Hence if a subclass offered permissive sink templates
+         (eg all the possible formats videoconvert handles), but only
+         one output format, then at negotiation time getcaps returned
+         caps with the format restricted to that format, even though
+         we do handle conversion.
+         https://bugzilla.gnome.org/show_bug.cgi?id=751255
+
 2015-06-22 20:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/playback/gststreamsynchronizer.c:
          is packed at half resolution per view or not, since
          very few videos provide the information.
 
+2015-05-30 02:29:04 +1000  Jan Schmidt <jan@centricular.com>
+
+       * ext/gl/gstglstereomix.c:
+       * ext/gl/gstglstereomix.h:
+         gl: Add glviewconvert, glstereomix and glstereosplit elements
+         Conversion elements for transforming multiview/stereoscopic video
+         https://bugzilla.gnome.org/show_bug.cgi?id=611157
+
 2015-06-17 17:09:46 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-converter.c:
          * Miss-named parameter
          * Missing transfer none annotation for meta
 
+2015-06-15 14:29:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Print some debug output if we change the timestamp offset
+
+2015-06-15 14:25:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Add some more debug output
+
+2015-06-15 14:19:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't update the ts-offset before updating the actual configured caps
+
+2015-06-15 14:18:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remember if the last LATENCY query returned live or not and use the in the QoS messages
+
+2015-06-14 23:20:38 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst/compositor/compositor.c:
+         compositor: update zorder documentation.
+         It is not bound between 0 and 10000 anymore.
+
+2015-06-14 23:13:59 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: No need to artificially bound the zorder.
+         It is an unsigned integer so the upper bound is G_MAXUINT.
+
 2015-05-27 12:20:19 +0300  Lazar Claudiu <lazar.claudiu.florin@gmail.com>
 
        * ext/pango/gstbasetextoverlay.c:
        * gst-libs/gst/video/gstvideoencoder.c:
          videoencoder: fix gtk-doc chunk for new function
 
+2015-06-13 18:43:04 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: implement proper dynamic pad removal
+         https://bugzilla.gnome.org/show_bug.cgi?id=750881
+
 2015-05-12 14:12:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
 
        * ext/pango/gstbasetextoverlay.c:
        * win32/common/libgstvideo.def:
          Update .def file for new API
 
+2015-06-06 20:40:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         tests: Add test for the 'ignore-eos' compositor sink pad property
+         When the 'ignore-eos' property is set on a pad, compositor will keep resending
+         the last buffer on the pad till the pad is unlinked. We count the buffers
+         received on appsink, and if it's more than the buffers sent by videotestsrc, the
+         test passes.
+
+2015-02-10 00:49:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: add "ignore-eos" property for input pads
+         When set, it causes videoaggregator to repeatedly aggregate the last buffer on
+         an EOS pad instead of skipping it and outputting silence. This is useful, for
+         instance, while playing back files seamless one after the other, to avoid
+         videoaggregator ever outputting silence (the checkerboard pattern).
+         It is to be noted that if all the pads on videoaggregator have this property set
+         on them, the mixer will never forward EOS downstream for obvious reasons. Hence,
+         at least one pad with 'ignore-eos' set to FALSE must send EOS to the mixer
+         before it will be forwarded downstream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=748946
+
 2015-06-13 01:35:52 +1000  Jan Schmidt <jan@centricular.com>
 
        * gst-libs/gst/video/gstvideodecoder.c:
          text-sink at all.
          https://bugzilla.gnome.org/show_bug.cgi?id=750785
 
+2015-06-11 15:22:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too
+
 2015-06-11 23:01:48 +1000  Jan Schmidt <jan@centricular.com>
 
        * gst/playback/gstplaybin2.c:
          Set WM_CLASS of the xvimagesink window so window managers can apply rules
          based on xprop filtering.
 
+2015-05-06 14:29:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: simplify aggregate returning
+         Rework special handling with goto/labels to only have one case
+         and otherwise just return normally.
+
+2015-05-06 14:19:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: refactor caps reconfigure to its own function
+         Makes the aggregation code shorter and easier to read
+
+2015-05-06 13:59:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fixing types in aggregate function
+         Correctly use boolean and GstFlowReturn types in the function.
+
+2015-05-06 13:08:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use macro to access aggregator src pad
+         Makes code a bit more readable
+
 2015-06-07 23:06:08 +0200  Stefan Sauer <ensonic@users.sf.net>
 
        * common:
        * gst/audiomixer/gstaudiomixerorc-dist.c:
          Release 1.5.1
 
+2015-06-07 10:55:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+         Release 1.5.1
+
 === release 1.5.1 ===
 
 2015-06-07 10:04:41 +0200  Sebastian Dröge <sebastian@centricular.com>
          caps, the code and behaviour is too confusing otherwise.
          https://bugzilla.gnome.org/show_bug.cgi?id=749581
 
+2015-06-05 09:35:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * ext/gl/gstglmixerbin.c:
+         Fix a common typo: retreive -> retrieve
+         Seems to have been copy pasted around a few places
+
 2015-06-05 10:16:56 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * docs/libs/gst-plugins-base-libs-sections.txt:
          static const gchar utf16beenc[] = "UTF-16BE";
          ^
 
+2015-05-10 18:55:16 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Add class property to disable caps scaling
+         Add preserve_update_caps_result boolean on the class to allow
+         sub-classes to disable videoaggregator removing sizes and framerate
+         from the update_caps() return result.
+
+2015-05-04 18:17:21 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Catch errors, and allow sub-class to return NULL from get_output_buffer()
+         A return value of GST_FLOW_OK with a NULL buffer from get_output_buffer()
+         means the sub-class doesn't want to produce an output buffer, so
+         skip it.
+         If gst_videoaggregator_do_aggregate() generates an error, make sure
+         to propagate it - don't just ignore and discard the error by
+         over-writing it with the gst_pad_push() result.
+
 2015-05-30 01:03:46 +1000  Jan Schmidt <jan@centricular.com>
 
        * docs/design/part-stereo-multiview-video.markdown:
          Has been removed in 835422b2 as part of porting
          things over to the new videoscale API.
 
+2015-05-21 16:24:48 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst/compositor/compositor.c:
+         compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
+         Otherwise we divide by zero.
+
+2015-05-21 16:19:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Fix double assignment
+
 2015-05-21 12:10:40 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tools/gst-play-1.0.1:
        * gst-libs/gst/rtp/Makefile.am:
          rtp: Clean G-I files on make clean too
 
+2015-05-21 00:56:01 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * gst/compositor/compositor.c:
+         compositor/glvideomixer: fix up par handling
+         We were using the wrong formula
+         https://bugzilla.gnome.org/show_bug.cgi?id=749634
+
 2015-05-20 16:23:46 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/rtp/Makefile.am:
          http://www.docbook.org/tdg/en/html/para.html
          http://www.docbook.org/tdg/en/html/refsect2.html
 
+2015-05-18 20:16:32 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/compositor/compositor.c:
+         Revert "doc: Workaround gtkdoc issue"
+         This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.
+         This is fixed by the gtk-doc 1.23 release.
+         <para> cannot contain <refsect2>:
+         http://www.docbook.org/tdg/en/html/para.html
+         http://www.docbook.org/tdg/en/html/refsect2.html
+
 2015-05-18 20:01:49 +0200  Stefan Sauer <ensonic@users.sf.net>
 
        * gst/playback/gstplaybin2.c:
          followed by a refsect2. Workaround the issue by wrapping the
          refsect2 into para.
 
+2015-05-16 23:38:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+       * gst/compositor/compositor.c:
+         doc: Workaround gtkdoc issue
+         With gtkdoc 1.22, the XML generator fails when a itemizedlist is
+         followed by a refsect2. Workaround the issue by wrapping the
+         refsect2 into para.
+
 2015-05-16 23:33:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
 
        * gst/playback/gstplaybin2.c:
          playback: use the new gst_object api
          Use gst_object_has_as_anchestor instead of the now deprecated _has_ancestor.
 
+2015-05-14 16:42:09 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
+         We are using shaders everywhere and so they are not needed
+
+2015-05-01 12:04:28 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         gl: element buffers are part of vao state
+         Use them as such.  They are also required for GL3 core profile support
+         with glDrawElements on OS X.
+
+2015-05-14 13:04:21 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         compositor: implement proper par handling
+         We were previously failing on different input and output par
+
+2015-05-13 23:54:52 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: don't deadlock on context creation failure
+         https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-13 15:42:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glmixerbin: Don't unref pad templates
+         Otherwise we unref the reference that is owned by the element class.
+
+2015-05-13 17:38:35 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * tests/check/elements/compositor.c:
+         compositor: fix rectangle obscure test to clamp against the output frame size
+         Rather than one of the input pad video info's.
+         The test checking this was not constraining the output frame size
+         to ensure that the out of frame stream was not being displayed.
+
+2015-05-13 17:11:55 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: implement par handling
+         We were previously ignoring it completely
+
+2015-05-13 17:10:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: don't upload the vertex data every frame
+         Add the missing cache tracking statement.
+
+2015-05-11 15:54:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Implement GstVideoAggregator::find_best_format()
+         Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
+         in the end, all the negotiation code in videoaggregator needs a big cleanup
+         and videoaggregator needs to get rid of the software-mixer specific things
+         everywhere.
+
 2015-05-10 11:42:21 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/ogg/gstoggmux.c:
        * gst-libs/gst/video/gstvideodecoder.c:
          videodecoder: Also negotiate with downstream if needed before handling a GAP event
 
+2015-05-06 15:46:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+         Revert "gl: readd glupload/download onto element pads"
+         This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd.
+
+2015-05-06 15:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         Revert "Revert "glvideomixer: implement with glmixerbin""
+         This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217.
+
 2015-05-06 12:40:48 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/gstvideodecoder.c:
          These lines have done nothing for about 10 years.
          https://bugzilla.gnome.org/show_bug.cgi?id=748820
 
+2015-03-13 06:10:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         tests: Add a check for the new compositor pad-is-obscured optimization
+         We verify that all the buffers on an obscured sinkpad are skipped by overriding
+         the map() function in the GstVideoMeta of the buffers to set a variable when
+         called. We also test that the buffers do get mapped when they're not obscured.
+         Blame^WCredit for the GstVideoMeta map() idea goes to Tim.
+         https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:10:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Only map the frame from a buffer if it will be used
+         It's a waste of resources to map it if it won't be converted
+         or used at all. Since we moved the frame mapping down, we need
+         to use the GST_VIDEO_INFO accessor macros now in the code above
+         that instead of the GST_VIDEO_FRAME accessor macros.
+         https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: use accessor macros for consistency
+         https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Skip pads that are completely obscured by a higher zorder pad
+         For each frame, compare the frame boundaries, check if the format contains an
+         alpha channel, check opacity, and skip the frame if it's going to be completely
+         overwritten by a higher zorder frame. The check is O(n^2), but that doesn't
+         matter here because the number of sinkpads is small.
+         More can be done to avoid needless drawing, but this covers the majority of
+         cases. See TODOs. Ideally, a reverse painter's algorithm should be used for
+         optimal drawing, but memcpy during compositing is small compared to the CPU used
+         for frame conversion on each pad.
+         https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
 2015-04-10 15:24:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
 
        * gst-libs/gst/pbutils/codec-utils.c:
          Remove unused macro GET_TMP_LINE
          https://bugzilla.gnome.org/show_bug.cgi?id=748687
 
+2015-04-30 11:15:40 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+         gl: readd glupload/download onto element pads
+         Allows insertion of gl elements into non-gl pipelines without converter
+         (upload/download) elements.
+         https://bugzilla.gnome.org/show_bug.cgi?id=743974
+
+2015-04-29 22:55:00 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         Revert "glvideomixer: implement with glmixerbin"
+         This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c.
+
 2015-04-29 15:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tools/gst-play.c:
          Use the helper function available in the base class instead.
          https://bugzilla.gnome.org/show_bug.cgi?id=748585
 
+2015-04-28 20:11:07 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+         glupload: provide the sink template caps that could be used
+         https://bugzilla.gnome.org/show_bug.cgi?id=746399
+
 2015-04-28 12:01:02 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-info.c:
          audio: Change the remaining "samples" in the ::delay() vfunc docs to "frames"
          https://bugzilla.gnome.org/show_bug.cgi?id=748289
 
+2015-04-27 15:20:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: unref display/other-context in the correct place
+         Otherwise state changes from PLAYING->READY->PAUSED will cause there to
+         to be no display configured on the element.
+         https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
 2015-04-26 20:13:01 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/pipelines/tcp.c:
          validate.http.media_check.vorbis_theora_1_ogg scenario.
          https://bugzilla.gnome.org/show_bug.cgi?id=748247
 
+2015-04-22 18:54:45 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Possible null pointer dereference
+         While printing error message when context fails, error variable is not being used anymore
+         so it will lead to null pointer dereference
+         https://bugzilla.gnome.org/show_bug.cgi?id=748287
+
 2015-04-22 10:34:09 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * INSTALL:
          video-scaler: scale enough pixels in YUY2 (and friends) mode
          Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790
 
+2015-04-21 12:19:46 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gldisplay: synchronize the searching and creation of GstGLContext's
+         Ootherwise we could end up with multiple elements in different chains
+         each creating a context.  Fixes context creation with glvideomixer.
+
+2015-04-15 15:22:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
+         Caps refcounting was all wrong in this function. Rewrote it and add some
+         comments to make it clearer.
+         Fix caps leaks with the
+         validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+         https://bugzilla.gnome.org/show_bug.cgi?id=747915
+         Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
 2015-04-17 16:21:05 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
 
        * tests/check/libs/rtpbasedepayload.c:
          setting the new one.
          https://bugzilla.gnome.org/show_bug.cgi?id=747103
 
+2015-04-16 14:17:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix caps leak when early returning
+         https://bugzilla.gnome.org/show_bug.cgi?id=747993
+         Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-16 14:21:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: unref owned caps when finalizing the mixer
+         Fix a caps leak with the
+         validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+         https://bugzilla.gnome.org/show_bug.cgi?id=747915
+         Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-15 15:16:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: pass the proper free function to frames and buffers array
+         'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
+         function. 'frames' is the one containing GstGLMixerFrameData and so should use
+         _free_glmixer_frame_data as free function.
+         Fix GstGLMixerFrameData leaks with the
+         validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+         https://bugzilla.gnome.org/show_bug.cgi?id=747913
+         Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-17 14:09:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglmixer.c:
+         gl: Remove some empty ::finalize() implementations
+
 2015-04-17 11:45:34 +0200  Edward Hervey <edward@centricular.com>
 
        * win32/common/libgstallocators.def:
          decodebin: Also log the pointer value of sticky events in debug output
          Makes it easier to follow them in the debug logs.
 
+2015-04-08 19:29:40 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Remove broken timestamps-going-backwards check
+         This would've also triggered if for some reason the segment was updated
+         in such a way that PTS went backwards, but the running time increased. Like
+         what happens when non-flushing seeks are done.
+         We're doing a proper buffer-from-the-past check a few lines below based on the
+         running time, which is the only time we should care about here.
+
 2015-04-08 17:12:22 +0100  Luis de Bethencourt <luis.bg@samsung.com>
 
        * tests/examples/dynamic/addstream.c:
        * tests/examples/seek/scrubby.c:
          examples: fix deprecated API in scrubby
 
+2015-03-06 21:12:52 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: Query latency on first incoming buffer.
+         And keep on querying upstream until we get a reply.
+         Also, the _get_latency_unlocked() method required being calld
+         with a private lock, so removed the _unlocked() variant from the API.
+         And it now returns GST_CLOCK_TIME_NONE when the element is not live as
+         we think that 0 upstream latency is possible.
+         https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
 2015-04-01 20:32:41 -0400  Olivier Crête <olivier.crete@collabora.com>
 
        * gst/audiomixer/gstaudiomixer.c:
        * tests/examples/audio/audiomix.c:
          tests: update deprecated GTK API in audiomix
 
+2015-03-31 16:27:00 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Don't use context if not present
+         Avoids assertions at runtime
+
 2015-03-31 11:21:25 +0200  Edward Hervey <bilboed@bilboed.com>
 
        * gst-libs/gst/allocators/Makefile.am:
          Adding a comment makes coverity happy and quells the issue.
          CID 1291629
 
+2015-03-24 19:04:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Check if there's a previous buffer to 'keep'
+         If we want to keep a previous buffer but there's no previous buffer, we actually
+         need more data instead.
+
 2015-02-16 09:25:03 +1000  Duncan Palmer <dpalmer@digisoft.tv>
 
        * gst/playback/gstdecodebin2.c:
          valid case, to indicate clipping of data at start.
          https://bugzilla.gnome.org/show_bug.cgi?id=743900
 
+2015-03-16 03:53:33 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/compositor/compositororc.orc:
+         compositor: Revert most of previous patch.
+         The calculation doesn't produce the same results.
+         Keep just the change to divide alpha by 255 instead of 256,
+         for slightly better accuracy
+
 2015-03-15 17:27:33 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/allocators/gstdmabuf.c:
          This would make it possible later to add other allocators also using
          fd backed memory.
 
+2015-03-16 00:22:14 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/compositor/compositororc.orc:
+         compositor: Fix blending functions
+         Correctly calculate alpha in a few places by dividing by 255,
+         not 256.
+         Fix the argb and bgra blending functions to avoid an off-by-one
+         error in the calculations, so painting with alpha = 0xff doesn't
+         ever bleed through from behind
+
 2015-03-14 18:08:15 +0000  Thiago Santos <thiagoss@osg.samsung.com>
 
        * gst/playback/gststreamsynchronizer.c:
          again before going to sleep.
          Bonus: fix a comment typo
 
+2015-03-14 16:25:29 +0000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glsyncmeta: make context to wait and set sync explicit
+         otherwise we may wait on a sync object in same context by accident
+
 2015-03-13 18:07:12 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>
 
        * gst/playback/gstplaysink.c:
          patch is valid and useful on its own.
          Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150
 
+2015-03-13 10:25:35 +0000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: get the context from basemixer/basefilter
+
+2015-03-13 09:38:54 +0000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: retreive the gldisplay/app gl context as soon as possible
+         fixes the usage of gst_gl_display_filter_gl_api
+
 2015-03-13 10:30:43 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 
        * gst-libs/gst/video/video-frame.c:
          act on it a bit later if the discont stayed around for discont_wait time.
          https://bugzilla.gnome.org/show_bug.cgi?id=746032
 
+2015-03-03 17:26:47 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+         gl: store the list of contexts within gldisplay
+         Removes the reliance on the allocation query to propogate GL contexts.
+         Allows thread safely getting a context for the a specific thread.
+
+2015-02-26 13:45:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: implement with glmixerbin
+         The relevant properties are forwarded to/from the containing bin
+         and sink pads.
+
+2015-02-26 00:20:37 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+         glmixer: remove usage of upload/download objects
+
+2015-02-25 23:48:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixerbin.c:
+       * ext/gl/gstglmixerbin.h:
+         gl: new glmixerbin element
+
+2015-02-11 14:48:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglbasemixer.c:
+       * ext/gl/gstglbasemixer.h:
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglvideomixer.h:
+         gl: add a new glbasemixer class below glmixer
+         It deals with propagating the gl display/contexts throughout the
+         application/pipeline
+
 2015-03-12 10:06:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
        * ext/ogg/gstoggdemux.c:
          buffers or inserting silence; for example if the offset is changed on an srcpad
          connected to audiomixer.
 
+2015-01-20 19:53:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: While aggregating, sync values for all pads before converting frames
+
 2015-03-03 15:18:04 +0800  Song Bing <b06498@freescale.com>
 
        * tests/check/pipelines/streamsynchronizer.c:
        * gst-libs/gst/video/video-orc-dist.h:
          video: Update orc generated C files
 
+2015-03-06 20:11:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Don't share our downstream pool with upstream
+         Pool cannot have multiple owner. This can lead to spurious
+         pool was flushing error.
+         https://bugzilla.gnome.org/show_bug.cgi?id=74570
+
+2015-03-06 18:15:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
+         ... and let glmixer actually transform the caps it is supposed to transform
+         instead of inventing new caps.
+
+2015-03-06 18:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         Revert "videoaggregator: Create new caps from the video-info"
+         This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d.
+         because it broke glvideomixer with custom caps features.
+
+2015-03-06 14:36:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Create new caps from the video-info
+         In case the original caps were missing some optional fields like
+         interlace-mode. We assume default values for those everywhere,
+         but they can still cause negotiation to fail if a downstream element
+         expects the field to be there and at a specific value.
+
 2015-03-06 12:54:56 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-converter.c:
          used to pass extra details to the external installer process.
          https://bugzilla.gnome.org/show_bug.cgi?id=744465
 
+2015-02-13 16:03:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: use new gst_aggregator_pad_drop_buffer()
+
 2015-02-13 16:06:34 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
 
 2015-02-12 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.com>
 
+       * tests/check/elements/compositor.c:
+         tests: remove GST_DISABLE_PARSE guards from two tests that don't require it
+
+2015-02-12 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
        * tests/check/elements/audiomixer.c:
          tests: remove GST_DISABLE_PARSE guards from two tests that don't require it
 
 
 2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>
 
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         Improve and fix LATENCY query handling
+         This now follows the design docs everywhere, especially the maximum latency
+         handling.
+         https://bugzilla.gnome.org/show_bug.cgi?id=744106
+
+2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
        * gst/audiomixer/gstaudiomixer.c:
          Improve and fix LATENCY query handling
          This now follows the design docs everywhere, especially the maximum latency
          video-converter: only enable backlog for interlaced video
          Skip lines we don't need.
 
+2015-02-10 10:56:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: When receiving timeout before caps, make sure to also advance our frame counter
+         Otherwise we will directly go EOS on the next non-timeout.
+
 2015-02-10 09:30:44 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-converter.c:
        * gst-libs/gst/video/video-format.c:
          video-format: fix pstride of NV16 and NV24 formats
 
+2015-02-09 00:59:30 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix buffer selection when duration=-1
+         If the src framerate and videoaggreator's output framerate were
+         different, then we were taking every single buffer that had duration=-1
+         as it came in regardless of the buffer's start time.  This caused the src
+         to possibly run at a different speed to the output frames.
+         https://bugzilla.gnome.org/show_bug.cgi?id=744096
+
 2015-02-09 18:01:30 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/rtsp/gstrtspmessage.c:
          if (!setup_scale (convert, transforms[i].fformat))
          ~~~~~~~~~~~           ~~~~~~~~~~~~~~^~~~~~~
 
+2015-02-08 14:32:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: don't set element factory details
+         This is an abstract base class, not an element.
+
 2015-02-07 03:56:05 +1100  Jan Schmidt <jan@centricular.com>
 
        * ext/ogg/gstoggmux.c:
          video-converter: add support for borders in scale fastpath
          Add support for borders and cropping in the scaler fastpaths.
 
+2015-02-05 15:48:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/compositor.c:
+         tests: compositor: add unit test for proper segment.base handling
+         As adjusted by gst_pad_set_offset(), or when doing segment seeks
+         or looping for example.
+
 2015-02-05 15:23:04 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/elements/audiomixer.c:
          audio{enc,dec}oder: Handle max_latency == GST_CLOCK_TIME_NONE
          And initialize the latencies with 0 and NONE.
 
+2015-02-03 15:30:08 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: remove the egl caps from the src pads
+         we don't actually support producing EGLImage buffers anywhere.
+
+2015-02-03 00:11:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glupload/download/convert: provide transform_caps functions
+         Allows finer grain decisions about formats and features at each
+         stage of the pipeline.
+         Also provide propose_allocation for glupload besed on the supported
+         methods.
+
 2015-01-28 05:26:06 +1100  Jan Schmidt <jan@centricular.com>
 
        * gst-libs/gst/audio/gstaudiobasesink.c:
          flushing to the caller, rather than emit a flow error.
          https://bugzilla.gnome.org/show_bug.cgi?id=722442
 
+2015-01-28 00:13:46 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: initial support for texture targets other than GL_TEXTURE_2D
+         Make GstGLMemory hold the texture target (tex_target) the texture it represents
+         (tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
+         gst_gl_download_perform_with_data to take the texture target as an argument.
+         This change is needed to support wrapping textures created outside libgstgl,
+         which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
+         textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
+         With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
+         target of textures created with libgstgl.
+         API: modify GstGLMemory
+         API: modify gst_gl_memory_wrapped_texture
+         API: gst_gl_download_perform_with_data
+
 2015-01-28 16:43:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
        * ext/opus/gstopusenc.c:
          sense anymore with a private lock.
          https://bugzilla.gnome.org/show_bug.cgi?id=742684
 
+2015-01-26 11:32:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: More fixes around locking when accessing protected private fields
+         In some more places we were accessing GstAggregator->segment
+         and GstAggregator->seqnum without holding the GST_OBJECT_LOCK
+         https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
 2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>
 
        * gst/audiomixer/gstaudiomixer.c:
          those fields
          https://bugzilla.gnome.org/show_bug.cgi?id=742684
 
+2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: Hide GstAggregatorPad buffer and EOS fileds
+         And add a getter for the EOS.
+         The user should always use the various getters to access
+         those fields
+         https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
 2015-01-21 19:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>
 
        * tests/check/elements/audiomixer.c:
          Prevent that by taking the source's stream lock while flushing.
          https://bugzilla.gnome.org/show_bug.cgi?id=742684
 
+2015-01-21 19:43:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: Document locking for gst_aggregator_get_latency_unlocked()
+         Renamed it to _unlocked() to make it clear.
+         https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
 2015-01-22 17:41:24 -0500  Olivier Crête <olivier.crete@collabora.com>
 
        * tests/check/elements/audiomixer.c:
          through the aggregator by taking the stream locks.
          https://bugzilla.gnome.org/show_bug.cgi?id=742684
 
+2015-01-14 14:45:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Lock access to members of GstAggregatorPad
+         Take the pad's object lock before accessing members of the
+         GstAggregatorPad structure.
+         https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
 2015-01-21 19:32:34 -0500  Olivier Crête <olivier.crete@collabora.com>
 
        * tests/check/elements/audiomixer.c:
          Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
          https://bugzilla.gnome.org/show_bug.cgi?id=742684
 
+2015-01-29 02:28:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: If getting a timeout before having caps, just advance our position
+         This can happen if this is a live pipeline and no source produced any buffer
+         and sent no caps until an output buffer should've been produced according to the
+         latency.
+         This fix is similar in spirit to commit be7034d1 by Sebastian for audiomixer.
+
 2015-01-28 17:44:57 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-converter.c:
          audiodecoder: Fix typo in documentation
          Fix a couple of harmless warnings in the gtk-doc parsing
 
+2015-01-26 09:22:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix crash when receiving buffer without timestamps
+         Unset out buffer in clip function when we unref the buffer to be
+         clipped, otherwise aggregator will continue to use the already-
+         freed buffer. Fixes crash when buffers without timestamps are
+         being fed to aggregator. Partly because aggregator ignores the
+         error flow return.
+         https://bugzilla.gnome.org/show_bug.cgi?id=743334
+
 2015-01-23 12:46:41 +0100  Edward Hervey <bilboed@bilboed.com>
 
        * gst-libs/gst/video/video-dither.c:
          to consume any more input samples.
          https://bugzilla.gnome.org/show_bug.cgi?id=732908
 
+2015-01-19 12:37:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/compositor/blend.c:
+         compositor: fix illegal memory access in blend function with negative ypos
+         https://bugzilla.gnome.org/show_bug.cgi?id=741115
+
 2015-01-19 11:17:18 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/videorate/Makefile.am:
          videoutils: keep caps features in account when building the downstream filter
          See 00c2ce6 and https://bugzilla.gnome.org/show_bug.cgi?id=741263 for reference.
 
+2015-01-15 09:47:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: don't upload if alpha <= 0
+         Implemented using a upload_buffer vfunc within GstGLMixer allowing
+         NULL uploaded buffers.
+
+2015-01-14 23:48:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Document the zorder pad property from gstvideoaggregator
+
 2015-01-14 10:35:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * tests/examples/playback/playback-test.c:
          to avoid doing those again.
          https://bugzilla.gnome.org/show_bug.cgi?id=742885
 
+2015-01-14 22:08:43 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: split glcolorconvert usage from glupload
+         the separation allows the transfer operation to occur in a separate
+         thread/time which may increase performance in specific circumstances.
+
 2015-01-13 16:58:34 +0000  Luis de Bethencourt <luis.bg@samsung.com>
 
        * ext/libvisual/gstaudiovisualizer.c:
          lines down before it is ever used. Save the unnecessary memory and instructions.
          CID #1226467
 
+2015-01-13 14:54:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Don't do any conversions if the pad is completely transparent anyway
+
+2015-01-12 21:25:14 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/compositor/.gitignore:
+         gitignore: ignore more files
+
 2015-01-12 15:27:18 +0000  Luis de Bethencourt <luis.bg@samsung.com>
 
        * ext/libvisual/gstaudiovisualizer.c:
        * ext/ogg/gstoggmux.c:
          oggmux: fix silly GQueue iteration code
 
+2014-12-30 19:43:43 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglvideomixer.c:
+         glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
+
+2014-12-30 19:26:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: update for aggregator start/stop vfunc change
+
 2014-12-30 18:01:34 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: update for aggregator start/stop vfunc change
 
+2014-12-30 17:56:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: update for aggregator start/stop vfunc change
+
 2014-12-30 15:29:36 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: fix output-block-size property description
 
+2014-12-28 01:13:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         aggregator: make padding larger
+         Esp. the class structures, can't have enough
+         spare space for virtual functions.
+
 2014-12-26 20:48:55 +0000  Sam Thursfield <sam@afuera.me.uk>
 
        * gst-libs/gst/pbutils/gstdiscoverer-types.c:
          object and should definitely not get freed by the caller as well.
          https://bugzilla.gnome.org/show_bug.cgi?id=742006
 
+2014-12-27 15:50:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: Point to compositor for the pad properties documentation
+
+2014-12-27 15:49:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Document the pad properties
+
 2014-12-27 15:49:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: Change blocksize property to output-buffer-duration in time format
          This makes the interface of audiomixer independent of the actual caps.
 
+2014-12-22 22:11:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Use the src query implementation of aggregator as the default case
+
 2014-12-22 22:11:13 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
          And the offset the offset into that buffer. Changing the size will
          cause all kinds of assumptions to fail and cause crashes.
 
+2014-12-18 22:04:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't try to map NULL buffers
+
+2014-12-18 22:03:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Make sure to always update the pad's videoinfo together with buffers
+         Otherwise the videoinfo and the buffer content can go out of sync.
+
 2014-12-18 13:24:22 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/riff/riff-media.c:
          http://demo.archermind.com/Test%20Sample/Video/MPEG%204/Divx3/Low-Motion/576-320.avi
          Audio and video together is still broken because of other issues.
 
+2014-12-18 11:48:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Fix memory leak when no buffer is available for a pad currently
+         CID 1258718
+
 2014-12-18 10:57:13 +0100  Edward Hervey <bilboed@bilboed.com>
 
        * gst-libs/gst/audio/Makefile.am:
          For audiomixer this is one blocksize, for videoaggregator this should
          be the duration of one output frame.
 
+2014-12-17 19:51:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: Add function to allow subclasses to set their own latency
+         For audiomixer this is one blocksize, for videoaggregator this should
+         be the duration of one output frame.
+
 2014-12-17 19:37:22 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/audiomixer/gstaudiomixer.c:
 
 2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>
 
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst/compositor/compositor.c:
+         aggregator: Add a timeout parameter to ::aggregate()
+         When this is TRUE, we really have to produce output. This happens
+         in live mixing mode when we have to output something for the current
+         time, no matter if we have enough input or not.
+
+2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
        * gst/audiomixer/gstaudiomixer.c:
          aggregator: Add a timeout parameter to ::aggregate()
          When this is TRUE, we really have to produce output. This happens
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: Implement get_next_time()
 
+2014-12-05 18:19:54 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: make the src pad task drive the pipeline for live pipelines
+         This removes the uses of GAsyncQueue and replaces it with explicit
+         GMutex, GCond and wakeup count which is used for the non-live case.
+         For live pipelines, the aggregator waits on the clock until either
+         data arrives on all sink pads or the expected output buffer time
+         arrives plus the timeout/latency at which time, the subclass
+         produces a buffer.
+         https://bugzilla.gnome.org/show_bug.cgi?id=741146
+
+2014-12-08 15:18:25 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: always try to use newer buffers
+         instead of dropping them for being too old.  This ensures that
+         the newest buffer is always used for rendering
+
 2014-12-16 12:57:55 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * sys/ximage/ximagesink.c:
          passed, so we must unref the caps afterwards.
          Fixes leaks when running test in valgrind in 1.4 branch.
 
+2014-11-27 20:48:24 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Hide some more fields from the API
+         + Add some documentation
+
 2014-12-12 10:02:43 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-orc-dist.c:
          We were always returning the video stream combiner whatever stream type
          combiner was wanted.
 
+2014-12-11 18:15:02 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: fixup vao and vbo usage for legacy GL
+
 2014-12-10 13:23:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * gst/playback/gstplaybin2.c:
          later can cause crashes or any other kind of interesting and hard to debug
          bugs.
 
+2014-11-28 10:23:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: Failure to map a video frame is not just a warning
+         Also add some warning debug output if mapping a output buffer fails
+
+2014-11-28 10:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Failure to map a video frame is not just a warning
+
+2014-11-27 21:05:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gldisplay: implement runtime GL api filtering
+         Needed so that the pipeline/application can limit the choice of GL api
+         to what it supports
+
+2014-10-17 15:22:24 +0200  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: add a sync meta for synchronizing across GL contexts
+         A context can create a GLsync object that can be waited on in order
+         to ensure that GL resources created in one context are able to be
+         used in another shared context without any chance of reading invalid
+         data.
+         This meta would be placed on buffers that are known to cross from
+         one context to another.  The receiving element would then wait
+         on the sync object to ensure that the data to be used is complete.
+
+2014-11-14 00:20:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: add support for gl3
+
+2014-11-27 21:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Minor cleanup
+
+2014-11-26 15:02:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositorpad.h:
+         compositor: Implement rescaling of the input via pad properties
+         compositor has now the same interface as glvideomixer.
+
+2014-11-27 20:34:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Copy over more fields from the relevant video-info
+         gst_video_info_set_format() will reset the complete video-info, but
+         we want to keep values like the PAR, colorimetry and chroma site.
+         Otherwise we risk setting different values on the srcpad caps than
+         what is actually inside the buffers.
+
+2014-11-27 20:25:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Directly use the converters video-info instead of recalculating it
+
+2014-11-27 19:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Do source pad negotiation only from the aggregated function
+         Otherwise we might negotiate from the sinkpad streaming threads at
+         the same time as on the srcpad streaming thread, and then all kinds
+         of crazy bugs happen that don't make any sense at all.
+
 2014-11-27 16:43:39 +0100  Thibault Saunier <tsaunier@gnome.org>
 
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: Do not try to resize a buffer to a negative size on EOS
 
+2014-11-27 18:46:03 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoconvert: Hide all conversion related fields
+         And do not delay the setting of the conversion_info
+         https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-11-26 18:24:05 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * ext/gl/gstglmixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Expose vmethods to set converters and prepare/clean frames
+         This gives more flexibility to the subclasses and permits to remove the
+         GstVideoAggregatorClass->disable_frame_conversion ugly API.
+         WARNING: This breaks the API as it removes the disable_frame_conversion
+         field
+         API:
+         + GstVideoAggregatorClass->find_best_format
+         + GstVideoAggregatorPadClass->set_format
+         + GstVideoAggregatorPadClass->prepare_frame
+         + GstVideoAggregatorPadClass->clean_frame
+         - GstVideoAggregatorClass->disable_frame_conversion
+         https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-10-31 11:01:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Let a full renegotiation happen after removing the last pad
+         With the current code, we will end up setting the preferred downstream
+         format as the srcpad format, and it might not be accepted by the next
+         sinkpad to be added. We should instead let the next sinkpad reconfigure
+         everything.
+
 2014-11-27 17:10:31 +0100  Edward Hervey <bilboed@bilboed.com>
 
        * common:
          typefindfunctions: detect mp4 common file format variant
          Used e.g. by UltraViolet.
 
+2014-11-26 13:06:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Also sync pad properties to the controller if conversion is disabled
+
+2014-11-26 12:35:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositorpad.h:
+         compositor: Remove unused zorder pad property
+         It's handled in videoaggregator already.
+
 2014-11-25 22:01:08 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/alsa/gstalsasrc.c:
          alsasrc: debug message fixes
          In the same vein as 74e9640a.
 
+2014-11-25 18:53:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositor.c:
+         compositor: GstVideoMeta is supported just fine, tell upstream about that
+         Also provide a GstVideoBufferPool to upstream just in case.
+
 2014-11-25 17:42:07 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-scaler.c:
          Use the error line for temporary storage in the fastpath so that we
          don't have to allocate any other temp lines.
 
+2014-11-05 20:18:06 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glupload: rearchitecture for non GLMemory inputs/outputs
+         Allows other memory types to be implemented/returned/used by the caller.
+
 2014-11-22 21:51:33 +0100  Matej Knopp <matej.knopp@gmail.com>
 
        * gst-libs/gst/video/gstvideoencoder.c:
          rtspconnection: fix warning on param name mismatch
          https://bugzilla.gnome.org/show_bug.cgi?id=740013
 
+2014-11-19 17:02:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Don't output 0-duration buffers at the segment end
+         https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
 2014-11-18 00:04:59 +1100  Jan Schmidt <jan@centricular.com>
 
        * tests/icles/.gitignore:
        * gst-libs/gst/video/video-orc.orc:
          video-converter: add orc splat functions to draw border
 
+2014-11-17 14:05:01 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix up QoS handling for live sources
+         Only attempt adaptive drop when we are not live
+         https://bugzilla.gnome.org/show_bug.cgi?id=739996
+
 2014-11-05 21:52:44 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/pango/gstbasetextoverlay.c:
          https://bugzilla.gnome.org/show_bug.cgi?id=738984
          https://bugzilla.gnome.org/show_bug.cgi?id=739281
 
+2014-11-17 18:50:04 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: add read-only context property
+
 2014-11-16 23:26:45 +0000  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/video/video-blend.c:
          Add unit test to check that encode and decode are eachothers inverse
          and that the limits are respected.
 
+2014-11-11 14:23:55 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: remove the width/height fields from the caps to support frame resizing
+         It was previously only occuring with sysmem caps features
+         https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
 2014-11-10 14:53:13 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * tests/check/libs/video.c:
          video-converter: add extra pixels for the border
          We need extra pixels for the border.
 
+2014-11-03 16:13:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Swap source/destination parameters of gst_video_converter_frame()
+
 2014-11-03 15:36:26 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-orc.orc:
          video: Update disted orc files for new functions.
          Fixes the build when building without ORC
 
+2014-10-31 12:52:07 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: advertise support for changing input caps mid-stream
+         https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
 2014-10-31 11:07:06 +0100  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-converter.c:
          into a rectangle in the destination frame.
          Add an option to add a border and border color.
 
+2014-10-30 14:49:05 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: remove storage of never used values
+         These two values are stored just before the function returns and they go out of
+         scope.
+
 2014-06-10 09:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
        * ext/opus/gstopusenc.c:
        * tests/check/libs/video.c:
          tests: fix test
 
+2014-10-30 23:08:00 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: don't get the current caps from GstVideoInfo for the srcpad
+         It's missing the caps features needed.
+
 2014-10-03 12:42:46 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
 
        * tools/gst-discoverer.c:
        * gst-libs/gst/video/video-chroma.c:
          video-chroma: fix typo
 
+2014-10-29 08:27:57 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer:fix incorrect parameter passed to handle_set_context
+
 2014-10-27 17:56:51 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * common:
        * gst-libs/gst/rtsp/gstrtspextension.c:
          rtsp: use generic marshaller
 
+2014-10-24 00:35:22 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: override the caps query in order to 'convert' capsfeatures
+         Otherwise, it is only possible for the sink pads and the src pads to
+         have the exact same caps features.  We can convert from any feature
+         to another feature so support that.
+
+2014-10-23 23:55:48 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: override the accept caps query in order to 'convert' capsfeatures
+         Otherwise, it is only possible for the sink pads and the src pads to
+         have the exact same caps features.  We can convert from any feature
+         to another feature so support that.
+
+2014-08-14 23:29:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: propogate other-context using GstContext
+
 2014-10-23 11:22:35 +0200  Thibault Saunier <tsaunier@gnome.org>
 
        * ext/pango/gstbasetextoverlay.c:
          watch related functionality.
          https://bugzilla.gnome.org/show_bug.cgi?id=737752
 
+2014-10-21 06:04:10 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: fixup eglimage include path
+
+2014-10-21 02:52:05 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fixate the parts of the caps we don't know how to deal with
+         fixes glvideomixer with video/x-raw,width=foo i.e. no format field.
+
+2014-10-18 10:03:43 +0200  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
+
+2014-10-20 10:34:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglvideomixer.c:
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+       * gst/compositor/compositor.c:
+         videoaggregator: operate on caps rather than video info
+         Otherwise the CapsFeatures will be lost along with the possibility
+         of multiple output types and formats.
+         https://bugzilla.gnome.org/show_bug.cgi?id=738129
+
 2014-10-20 15:31:29 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/app/gstappsink.c:
          audiodecoder: should post DECODE errors and not ENCODE
          Fix error code for audio decoder
 
+2014-10-13 13:27:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Call the pad's parent class finalize method
+
+2014-10-13 13:27:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: Only finalize the other context in finalize()
+         Otherwise we change a value of a property when going to READY state,
+         which is unexpected behaviour.
+
+2014-10-13 11:53:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+         glmixer: Add other-context property
+
 2014-10-10 18:49:29 +0100  Luis de Bethencourt <luis.bg@samsung.com>
 
        * gst-libs/gst/video/video-blend.c:
 
 2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>
 
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         aggregator: add latency query handling
+
+2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>
+
        * gst/audiomixer/gstaudiomixer.c:
          aggregator: add latency query handling
 
+2014-10-06 18:33:52 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: support unresponsive pads
+         Render unresponsive pads with the last video frame received.
+
+2014-10-06 18:10:38 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: remove the use of the queued buffer on sink pads
+         That data is now held by the aggregator class
+
 2014-10-08 16:50:52 +0100  Luis de Bethencourt <luis.bg@samsung.com>
 
        * gst/videoscale/gstvideoscale.c:
        * gst/audiomixer/gstaudiomixer.c:
          audiomixer: Handle seek event in READY state
 
+2014-09-23 15:59:10 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Do not wrongly set the aggregator.segment
+         The aggregator.segment is not to be initialized by the subclasses but
+         by the aggregator itself. Moreover, initializing it on start would make
+         us loose the information coming from the initial seek.
+
 2014-07-21 11:07:19 +0200  Thibault Saunier <tsaunier@gnome.org>
 
        * gst/audiomixer/gstaudiomixer.c:
          Otherwise stream offset and running time comparison will not be
          correct, leading to segfaults after seeks
 
+2014-07-30 11:57:46 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Make sure not to unref a NULL pointer
+
 2014-05-28 16:29:37 +0200  Thibault Saunier <tsaunier@gnome.org>
 
        * gst/audiomixer/Makefile.am:
        * gst/playback/gstdecodebin2.c:
          decodebin: Free factories array when delaying autoplugging due to non-final caps
 
+2014-10-06 10:11:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
+
 2014-10-06 10:11:05 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-converter.c:
          The flag wasn't used anywhere except for rejecting buffers after
          EOS, and this is now handled by GstPad directly.
 
+2014-09-18 17:14:22 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
+         We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
+         negotiating caps, this patch introduce that change.
+         That also implies that we do not need the SETCAPS_LOCK anymore because
+         now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
+         several threads and the gst_aggregator_set_caps method is now
+         protected.
+         https://bugzilla.gnome.org/show_bug.cgi?id=735042
+
 2014-10-02 00:14:03 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
 
        * ext/vorbis/gstvorbisdeclib.c:
        * docs/design/part-stereo-multiview-video.markdown:
          design: Add a proposal for handling stereoscopic 3D and multiview
 
+2014-10-01 17:22:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion
+
+2014-10-01 17:18:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Revert the last commit and handle resolutions differences properly
+         This is about converting the format, not about converting any widths and
+         heights. Subclasses are expected to handler different resolutions themselves,
+         like the videomixers already do properly.
+
+2014-10-01 17:11:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: GstVideoConverter currently can't rescale and will assert
+         Leads to ugly assertions instead of properly erroring out:
+         CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
 2014-10-01 11:16:30 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
 
        * gst-libs/gst/video/gstvideoencoder.c:
          Otherwise, frame is leaked.
          https://bugzilla.gnome.org/show_bug.cgi?id=737706
 
+2014-09-30 20:39:36 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: update element documentation
+
 2014-09-25 17:32:32 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/video/video-converter.c:
          audio: Fix up a comment in GstAudioBaseSink
          Rewrote the comment to not be PulseAudio-specific.
 
+2014-09-28 16:58:42 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: don't create converters when the subclass doesn't want them
+         fixes a critical with glvideomixer after
+         35bd1969f912cecda0fb5df9595a005e6ddf4e7a
+         CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
 2014-09-27 20:05:38 +0200  Rico Tzschichholz <ricotz@ubuntu.com>
 
        * gst-libs/gst/video/Makefile.am:
          Implementation for submethods - int16, int32, float and double
          https://bugzilla.gnome.org/show_bug.cgi?id=737400
 
+2014-09-26 01:34:54 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: fix blending with low-alpha sources
+         We also need to apply the blend paramaters to the alpha channel otherwise
+         the output of the blend will appear black at low alpha values (< 0.2).
+
 2014-09-25 15:19:21 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-libs/gst/video/video-orc-dist.c:
        * gst-libs/gst/video/video-orc-dist.h:
          video: update disted orc backup files
 
+2014-09-24 16:55:49 +0200  Wim Taymans <wtaymans@redhat.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         video: use video lib conversion code instead of copy
+
 2014-09-24 16:19:30 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * docs/libs/gst-plugins-base-libs-sections.txt:
          videopool: add missing annotation for gst_video_buffer_pool_new()
          https://bugzilla.gnome.org/show_bug.cgi?id=737072
 
+2014-09-24 14:29:37 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: skip input frames with an alpha of 0
+
+2014-09-24 13:13:19 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+         gl: download whenever we have sysmem capsfeatures
+         Otherwise we could pass on a RGBA formatted buffer and downstream would
+         misinterpret that as some other video format.
+         Fixes pipelines of the form
+         gleffects ! tee ! xvimagesink
+
 2014-09-23 23:12:19 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/videoscale/vs_4tap.c:
          Avoids deprecation warnings (such as for gtk_widget_set_double_buffered()
          which became deprecated from 3.14)
 
+2014-09-21 21:36:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         glupload: provide the output buffer that is rendered into
+         Allows callers to properly reference count the buffers used for
+         rendering.
+         Fixes a redraw race in glimagesink where the previous buffer
+         (the one used for redraw operations) is freed as soon as the next
+         buffer is uploaded.
+         1. glimagesink uploads in _prepare() to texture n
+         1.1 glupload holds buffer n
+         2. glimagesink _render()s texture n
+         3. glimagesink uploads texture n+1
+         3.1 glupload free previous buffer which deletes texture n
+         3.2 glupload holds buffer n+1
+         4. glwindow resize/expose
+         5. glimagesink redraws with texture n
+         The race is that the buffer n (the one used for redrawing) is freed as soon as
+         the buffer n+1 arrives.  There could be any amount of time and number of
+         redraws between this event and when buffer n+1 is actually rendered and thus
+         replaces buffer n as the redraw source.
+         https://bugzilla.gnome.org/show_bug.cgi?id=736740
+
 2014-09-19 18:29:54 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tools/gst-play.c:
          gst-play: add --quiet option to suppress output
 
+2014-09-19 15:32:33 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: Removed unreachable break, unused variable
+         https://bugzilla.gnome.org/show_bug.cgi?id=736957
+
 2014-09-05 13:49:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * ext/pango/gstbasetextoverlay.c:
          audioconvert/videoconvert elements.
          https://bugzilla.gnome.org/show_bug.cgi?id=735748
 
+2014-09-16 11:41:16 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: do not leak pool in error cases
+         https://bugzilla.gnome.org/show_bug.cgi?id=736729
+
 2014-09-16 01:07:18 +0300  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/video-frame.c:
        * gst-libs/gst/audio/gstaudiodecoder.c:
          audiodecoder: Don't ignore ::start/stop return values
 
+2014-08-19 17:01:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         glmixer: unref the GstGLUpload in the pad if freed while running
+         Dynamic pipelines that get and release the sink pads will finalize
+         the pad without going through gst_gl_mixer_stop() which is where the
+         upload object is usually freed.  Don't leak objects in such case.
+
+2014-08-14 23:51:21 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         glvideomixer: avoid gl resource race condition between different thread
+         https://bugzilla.gnome.org/show_bug.cgi?id=734830
+
+2014-08-19 14:44:29 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: don't clobber unnecessary GstVideoInfo fields
+         otherwise we might clobber other important fields such as the frame rate.
+
+2014-08-19 14:43:42 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: get the attribute from the correct shader
+
 2014-08-18 13:04:31 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * gst-plugins-base.spec.in:
          checks will fail.
          https://bugzilla.gnome.org/show_bug.cgi?id=733916
 
+2014-08-07 19:54:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: push the caps event as soon as we receive it
+         Along with the required mandatory dependent events.
+         Some elements need to perform an allocation query inside
+         ::negotiated_caps().  Without the caps event being sent prior,
+         downstream elements will be unable to answer and will return
+         an error.
+         https://bugzilla.gnome.org/show_bug.cgi?id=732662
+
 2014-08-07 17:35:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
 
        * ext/pango/gstbasetextoverlay.c:
          get 8 7 6 before 6 5 3 and the video will play back correctly.
          https://bugzilla.gnome.org/show_bug.cgi?id=734441
 
+2014-08-10 18:07:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         opengl: update element docs for 1.x
+
 2014-08-10 17:30:18 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * configure.ac:
          check generically whether it's a derived GstMemory type,
          as boxed types don't allowe derivation.
 
+2014-08-09 11:17:44 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Unref allowed caps after usage
+         Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522
+
 2014-08-09 14:24:59 +0200  Sebastian Rasmussen <sebras@hotmail.com>
 
        * ext/opus/gstopusheader.c:
          vorbisenc: Improve annotation of internal function
          https://bugzilla.gnome.org/show_bug.cgi?id=734541
 
+2014-08-07 19:18:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: add a background property
+         That's compatible with the compositor/videomixer property
+         https://bugzilla.gnome.org/show_bug.cgi?id=731954
+
 2014-08-06 13:41:46 +0200  Sebastian Rasmussen <sebras@hotmail.com>
 
        * tests/check/elements/appsrc.c:
          Note: This may lead to few regressions that will need fixing
          https://bugzilla.gnome.org/show_bug.cgi?id=732288
 
+2014-07-23 10:25:31 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+       * ext/gl/gstglmixer.c:
+         gl: fix multi gl object leaks
+         1. fix FBO leaks in decide_allocation
+         2. fix texture leaks in decide_allocation and reset
+         3. fix texture leaks in FBO incomplete error path
+
 2014-07-23 19:51:36 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/playback/gstdecodebin2.c:
          dmabuf: share the mapping with shared copies of the memory
          https://bugzilla.gnome.org/show_bug.cgi?id=730441
 
+2014-07-11 09:41:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gl/gstglmixer.c:
+       * ext/gl/gstglmixer.h:
+       * ext/gl/gstglmosaic.h:
+       * ext/gl/gstglvideomixer.h:
+         gl: Move GstGLMixer to the plugin for now
+         It depends on GstAggregator and we don't want to install headers
+         for that yet.
+         https://bugzilla.gnome.org/show_bug.cgi?id=732207
+
 2014-07-10 15:52:46 +0100  Philip Withnall <philip.withnall@collabora.co.uk>
 
        * ext/opus/gstopusheader.c:
        * po/vi.po:
          po: Update translations
 
+2014-07-06 23:30:53 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: Fix some more the locking logic in update_src_caps
+         We need the GST_OBJECT_LOCK only to iterate the sinkpads, nothing else.
+         https://bugzilla.gnome.org/show_bug.cgi?id=732750
+
+2014-07-06 22:16:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix broken locking in update_src_caps function
+         We would unlock an already-unlocked mutex that we never re-locked.
+         https://bugzilla.gnome.org/show_bug.cgi?id=732750
+
 2014-07-03 13:46:08 -0700  Evan Nemerson <evan@nemerson.com>
 
        * gst-libs/gst/sdp/sdp.h:
          docs: Assorted documentation and introspection fixes for new 1.4 API
          https://bugzilla.gnome.org/show_bug.cgi?id=732595
 
+2014-07-01 12:52:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: reset QoS on segment event
+         https://bugzilla.gnome.org/show_bug.cgi?id=732540
+
 2014-07-01 16:19:22 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/rtsp/gstrtspconnection.c:
          libvisual: Rename get_type() function to prevent conflicts with static linking
          https://bugzilla.gnome.org/show_bug.cgi?id=728443
 
+2014-06-28 17:01:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         badvideo: Rename videoconvert functions to prevent conflicts with static linking
+         https://bugzilla.gnome.org/show_bug.cgi?id=728443
+
+2014-06-28 09:43:48 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+       * tests/check/elements/compositor.c:
+         compositor: tests: Fix pad leak
+         Remember to unref requested pad
+
 === release 1.3.90 ===
 
 2014-06-28 11:01:13 +0200  Sebastian Dröge <sebastian@centricular.com>
          libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST
          Remove the macros that used them, nobody could've used them anyway.
 
+2014-06-27 00:09:08 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix a refcount error when keeping the buffer
+         We take a ref on the pad's buffer at the beginning so we need to
+         unref when we are done in all cases.
+
 2014-06-26 11:35:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
 
        * gst-libs/gst/pbutils/codec-utils.c:
          Fixes a problem with at least one file being detected incorrectly as
          DTS because there's DTS packets early enough in the file.
 
+2014-06-22 13:14:27 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
+
+       * ext/gl/gstglvideomixer.c:
+         gl: enable glvideomixer on GLES2
+
+2014-06-25 12:00:34 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: bas output width/height on the pad properties
+         Allows automatic negotiation of the size in the following case:
+         gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
+         videotestsrc ! m. \
+         videotestsrc pattern=1 ! m.
+         https://bugzilla.gnome.org/show_bug.cgi?id=731878
+
+2014-06-25 10:18:48 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: don't clobber already allocated shader
+
+2014-06-24 08:01:21 +0200  Edward Hervey <edward@collabora.com>
+
+       * gst/compositor/Makefile.am:
+         compositor: Fix Makefile CFLAGS/LIBADD ordering
+         We want to use the libraries from -bad if/when present
+
+2014-06-23 22:40:23 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: don't clobber already heap allocated video frame
+         CID # 1223440
+
+2014-06-23 22:36:23 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         videoaggregator: fix up the parent chaining for dispose and finalize
+
 2014-06-23 01:02:22 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * tests/check/libs/rtpbasedepayload.c:
        * configure.ac:
          Back to development
 
+2014-06-22 19:22:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/compositor/compositororc-dist.c:
+         Release 1.3.3
+
 === release 1.3.3 ===
 
 2014-06-22 18:07:57 +0200  Sebastian Dröge <sebastian@centricular.com>
        * po/uk.po:
          po: Update translations
 
+2014-06-21 16:52:51 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         libs:video: Properly declare APIs as UNSTABLE
+
+2014-06-20 22:02:07 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+         libs: videoaggregato: Do not import videoconvert.h in gstvideoaggregatorpad.h
+         + Add a Private structure to the GstVideoAggregatorPad
+         + Add some padding
+
+2014-06-20 11:10:45 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * ext/gl/gstglvideomixer.c:
+         gl:glvideomixer: Add the Compositor in the element metadata class
+         So it is possible to pick one compositing element from the registry
+
+2014-05-22 19:46:02 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst/compositor/Makefile.am:
+       * gst/compositor/blend.c:
+       * gst/compositor/blend.h:
+       * gst/compositor/blendorc.h:
+       * gst/compositor/compositor.c:
+       * gst/compositor/compositor.h:
+       * gst/compositor/compositororc-dist.c:
+       * gst/compositor/compositororc-dist.h:
+       * gst/compositor/compositororc.orc:
+       * gst/compositor/compositorpad.h:
+       * tests/check/elements/compositor.c:
+         compositor: Add a new compositor based on the new GstVideoAggregator base class
+         It is a replacement for videomixer with a similare API
+         Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
+         https://bugzilla.gnome.org/show_bug.cgi?id=731919
+
+2014-06-10 11:26:53 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: Port glmixer to the GstVideoAggregator baseclass
+         https://bugzilla.gnome.org/show_bug.cgi?id=731921
+
+2014-06-03 19:00:34 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst-libs/gst/video/gstvideoaggregator.c:
+       * gst-libs/gst/video/gstvideoaggregator.h:
+         videoaggregator: Create a new GstVideoAggregator baseclass
+         This base class has been added to a newly created libgstbadvideo library
+         Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
+         https://bugzilla.gnome.org/show_bug.cgi?id=731918
+
 2014-06-20 11:00:14 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/audio/gstaudiodecoder.c:
          We don't change it in the encoder yet as that requires more internal logic
          changes AFAIU and I'm not aware of a case where this was a problem so far.
 
+2014-06-15 15:18:46 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: silence incorrect number of arguments in format warning
+
+2014-06-15 13:59:07 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: wire up the alpha pad property
+
+2014-06-15 13:44:04 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+         glvideomixer: support input frame scaling
+
+2014-06-15 12:26:21 +1000  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         glvideomixer: add positioning of input streams
+         https://bugzilla.gnome.org/show_bug.cgi?id=729798
+
 2014-06-12 12:36:26 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
 
        * gst/tcp/gsttcpserversrc.c:
          opus: add missing va_end in variadic function
          Coverity 1139944
 
+2014-04-08 16:23:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: test for frame NULLness before dereferencing it
+         Coverity 1195172, 1195171
+
 2014-04-08 15:43:50 +0200  Wim Taymans <wtaymans@redhat.com>
 
        * gst-libs/gst/sdp/gstsdpmessage.c:
          Added gst_rtsp_watch_set_flushing to list in file
          libgstrtsp.def
 
+2014-04-02 23:05:11 +1100  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: fix array initialization
+
+2014-04-02 22:43:41 +1100  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglvideomixer.c:
+         gl: fix assignment of temporary variables
+
 2014-03-30 18:26:59 +0200  Sebastian Dröge <sebastian@centricular.com>
 
        * gst-libs/gst/video/gstvideodecoder.c:
          GST_PLAY_FLAG_FORCE_FILTERS.
          https://bugzilla.gnome.org/show_bug.cgi?id=679031
 
+2014-03-16 11:23:16 +0100  Matthew Waters <ystreet00@gmail.com>
+
+       * ext/gl/gstglmosaic.c:
+       * ext/gl/gstglmosaic.h:
+       * ext/gl/gstglvideomixer.c:
+       * ext/gl/gstglvideomixer.h:
+         move gl elements to ext subdirectory
+
 2014-03-15 20:21:32 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
 
        * gst-libs/gst/rtsp/gstrtspconnection.c: