Update ChangeLogs for 1.19.3
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / ChangeLog
index 944e7f8..f471789 100644 (file)
+2021-11-02 09:40:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+         codecs: mpeg2: Drain before a new_sequence get signalled
+         The decoder may need to re-allocate the output buffer, it is easier if all
+         pictured have been outputed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-08 16:24:49 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+         v4l2codecs: gstv4l2codecsmpeg2dec: implement a render delay
+         The v4l2 backend support delayed output for performance reasons.
+         It is then possible to use render delays to queue multiple requests
+         simultaneously, thus increasing performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-08 16:07:23 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+         codecs: gstmpeg2decoder: add support for render delay
+         Some decoding APIs support delayed output for performance reasons.
+         One example would be to request decoding for multiple frames and
+         then query for the oldest frame in the output queue.
+         This also increases throughput for transcoding and improves seek
+         performance when supported by the underlying backend.
+         Introduce support in the mpeg2 base class, so that backends that
+         support render delays can actually implement it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-06 16:40:28 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+       * sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
+       * sys/v4l2codecs/meson.build:
+       * sys/v4l2codecs/plugin.c:
+         v4l2codecs: Implement a MPEG2 V4L2 decoder element
+         Implement a MPEG2 V4L2 decoder element based on the previous h264
+         implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-06 16:42:54 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/v4l2codecs/linux/videodev2.h:
+         v4l2codecs: mpeg2: update to the new uAPI
+         The mpeg2 stateless api has undergone changes as it is being
+         destage. Update the v4l2-controls header to match.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-03-26 15:52:21 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * sys/va/gstvampeg2dec.c:
+         sys: va: GstVaMpeg2Dec: use slice sc_offset and size
+         Seeing as how GstMpeg2Slice will now record the start code offset
+         as well as its size with the above field taken into account, the
+         manual computation in this class is not needed.
+         Remove it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-03-26 15:31:51 -0300  Daniel Almeida <daniel.almeida@collabora.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2picture.h:
+         codecs: GstMpeg2Slice: add field for sc_offset and size
+         Downstream might need the start code offset when decoding.
+         Previously this computation would be scattered in multiple sites. This
+         is error prone, so move it to the base class. Subclasses can access
+         slice->sc_offset directly without computing the address themselves
+         knowing that the size will also take the start code into account.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-10-20 12:11:49 +0100  James Cowgill <james.cowgill@blaize.com>
+
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+         v4l2codecs: Handle allocator creation failure
+         If `VIDIOC_REQBUFS` doesn't return enough buffers the allocator creation
+         function can fail and return `NULL`. Handle this by generating an error
+         and returning instead of segfaulting.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220>
+
+2021-10-20 12:08:49 +0100  James Cowgill <james.cowgill@blaize.com>
+
+       * sys/v4l2codecs/gstv4l2codecallocator.c:
+         v4l2codecs: Fix segfault when destroying non-detached allocator
+         The GstV4l2CodecAllocator dispose function clears `self->decoder` but
+         the finalize function then tries to use it if the allocator has no been
+         detached yet.
+         Fix by detaching in the dispose function before we clear
+         `self->decoder`.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220>
+
+2021-10-29 16:08:20 -0400  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * gst/codecalpha/gstalphacombine.c:
+         alphacombine: use the same allocation query data for both decoders
+         This allows downstream elements to set allocation query parameters for both
+         decoders, which should be always the same.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1277>
+
+2021-10-31 13:43:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+         applemedia: Add ARGB64_BE, RGBA64_LE support to vtenc/vtdec
+         We can add this now that ARGB64_BE videoconvert support was added in:
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-20 02:19:33 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+       * sys/applemedia/vtenc.h:
+         vtenc: Add FieldDetail properties for interlaced input
+         Standard interlace handling:
+         * If we have interlace-mode=interleaved and the field order, we just
+         set it when creating the session
+         * If we have interlace-mode=(interleaved|mixed) and no field order, we
+         set the field order on the first buffer
+         The encoder session does not support changing the FieldDetail after it
+         has started encoding frames, so we cannot support mixed streams
+         correctly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-20 01:49:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+       * sys/applemedia/vtenc.h:
+         vtenc: Add a property to forcibly ignore alpha values
+         This PropertyKey is not documented in any headers anywhere, so we need
+         to define it ourselves.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-19 23:53:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+         vtenc: Set colorimetry information
+         It looks like VideoToolbox doesn't support all our colorimetries.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-17 18:54:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/coremediabuffer.h:
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+       * sys/applemedia/vtenc.h:
+       * sys/applemedia/vtutil.c:
+       * sys/applemedia/vtutil.h:
+         applemedia: Add ProRes support to vtenc and vtdec
+         For vtdec, we continue to prefer NV12; else we pick whatever
+         downstream wants. In the special case where we're decoding 10-bit or
+         12-bit ProRes formats, we will prefer AYUV64.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-17 19:19:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtenc.c:
+         vtenc: Improve error reporting in chain function
+         Otherwise it is quite difficult to figure out why the chain function
+         failed. Also assert not reached for case statements that should not be
+         hit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-14 12:14:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/applemedia/vtdec.c:
+         vtdec: Remove dead code in switch statement
+         We never advertise these formats, so these cases will never be hit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-30 16:22:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         video: Fix order of new video formats
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1282>
+
+2021-10-30 00:58:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/mpegtsmux/gstatscmux.c:
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstmpegtsmux.c:
+         Couple more g_memdup() -> g_memdup2() fixes
+         Fixes deprecation warnings with newer GLib versions.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-30 00:52:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/dtls/gstdtlssrtpenc.c:
+         dtls: don't use deprecated g_binding_get_source() with newer GLib versions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-30 01:41:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+         codecs: h265decoder: Fix per-slice leak
+         As documented, slice header parsed via gst_h265_parser_parse_slice_hdr()
+         should be cleared, otherwise it would result in memory leak.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1274>
+
+2021-10-26 16:05:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Delay decoders downstream negotiation.
+         Delay decoders downstream negotiation just before an output frame
+         needs to be allocated.
+         This is required, are least for H.264 and H.265 decoders, since
+         codec_data might trigger a new sequence before finishing upstream
+         negotiation, and sink pad caps need to set before setting source pad
+         caps, particularly to forward HDR fields. The other decoders are
+         changed too in order to keep the same structure among them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:41:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvabasedec.c:
+         vabasedec: Move warning message to decoder's category.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:28:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Move common variable need_negotiation to GstBaseDec.
+         This is a common variable to all decoders, so it's sound to move it to
+         the base helper.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:23:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaav1dec.c:
+       * sys/va/gstvabasedec.c:
+       * sys/va/gstvabasedec.h:
+       * sys/va/gstvah264dec.c:
+       * sys/va/gstvah265dec.c:
+       * sys/va/gstvampeg2dec.c:
+       * sys/va/gstvavp8dec.c:
+       * sys/va/gstvavp9dec.c:
+         va: Move back parent_object to each element.
+         Using GstBaseDec hack to access the parent_object of each element in
+         the element itself is a bit fragile. It would be better to keep its
+         own parent object as the usual global variable. It would make it
+         resistant to code changes.
+         The GstBaseDec macro to access the parent object now it's internal to
+         base decoder.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-23 00:44:57 +0200  Piotrek Brzeziński <piotr@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+         video-format: Add support for ARGB64 LE/BE and similar variants
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247>
+
+2021-09-26 21:34:30 +0200  Heiko Becker <heirecka@exherbo.org>
+
+       * ext/neon/meson.build:
+         neon: Allow building against neon 0.32.x
+         No API/ABI changes: https://github.com/notroj/neon/blob/0.32.0/NEWS#L3
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1267>
+
+2021-10-25 11:37:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: require matching GStreamer dep versions for unstable development releases
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
+
+2021-10-27 00:20:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * ext/webrtc/webrtctransceiver.c:
+         webrtcbin: fix check_negotiation computing on caps event
+         It seems logical that check_negotiation be true if received_caps
+         is *not* equal to the new caps.
+         Also clean up handling of transceivers' ssrc events, as this
+         patch triggered a leaky code path.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-23 01:54:05 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: connect input stream when receiving caps
+         .. if a current direction has already been set
+         When `webrtcbin` has created an offer based on codec_preferences,
+         it might not have received caps on its sinkpads by the time a
+         remote description is set, in which case we want to connect the
+         input stream upon actual reception of the caps instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-18 15:23:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: consider pads with trans->codec_preferences ready
+         .. when determining whether we can emit on-negotiation-needed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-28 17:41:54 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         mpeg4videoparse: fix criticals trying to insert configs that don't exist yet
+         With mpeg4videoparse drop=false config-interval=N|-1 we might be
+         trying to insert a config before we have actually received one,
+         in which case we'll try to map a NULL buffer which will generate
+         lots of criticals.
+         Fixes #855
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1265>
+
+2021-10-20 17:46:10 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkh265enc.c:
+         msdk: Insert hdr sei at hevc encoder
+         There are two HDR SEIs defined in spec: mastering display colour volume and
+         content light level. Add insertion of HDR SEIs when they are available
+         during encoding.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1242>
+
+2021-10-21 16:12:06 +0100  Rob Agar <rob@engineeredarts.co.uk>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Also check data channel transport when collating connection state
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/838
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1224>
+
+2021-10-27 11:54:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Color fixation will choose othercaps' structure.
+         gst_va_fixate_format() will iterate all othercaps' structures to find
+         the one with less information lost at color conversion. If a structure
+         with same color format is found, the iteration stops. It's like a
+         smart truncation. Then, this function also will choose the caps
+         feature.
+         Later this structure is used fixate its size and no further truncation
+         is needed.
+         Don't intersect at fixate, since it kills possible resizing.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-27 11:53:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Ignore direction at orientation swapping.
+         It doesn't matter the direction of the negotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-27 10:31:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Consider video orientation for border calculation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-06 16:00:56 +0200  Timo Wischer <timo.wischer@de.bosch.com>
+
+       * ext/avtp/gstavtpsrc.c:
+         avtpsrc: Retry receive with same buffer size
+         Without this patch in case of a retry recv() will be called with a
+         negative size argument.
+         Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1078>
+
+2021-10-26 16:00:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: fix default value when installing schedule property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-26 15:58:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+         cccombiner: fix emission of selected-samples in one case
+         Detected while reading the code, cccombiner must set
+         self->current_video_buffer to NULL *after* emitting selected-samples
+         in order for the application to get a useful return when peeking
+         the next video sample.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-26 01:09:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/closedcaption/gstcccombiner.c:
+       * tests/check/elements/cccombiner.c:
+         cccombiner: stop attaching caption buffers when caption pad has gone EOS
+         When schedule is true (as is the case by default), we insert padding
+         when no caption data is present in the schedule queue, and previously
+         weren't checking whether the caption pad had gone EOS, leading to
+         infinite scheduling of padding after EOS on the caption pad.
+         Rectify that by adding a "drain" parameter to dequeue_caption()
+         In addition, update the captions_and_eos test to push valid cc_data
+         in: without this cccombiner was attaching padding buffers it had
+         generated itself, and with that patch would now stop attaching
+         said padding to the second buffer. By pushing valid, non-padding
+         cc_data we ensure a caption buffer is indeed attached to the first
+         and second video buffers.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-20 13:19:00 +0200  Mats Lindestam <matslm@axis.com>
+
+       * ext/curl/gstcurlsshsink.c:
+       * ext/curl/gstcurlsshsink.h:
+       * tests/check/elements/curlsftpsink.c:
+         curlsftpsink: Add support for sha256 fingerprint
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1193>
+
+2021-10-21 11:09:07 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkvpp.c:
+         msdkvpp: Add 12bit formats
+         Add 12bit formats for different chroma samplings at sink pad and
+         src pad, including P012_LE, Y212_LE and Y412_LE.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1218>
+
+2021-10-25 18:52:24 +0200  Floris <weersproductions@gmail.com>
+
+       * ext/gs/README.md:
+         gs: update README to use fixed versions
+         Use specific versions, instead of relying on 'master'.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
+
+2021-10-25 18:47:46 +0200  Floris <weersproductions@gmail.com>
+
+       * ext/gs/gstgssrc.cpp:
+         gssrc: use default blocksize
+         The blocksize is set to 3 * 1024 * 1024 / 2, which is the default download_size of Google-Cloud-CPP.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/846
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
+
+2021-10-25 16:53:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvah265dec.c:
+         vah265dec: Fix end_picture() vmethod.
+         Since commit 88437a9c the signature of h265decoder's end_picture()
+         changed to return GstFlowReturn, but vah265dec was not updated.
+         This commit fixes this regression.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1248>
+
+2021-10-12 17:32:30 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Fix possible memory leaks
+         At gst_va_dmabuf_allocator_setup_buffer_full, static code analysis tool
+         does not know number of objects in descriptor is always larger than 0 if
+         export_surface_to_dmabuf succeeds. Thus, the tool will assume buf is
+         allocated with mem but not released when desc.num_objects equals to 0
+         and raise a mem leak issue.
+         For gst_va_dambuf_memories_setup, we should also inform the tool that
+         n_planes will be larger than 0 by checking the value at very beginning.
+         Then, the defect similar to above will not be raised during static analysis.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1241>
+
+2021-10-25 01:02:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/af.po:
+       * po/ast.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/ky.po:
+       * po/lt.po:
+       * po/lv.po:
+       * po/mt.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:
+       * po/zh_TW.po:
+         gst-plugins-bad: update translations
+         Fixes #656
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
+
+2021-10-23 19:26:06 +0200  Andoni Morales Alastruey <amorales@fluendo.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+         d3d11: add support for new debug layer versions
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1237>
+
+2021-01-20 12:04:48 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Add "application/vnd.ms-opentype" mimetype detection
+         The "application/vnd.ms-opentype" mimetype is commonly used in many fonts attached in the matroska videos.
+         Assrender should treat it as compatible without the need of parsing the file extension.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1207>
+
+2021-10-22 18:13:46 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/openjpeg/meson.build:
+         wrap: libopenjp2: use patch version 7
+         Add support for win32 build
+         Disable the binary to avoid the thirdparty
+         dependency to be checked.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1229>
+
+2021-10-21 23:35:41 -0300  Martin Reboredo <yakoyoku@gmail.com>
+
+       * gst-libs/gst/vulkan/gstvkutils.c:
+       * gst-libs/gst/vulkan/gstvkutils.h:
+         gstvulkan: Constify code in create_shader
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1226>
+
+2021-10-21 00:33:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+         meson: default to gpl=disabled for gst-plugins-bad and -ugly
+         This will only affect individual/tarball module builds, as the
+         options yield to the parent project which was set to gpl=disabled
+         by default already. We kept it as auto in the original commit
+         to accommodate the need to update cerbero as well, which had to
+         be done separately after the initial commit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1217>
+
+2021-01-20 13:38:03 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Do not iterate over mimetypes without filename
+         No point spending time on iterating and comparing strings if we
+         are going to reject the value due to missing filename anyway.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
+
+2021-01-20 11:46:17 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: Fix mimetype detection
+         Previously gst_structure_has_name was used to get a string to compare with supported mimetypes.
+         This is incorrect as above function returns a user defined structure name which is
+         not the structure mimetype value.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
+
+2021-10-21 19:17:18 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst-libs/gst/vulkan/gstvkdebug.c:
+       * gst-libs/gst/vulkan/gstvkdebug.h:
+       * gst-libs/gst/vulkan/gstvkswapper.c:
+         vulkan/swapper: add some debug logging for surface size and present modes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1219>
+
+2021-10-21 00:28:25 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Replace custom lock with object lock
+         The object lock is sufficient for the task of protecting against
+         object property data races.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:37:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Protect all properties with the lock
+         Avoid blatant data races here.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:36:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Reset src_fps_d together with src_fps_n
+         These fields belong together.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:35:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Clear stored_fields together with stored_frame
+         These fields belong together.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:31:24 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: Reset after changing state to READY
+         Trying to reset before the pads have been deactivated races with the
+         streaming thread. There was also a buggy buffer clear leaving a dangling
+         `stored_frame` pointer around. Use `gst_interlace_reset` so this happens
+         properly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-20 14:34:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * sys/nvcodec/gstnvenc.c:
+       * sys/nvcodec/gstnvh264enc.c:
+         nvh264enc: add constrained-baseline to the caps profiles
+         In practice, when baseline is requested from the encoder it
+         produces constrained baseline, and it is already reflected
+         in the profile-iop flags.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1213>
+
+2021-10-21 01:47:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfplatloader.c:
+       * sys/mediafoundation/meson.build:
+         mediafoundation: Fix for UWP build
+         We don't support D3D11 interop for UWP because some APIs
+         (specifically MFTEnum2) are desktop application only.
+         However, the code for symbol loading is commonly used by both UWP and WIN32.
+         Just link GModule unconditionally which is UWP compatible, and simply don't
+         try to load any library/symbol dynamically when D3D11 interop is unavailable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1216>
+
+2021-10-20 00:54:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * REQUIREMENTS:
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/libmms/gstmms.c:
+       * ext/libmms/gstmms.h:
+       * ext/libmms/meson.build:
+       * ext/meson.build:
+       * meson_options.txt:
+         mms: remove mmssrc plugin
+         Doubtful that anyone still needs that or there are even
+         any streams left out there.
+         MMS was deprecated in 2003 (in favour of RTSP) and support for
+         it was dropped with Microsoft Media Services 2008.
+         https://en.wikipedia.org/wiki/Microsoft_Media_Server
+         https://sdp.ppona.com/news2008.html
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/821
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1211>
+
+2021-10-19 18:18:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * sys/msdk/meson.build:
+       * sys/va/meson.build:
+         meson: va, msdk: simplify dep.get_variable() use
+         With recent Meson versions we can just write dep.get_variable('foo')
+         instead of dep.get_variable(pkgconfig: 'driverdir', internal: 'driverdir').
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+       * tests/validate/meson.build:
+         meson: update for meson.build_root() and .build_source() deprecation
+         -> use meson.project_build_root() or .global_build_root() instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/meson.build:
+       * ext/onnx/meson.build:
+       * ext/opencv/meson.build:
+       * ext/wayland/meson.build:
+       * meson.build:
+       * sys/msdk/meson.build:
+       * tests/check/meson.build:
+         meson: update for dep.get_pkgconfig_variable() deprecation
+         ... in favour of dep.get_variable('foo', ..) which in some
+         cases allows for further cleanups in future since we can
+         extract variables from pkg-config dependencies as well as
+         internal dependencies using this mechanism.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:03:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: clean up conditional paths after version bump
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2020-11-19 18:03:11 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
+
+       * ext/assrender/gstassrender.c:
+         assrender: fix smooth scaling by disabling hinting
+         When ass hinting value is set to anything other than NONE,
+         subtitles cannot use smooth scaling, thus all animations will jitter.
+         The libass author warns about possibility of breaking some scripts when it is enabled,
+         so lets do what is recommended and disable it to get the smooth scaling working.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1201>
+
+2021-05-07 11:11:31 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * ext/srt/gstsrtsink.c:
+         srt: Plug leak of headers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1040>
+
+2020-08-31 17:17:56 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: Avoid crash when best pad gets flushed
+         The 'best' pad might receive a flush event between us picking it and us
+         popping the buffer. In this case, the buffer will be missing.
+         Similar to https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1042>
+
+2021-10-17 11:39:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tools/meson.build:
+         tools: Define G_LOG_DOMAIN for various tools as well
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-01 15:31:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst-libs/gst/adaptivedemux/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/basecamerabinsrc/meson.build:
+       * gst-libs/gst/codecparsers/meson.build:
+       * gst-libs/gst/codecs/meson.build:
+       * gst-libs/gst/d3d11/meson.build:
+       * gst-libs/gst/insertbin/meson.build:
+       * gst-libs/gst/interfaces/meson.build:
+       * gst-libs/gst/isoff/meson.build:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/opencv/meson.build:
+       * gst-libs/gst/play/meson.build:
+       * gst-libs/gst/player/meson.build:
+       * gst-libs/gst/sctp/meson.build:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/uridownloader/meson.build:
+       * gst-libs/gst/va/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/wayland/meson.build:
+       * gst-libs/gst/webrtc/meson.build:
+       * gst-libs/gst/winrt/meson.build:
+         gst-plugins-bad: define G_LOG_DOMAIN for all libraries
+         Fixes #634
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-06 13:38:35 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * ext/aes/meson.build:
+         aes: specify the required OpenSSL version
+         The code in the aes elements assumes OpenSSL >= 1.1.0:
+         - implicit library initialization;
+         - version retrieved with OpenSSL_version(OPENSSL_VERSION);
+         and it fails to build with older versions.
+         Specify the required OpenSSL version explicitly in meson.build so that
+         the elements are excluded on older systems (e.g. Ubuntu 16.04) and the
+         rest of GStreamer can still build.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1067>
+
+2021-10-11 13:05:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadeinterlace.c:
+         vadeinterlace: Accept ANY feature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-11 13:04:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadeinterlace.c:
+         vadeinterlace: Fixate interlace-mode and framerate accordingly.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-14 07:03:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Accept ANY feature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-13 19:27:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Traverse caps features in gst_va_vpp_caps_remove_fields()
+         The previous code had a potential failure for multiple caps features. Now
+         each caps feature in each structure is reviewed, and if it has a supported
+         feature, the structure is processed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-13 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Refactor gst_va_vpp_complete_caps_features()
+         gst_va_vpp_complete_caps_features() now receives the @feature_name to
+         add and return if @caps doesn't provide it.
+         So, instead of two nested loops, now the function is a single loop,
+         traversing @caps to find if each structure already contains the requested
+         @features_name.
+         It's important to add missing caps features with @caps, in order to
+         not lost information.
+         The function caller does the external loop by calling per each
+         available caps feature.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-11 18:57:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Split caps transform in two phases.
+         In order to make more readable the caps transformation, the operation
+         was split in two phases:
+         1. Rangify the supported caps structures.
+         2. Add the missing (and supported) caps features.
+         Step 1 modified its logic, by copying any unrecognized structure.
+         It's a previous step required for allowing ANY caps feature as
+         passthrough.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-08 12:38:04 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Change many GST_{DEBUG, LOG, etc} into _OBJECT
+         Log files with several demuxers running at once can otherwise get
+         confusing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1096>
+
+2021-10-08 12:36:58 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Issue GST_ELEMENT_WARNING for continuity errors
+         The application might want to make use of these.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1096>
+
+2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: bump meson requirement to >= 0.59
+         For monorepo build and ugly/bad, for advanced feature
+         option API like get_option('xyz').required(..) which
+         we use in combination with the 'gpl' option.
+         For rest of modules for consistency (people will likely
+         use newer features based on the top-level requirement).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2021-09-19 00:55:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/dts/meson.build:
+       * ext/faad/meson.build:
+       * ext/iqa/iqa.c:
+       * ext/iqa/meson.build:
+       * ext/mpeg2enc/meson.build:
+       * ext/mplex/meson.build:
+       * ext/resindvd/meson.build:
+       * ext/x265/meson.build:
+       * meson.build:
+       * meson_options.txt:
+         meson: add 'gpl' option and only build plugins with (A)GPL deps if explicitly enabled
+         Require explicit opt-in to build plugins with (A)GPL dependencies.
+         Keep ugly/bad options on 'auto' for now so cerbero doesn't fail.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2020-10-30 16:02:22 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: Support for caps changes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981>
+
+2020-11-12 12:17:14 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: Clean up gst_base_ts_mux_create_stream
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981>
+
+2021-08-31 16:35:06 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Search SCTE-35 DRF_ID_CUEI in multiple registration descriptors
+         There are streams in the wild that have to add a SCTE-35 trigger in
+         another e.g. GA94 stream. Most encoders would replace the GA94
+         descriptor ID with the CUEI one temporarily, but there are some that
+         will add two registration ID descriptors, one with GA94 and one with
+         CUEI.
+         Failing to parse the CUEI registration ID in that case would return
+         FALSE in _stream_is_private_section , therefore setting it as known PES
+         and pushing packets downstream instead of calling handle_psi.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/979>
+
+2021-10-01 14:36:48 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Improve gap detection
+         We should also take into account whether data is currently pending when checking
+         for gap on streams. It could very well be that some streams have very low
+         bitrate (and spread out) data. For those we don't want to push out a gap event.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:57:18 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle "negative" timestamps
+         This is only enabled in push time mode. Furthermore it's only enabled for now if
+         PCR is to be ignored.
+         The problem is dealing with streams where the initial PTS/DTS observation might
+         be greater than following ones (from other PID for example). Before this patch,
+         this would result in sending buffers without any timestamp which would cause a
+         wide variety of issues.
+         Instead, pad segment and buffer timestamps with an extra
+         value (packetizer->extra_shift, default to 2s), to ensure that we can get valid
+         timestamps on outgoing buffers (even if that means they are before the segment
+         start).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:55:55 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle streams with bogus PTS vs DTS
+         PTS and DTS should be within a reasonable distance of each other.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:53:05 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         tsdemux: Handle PTS->TS at wraparound
+         This has been a FIXME for ages.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-10-14 14:07:07 +0100  Rob Agar <rob@engineeredarts.co.uk>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: fix prevention of webrtcbin deletion due to ref held by probe callback
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/810
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1150>
+
+2021-10-16 19:01:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11convert.cpp:
+         d3d11: d3d11{convert,scale}: Add add-borders property
+         Functionally identical to that of videoscale element.
+         When disabled, d3d11convert or d3d11scale element will scale
+         image without adding borders, meaning that display aspect ratio
+         will not be preserved.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1170>
+
+2021-10-16 10:58:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         vapostproc: Add add-borders property to keep dar
+         Just as videoscale, it enables add-borders property (FALSE by default)
+         in vapostproc to add border, if necessary, to keep the display aspect
+         ratio from the original image.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169>
+
+2021-10-16 10:51:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Fix early fixation.
+         First copy missing fields and then fixate all remaining fields.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169>
+
+2021-10-14 19:08:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * ext/meson.build:
+       * ext/ofa/gstofa.c:
+       * ext/ofa/gstofa.h:
+       * ext/ofa/meson.build:
+       * meson_options.txt:
+       * tests/check/elements/ofa.c:
+         ofa: remove ofa audio fingerprinting plugin
+         I think the MusicIP database for this has been defunct for years,
+         so I can't imagine this plugin is particularly useful or still
+         used by anyone.
+         See https://musicbrainz.org/doc/Fingerprinting#PUID
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1153>
+
+2021-10-16 22:43:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/meson.build:
+       * sys/wasapi2/meson.build:
+         meson: wasapi2,mediafoundation: Work around Windows SDK header issue
+         Some SDK headers are not standard compliant, so MSVC will
+         complain when such headers are in use with "/permissive-" compile
+         option. Use "/Zc:twoPhase-" to work around the issue as documented in
+         https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1174>
+
+2021-10-16 09:29:28 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/fdkaac/meson.build:
+         meson: Mark newly fdkaac/ogg/vorbis as allow fallback
+         This way when the dep is `auto` we will fallback if the system
+         dependency is not available.
+         And use https to get libvorbis
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171>
+
+2021-10-16 01:15:06 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfplatloader.c:
+       * sys/mediafoundation/gstmfplatloader.h:
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmftransform.h:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/meson.build:
+       * sys/mediafoundation/plugin.c:
+         mediafoundation: Use GetProcAddress() for OS version dependent symbols
+         We are using some symbols which are not available on Windows 7,
+         specifically D3D11 interop related ones
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1167>
+
+2021-10-06 03:26:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Transfer colorimetry at fixate if possible.
+         Taken from videoconvert element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1110>
+
+2021-10-12 15:52:48 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         meson: Streamline the way we detect when to build documentation
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:39:00 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+       * gst-libs/gst/adaptivedemux/meson.build:
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/basecamerabinsrc/meson.build:
+       * gst-libs/gst/codecparsers/meson.build:
+       * gst-libs/gst/codecs/meson.build:
+       * gst-libs/gst/d3d11/meson.build:
+       * gst-libs/gst/insertbin/meson.build:
+       * gst-libs/gst/interfaces/meson.build:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/opencv/meson.build:
+       * gst-libs/gst/play/meson.build:
+       * gst-libs/gst/player/meson.build:
+       * gst-libs/gst/sctp/meson.build:
+       * gst-libs/gst/transcoder/meson.build:
+       * gst-libs/gst/uridownloader/meson.build:
+       * gst-libs/gst/va/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/wayland/meson.build:
+       * gst-libs/gst/webrtc/meson.build:
+       * meson.build:
+         meson: List libraries and their corresponding gir definition
+         Introduces a `libraries` variable that contains all libraries in a
+         list with the following format:
+         ``` meson
+         libraries = [
+         [pkg_name, {
+         'lib': library_object
+         'gir': [ {full gir definition in a dict } ]
+         ],
+         ....
+         ]
+         ```
+         It therefore refactors the way we build the gir so that we can reuse the
+         same information to build them against 'gstreamer-full' in gst-build
+         when linking statically
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:37:39 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/audio/meson.build:
+       * gst-libs/gst/basecamerabinsrc/meson.build:
+       * gst-libs/gst/codecs/meson.build:
+       * gst-libs/gst/insertbin/meson.build:
+       * gst-libs/gst/mpegts/meson.build:
+       * gst-libs/gst/play/meson.build:
+       * gst-libs/gst/player/meson.build:
+       * gst-libs/gst/vulkan/meson.build:
+       * gst-libs/gst/webrtc/meson.build:
+         meson: Mark files as files()
+         Making it more robust and future proof
+         And fix issues that it creates
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-09-13 17:53:12 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/audio/meson.build:
+         bad:audio: Add generated files sources in declare_dependency
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-10-15 23:18:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmftransform.cpp:
+       * sys/mediafoundation/gstmfutils.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+         mediafoundation: Fix various string constness handling
+         ... with fixing typo (g_strup -> g_strdup)
+         Constness needs to be explicit in C++ world otherwise compiler
+         would complain about that.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1164>
+
+2021-10-15 10:03:46 +0100  Rob Agar <rob@engineeredarts.co.uk>
+
+       * tests/examples/webrtc/webrtcrenego.c:
+         missing transceiver unref in WebRTC renegotiation example
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1160>
+
+2021-10-13 17:17:44 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * tests/examples/va/multiple-vpp.c:
+         tests:va: Fix null ptr dereference in multi-vpp
+         Dereference the pointer err before null check, which raised a null
+         pointer dereference issue by Coverity. Modify it to do the null check
+         of err first, then dereference it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143>
+
+2021-10-13 15:58:29 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/va/gstvadecoder.c:
+         va: Fix null ptr dereference for vadeocder
+         Making a null check in gst_va_decode_picture_free () indicates pic->buffers or pic->slices
+         can be null, then in _destroy_buffers () the pointers are dereferenced, which is detected
+         as dereference after null check by Coverity. Thus, modify the code to do null check in
+         _detroy_buffers ().
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143>
+
+2021-04-05 10:29:37 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: Handle delayed seek events
+         Store the event in case it cannot be processed immediately and process
+         it after the first segment has been produced.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980>
+
+2021-04-05 10:28:51 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: Protect demux->segment_event with a mutex
+         Would otherwise cause weird issues when processing a delayed seek event
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980>
+
+2021-10-14 14:35:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264: Fix wrong type of ret variable
+         This ret is not a GstFlowReturn. This broke v4l2 decoder which does not
+         implement new_picture() virtual function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1154>
+
+2021-10-13 21:45:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11screencapture.cpp:
+       * sys/d3d11/gstd3d11screencapture.h:
+       * sys/d3d11/gstd3d11screencapturedevice.cpp:
+       * sys/d3d11/gstd3d11screencapturedevice.h:
+       * sys/d3d11/gstd3d11screencapturesrc.cpp:
+       * sys/d3d11/gstd3d11screencapturesrc.h:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+       * tests/examples/d3d11/d3d11screencapturesrc.cpp:
+       * tests/examples/d3d11/meson.build:
+         d3d11: Rename screen capture element
+         Old name "desktopdup" may confuse users. Now it's renamed to
+         "screencapture"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1136>
+
+2021-10-05 18:52:25 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.c:
+         transcoder: Set state back to NULL after run() finishes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1063>
+
+2021-09-13 18:02:03 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst-libs/gst/transcoder/gsttranscoder.h:
+         transcoder: Use full path for includes in 'gsttranscoder.h'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1063>
+
+2021-10-12 17:50:31 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * gst-libs/gst/va/gstvadisplay_drm.c:
+         va:display: Don't close an fd with negative value
+         Cannot pass negative parameter to close() and thus no need to apply
+         close() when fd < 0.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-12 17:48:17 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/va/gstvadecoder.c:
+         va: Fix error handling for decoder
+         Need to check if va decoder is closed successfully.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-12 17:44:27 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/va/gstvabasetransform.c:
+         va: Fix error handling for base transform
+         Need to check the returned value of gst_buffer_pool_set_active() when
+         setting the active status of buffer pool.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-13 21:26:53 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/avtp/meson.build:
+         meson:avtp: Error out if sock_txtime is not present and avtp is enabled
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1142>
+
+2021-10-10 01:56:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth265parser.c:
+         codecparsers: {h264,h265}parser: Fix typo around SEI nalu generator
+         Fix to create correct SEI nalu when the size of payloadType and/or
+         payloadType is larger than 255 (0xff)
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1601
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1106>
+
+2021-10-05 20:15:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvavpp.c:
+         vapostproc: Negotiate interlaced.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Copy missing fields at fixate.
+         When caps negotiation implies a caps feature change, some fields might
+         get lost. This patch brings them back from input caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Simplify size fixate.
+         gst_va_vpp_fixate_size() returned the fixated caps, but that is not
+         needed since `othercaps` are modified inline.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvavpp.c:
+         vapostproc: Simplify fixate.
+         The first approach to fixate was simply a copy&paste of both
+         videoconvert and videoscale, trying to keep their logic as isolated
+         as possible. But that brought duplicated and sparse logic.
+         This patch merge both approaches simplifying the fixate operation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 17:41:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvafilter.c:
+       * sys/va/gstvafilter.h:
+       * sys/va/gstvavpp.c:
+         va: filter, deinterlace, vpp: Add gst_va_buffer_get_surface_flags().
+         Add a helper function to get, from GstVideoInfo and GstBuffers flags,
+         the VA interlace surface flags. This is used currently by vainterlace
+         element, but it will be used in vapostproc too if it can process
+         interlaced frames.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-09-22 14:50:40 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+       * sys/msdk/gstmsdkenc.c:
+         msdkenc: fix vp9enc initialization fail
+         MediaSDK does not support to handle extbuff with id
+         MFX_EXTBUFF_VIDEO_SIGNAL_INFO for mjpegenc and vp9enc. Hence, need to
+         exclude mjpeg and vp9 when passing color properties to MediaSDK during
+         msdkenc initialization.
+         Fix issue: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/764
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1101>
+
+2021-10-10 17:04:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * tests/examples/d3d11/d3d11desktopdupsrc.cpp:
+       * tests/examples/d3d11/d3d11device.cpp:
+       * tests/examples/d3d11/d3d11device.h:
+       * tests/examples/d3d11/d3d11videosink-kb.c:
+       * tests/examples/d3d11/d3d11videosink-kb.h:
+       * tests/examples/d3d11/d3d11videosink-shared-texture-d3d9ex.cpp:
+       * tests/examples/d3d11/d3d11videosink-shared-texture.cpp:
+       * tests/examples/d3d11/d3d11videosink.c:
+       * tests/examples/d3d11/meson.build:
+       * tests/examples/meson.build:
+         examples: d3d11: Add a desktop capture example
+         ... with d3d11 desktop capture device provider
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103>
+
+2021-10-05 21:49:38 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdup.cpp:
+       * sys/d3d11/gstd3d11desktopdup.h:
+       * sys/d3d11/gstd3d11desktopdupdevice.cpp:
+       * sys/d3d11/gstd3d11desktopdupdevice.h:
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+       * sys/d3d11/meson.build:
+       * sys/d3d11/plugin.cpp:
+         d3d11: Add device provider for d3d11desktopdupsrc
+         ... and add support for multi-GPU/multi-monitor
+         By using newly added "monitor-handle" property, user can specify a
+         monitor to be captured via HMONITOR handle.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1673
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103>
+
+2021-10-11 15:23:08 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * ext/ttml/gstttmlparse.c:
+       * ext/ttml/gstttmlrender.c:
+         ttml: fix log init
+         The log system should be init before calling a log
+         Fix regression after:
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1112>
+
+2021-10-04 13:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/check/elements/vapostproc.c:
+       * tests/check/meson.build:
+         tests: va: Add VA buffer copy tests.
+         It should only work for raw buffers, but fails on dmabuf since it
+         should have a drm modifier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-06 15:20:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: dmabuf: Use GstVaSurfaceCopy, if possible.
+         If dmabuf-based buffer to copy contains only one memory, and there are
+         memories available in the allocator's pool, it's possible a fast
+         memory copy using GstVaSurfaceCopy, regardless the drm modifier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 15:21:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+         va: allocator: Use GstVaSurfaceCopy.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 13:36:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/gstvasurfacecopy.c:
+       * sys/va/gstvasurfacecopy.h:
+       * sys/va/meson.build:
+       * sys/va/vasurfaceimage.c:
+       * sys/va/vasurfaceimage.h:
+         va: Add GstVaSurfaceCopy class.
+         This new class is a helper for fast/tricky copy of surfaces. First it
+         tries to copy using the function vaCopy in libva 1.12. If it fails, or
+         it's not available, a GstVaFilter is tried to be instantiated with the
+         allocator's parameters, and if succeed, it's used for copying the
+         source surface.
+         This is required for dmabuf surfaces with drm modifier.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 13:21:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvafilter.c:
+       * sys/va/vasurfaceimage.c:
+       * sys/va/vasurfaceimage.h:
+         va: filter: Enable to pass VASurfaceID in GstVaSample.
+         Initially GstVaSample processed its GstBuffer member to get the
+         VASurfaceID. But it might cases where we already have the VASurfaceID
+         to process by the filter.
+         This patch enables the possibility to pass the surfaces rather than
+         the buffers. In order to validate the surfaces a function to check
+         surfaces were added.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-07 21:51:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.c:
+       * sys/va/meson.build:
+       * sys/va/vasurfaceimage.c:
+       * sys/va/vasurfaceimage.h:
+         va: Split VA memory handling in different files.
+         Take out the VA memory wrappers from gstvallocator.c to an external
+         file exposing the functions.
+         This is going to be needed for the copy helper object.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 06:54:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvaallocator.h:
+         va: allocator: Add missing header file.
+         Added stdint.h because uintptr_t is used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-04 21:31:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadisplay_priv.c:
+       * sys/va/gstvadisplay_priv.h:
+         va: display: Add gst_va_display_has_vpp()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-09-30 14:59:31 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+       * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+       * sys/v4l2codecs/linux/v4l2-controls.h:
+         v4l2codecs: Align v4l2-controls header with kernel 5.15-rc3
+         Update v4l2-controls to be aligned with kernel 5.15-rc3.
+         Fix VP8 decoder to use the correct field name.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1081>
+
+2021-10-08 23:07:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfh264enc.cpp:
+       * sys/mediafoundation/gstmfh265enc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.cpp:
+       * sys/mediafoundation/gstmfvideoenc.h:
+       * sys/mediafoundation/gstmfvp9enc.cpp:
+         mediafoundation: mfvideoenc: Use DXGI adapter LUID
+         Make use of new DXGI adapter LUID based device context sharing.
+         Note that we were using DXGI adapter LUID to open MFT already.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 22:37:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11av1dec.cpp:
+       * sys/d3d11/gstd3d11decoder.cpp:
+       * sys/d3d11/gstd3d11decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/d3d11/gstd3d11vp8dec.cpp:
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11: d3d11decoder: Use DXGI adapter LUID
+         ... instead of index of DXGI adapter.
+         The order of IDXGIAdapter1 enumerated via IDXGIFactory1::EnumAdapters1
+         can be varying even there's no rebooting in case that GPU preference order
+         is updated by user (for example, it can be done by using NVIDIA Control Panel
+         in case of multi-GPU laptop system) and eGPU is another possible case.
+         So, for an element which requires fixed target GPU requirement,
+         index based device enumeration is unreliable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 21:39:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.h:
+         d3d11: d3d11utils: Add support for DXGI Adapter LUID based D3D11 device context sharing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 19:41:22 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * gst-libs/gst/d3d11/gstd3d11device.h:
+       * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+       * gst-libs/gst/d3d11/gstd3d11utils.h:
+       * tests/check/libs/d3d11device.cpp:
+       * tests/check/meson.build:
+         d3d11: d3d11device: Add gst_d3d11_device_new_{for_adapter_luid,wrapped}
+         * gst_d3d11_device_new_for_adapter_luid()
+         Used for creating D3D11 device for a DXGI adapter (i.e., GPU)
+         corresponding to a LUID (Locally Unique Identifier).
+         This method can be useful for interop with other APIs such as
+         Direct3D12, MediaFoundation, CUDA, etc.
+         * gst_d3d11_device_new_wrapped()
+         Allows creating a new GstD3D11Device object by using already
+         configured ID3D11Device. This is conceptually equivalent to
+         gst_gl_context_new_wrapped()
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 17:16:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/d3d11/gstd3d11device.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11: d3d11device: Remove "allow-tearing" property
+         Plugin can query DXGI_FEATURE_PRESENT_ALLOW_TEARING without d3d11device
+         help
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 21:14:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+       * tests/check/elements/webrtcbin.c:
+         webrtcbin: Use the same promise reply structure name everywhere
+         This was an inconsistent mix of different names in the past. The name
+         has no meaning at all so let's set all to "application/x-gst-promise".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1099>
+
+2021-10-08 15:44:37 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/debugutils/gstchopmydata.c:
+         chopmydata: Fix FIXMEs in gst_element_class_set_static_metadata
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1097>
+
+2021-10-06 03:19:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+         d3d11: d3d11desktopdupsrc: Add support for non-D3D11 downstream element
+         By this commit, application doesn't need to configure d3d11download
+         element for software pipeline which will make things simpler
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1082>
+
+2021-10-06 22:06:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstav1decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: Use GST_VIDEO_DECODER_ERROR() only for decoding error case
+         The GST_VIDEO_DECODER_ERROR() should be used only for robust/error-resilient
+         decoding purpose. Any other error codes such as not-negotiated or flushing
+         should be returned without modified for upstream to be able to handle
+         it immediately. (for example, application might want to try other
+         decoder element on not-negotiated)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1070>
+
+2021-10-07 01:54:29 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+         codecs: h264decoder: Update for remaining gboolean to GstFlowReturn port
+         Fix for spurious/spammy warning and wrong function return type
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1085>
+
+2021-09-23 17:36:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/openjpeg/meson.build:
+         meson: Fix build with -Dopenjpeg=disabled
+         tests/check/meson.build uses the openjpeg_dep variable
+         unconditionally, and the subdir_done() is useless anyway, since the
+         plugin is only built if openjpeg_dep.found() is true. Fixes:
+         ..\tests\check\meson.build:23:0: ERROR: Unknown variable "openjpeg_dep".
+         In particular, this fixes the build on UWP since we disable openjpeg
+         explicitly in Cerbero when building for UWP.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1069>
+
+2021-10-01 14:35:06 +0200  Guillaume Desmottes <guillaume@desmottes.be>
+
+       * ext/gs/README.md:
+         bad: gs: update README
+         - add one missing dep
+         - change install path to match monorepo
+         - fix current dirs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1008>
+
+2021-09-17 13:02:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadeinterlace.c:
+       * sys/va/gstvavpp.c:
+       * tests/examples/va/main.c:
+         va: Use macro rather than VAMemory feature string.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1061>
+
+2021-09-24 11:53:56 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         mpegtsparse: Don't assert the packet_size when filling for EOS
+         If the packetizer got reset for any reason (failure to find PCR?) then
+         the packet_size can be zero here even though we already enqueued some
+         packets.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1038>
+
+2021-09-22 00:05:43 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstmpeg2decoder.c:
+       * gst-libs/gst/codecs/gstmpeg2decoder.h:
+       * sys/d3d11/gstd3d11mpeg2dec.cpp:
+       * sys/va/gstvampeg2dec.c:
+         codecs: mpeg2decoder: Use GstFlowReturn everywhere
+         boolean return value is not sufficient for representing the reason
+         of error in most cases. For instance, any errors around new_sequence()
+         would mean negotiation error, not just *ERROR*.
+         And some subclasses will allocate buffer/memory/surface on new_picture()
+         but it could be failed because of expected error, likely flushing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-09-21 22:21:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth264decoder.c:
+       * gst-libs/gst/codecs/gsth264decoder.h:
+       * sys/d3d11/gstd3d11h264dec.cpp:
+       * sys/nvcodec/gstnvh264dec.c:
+       * sys/v4l2codecs/gstv4l2codech264dec.c:
+       * sys/va/gstvah264dec.c:
+         codecs: h264decoder: Use GstFlowReturn everywhere
+         boolean return value is not sufficient for representing the reason
+         of error in most cases. For instance, any errors around new_sequence()
+         would mean negotiation error, not just *ERROR*.
+         And some subclasses will allocate buffer/memory/surface on new_picture()
+         but it could be failed because of expected error, likely flushing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-09-21 00:23:13 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gsth265decoder.c:
+       * gst-libs/gst/codecs/gsth265decoder.h:
+       * sys/d3d11/gstd3d11h265dec.cpp:
+       * sys/nvcodec/gstnvh265dec.c:
+       * sys/va/gstvah265dec.c:
+         codecs: h265decoder: Use GstFlowReturn everywhere
+         boolean return value is not sufficient for representing the reason
+         of error in most cases. For instance, any errors around new_sequence()
+         would mean negotiation error, not just *ERROR*.
+         And some subclasses will allocate buffer/memory/surface on new_picture()
+         but it could be failed because of expected error, likely flushing
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-10-02 21:22:23 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/closedcaption/bit_slicer.c:
+       * ext/closedcaption/io-sim.c:
+       * ext/closedcaption/misc.h:
+       * ext/closedcaption/sampling_par.c:
+         closedcaption: Fix broken debug function macros with MSVC build
+         warning C4003: not enough arguments for function-like macro invocation 'warning'
+         G_STMT_END macro is extended to the below form with MSVC
+         __pragma(warning(push)) \
+         __pragma(warning(disable:4127)) \
+         while(0) \
+         __pragma(warning(pop))
+         So MSVC preprocessor will extend it further to
+         __pragma(VBI_CAT_LEVEL_LOG(push)) ...
+         Should rename warning() debug macro function therefore.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1018>
+
+2021-10-02 20:12:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         mpegtsmux: basetsmux: Don't try to return value from void function
+         gstbasetsmux.c(1508): warning C4098: 'free_splice': 'void' function returning a value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1018>
+
+2021-10-03 16:53:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/gstvadevice.c:
+       * sys/va/meson.build:
+         va: Make libgudev dependency optional.
+         libgudev is a problematic dependency, particularly in sandboxed
+         environments, such as flatpak.
+         This patch implements a way to get the available VA devices using
+         brute-forced traverse of /dev/drm/renderD* directory. Thus usable in
+         those sandboxed environments.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1027>
+
+2021-10-03 15:45:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst-libs/gst/va/meson.build:
+       * sys/va/meson.build:
+         va: meson: Move back libgudev dependency to plugin.
+         When move the libgstva, libgudev dependency was moved as part of the
+         library, though it's not use by the library but the plugin. This patch
+         moves back libgudev dependency to the plugin.
+         Also HAVE_LIBDRM is move to the library which is the one who use it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1027>
+
+2021-10-03 19:14:07 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvdecoder.c:
+       * sys/nvcodec/gstnvh264dec.c:
+         nvcodec: nvh264sldec: Add support for interlaced stream
+         Implement missing interlaced stream support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 17:41:40 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvh264dec.c:
+         nvcodec: nvh264sldec: Consider additional render delay DPB pictures
+         At least additional 4 pictures are required
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 17:37:02 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvcodec: nvvp9sldec: Fix for VP9 profile2 decoding
+         Fix for output video format to be selected correctly
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 02:14:17 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/msdk/meson.build:
+         msdk: meson: Fix build on Windows
+         subprojects\gst-plugins-bad\sys\msdk\meson.build:160:2: ERROR: Unknown variable "libva_dep".
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1022>
+
+2021-10-03 01:45:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11vp9dec.cpp:
+         d3d11: d3d11vp9dec: Fix use_prev_in_find_mv_refs value setting
+         "last_show_frame" should be updated based on
+         GstVp9FrameHeader::show_frame, not show_existing_frame
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1021>
+
+2021-09-18 22:51:53 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: {vp8,vp9}decoder: Drain on new_sequence()
+         Decoder should drain queued frame (if any) and empty DPB before
+         starting new sequence.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 00:27:42 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/nvcodec/gstnvvp8dec.c:
+       * sys/nvcodec/gstnvvp9dec.c:
+         nvcodec: nv{vp8,vp9}sldec: Implement get_preferred_output_delay()
+         Equivalent to that of nvh264sldec. Use render delay in case of non-live
+         pipeline for the better throughput performance.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 01:00:24 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+         codecs: {vp8,vp9}decoder: Cleanup drain code
+         Make them consistent with h26x decoder baseclass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 02:58:44 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp8decoder.c:
+         codecs: vp8decoder: Fix typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-02 20:21:41 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.c:
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: vp9decoder: add support for render delay
+         Some decoding APIs support delayed output for performance reasons.
+         One example would be to request decoding for multiple frames and
+         then query for the oldest frame in the output queue.
+         This also increases throughput for transcoding and improves seek
+         performance when supported by the underlying backend.
+         Introduce support in the vp9 base class, so that backends that
+         support render delays can actually implement it.
+         Co-authored by Seungha Yang <seungha@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-02 19:47:45 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/codecs/gstvp9decoder.h:
+         codecs: vp9decoder: Fix class struct documentation
+         s/GstVp9Decoder/GstVp9DecoderClass
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-09-30 17:38:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/va/meson.build:
+         va: meson: Update and enhance meson syntax usage.
+         This patch contains two updates:
+         1. Instead of checking for dependency already checked just to verify a
+         version, we use the dependency version API.
+         2. Update the deprecated function get_pkgconfig_variable.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/997>
+
+2021-09-30 17:43:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * sys/msdk/meson.build:
+         msdk: meson: Don't get dependency variable before it's valid.
+         It's possible to have installed MediaSDK environment
+         package (libmfx-dev in Debian) without libva environment package. This
+         setup will lead to a breakage of meson configuration.
+         The fix is to get the libva's driver directory variable after the
+         dependency is validated as found.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/998>
+
+2021-09-30 13:32:44 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rist/gstristsink.c:
+         ristsink: set sync to FALSE on RTCP sink
+         See commit 921e9a54: rtpsink: set sync off on rtcp_sink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/993>
+
+2021-09-30 13:19:40 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsink.c:
+         rtpsink: set sync off on rtcp_sink
+         When using the following setup (the error can be reproduced using
+         simpler sender pipelines), the receiver resynchronises the clock on RTCP
+         packets. The effect was that a couple seconds were cut out of the
+         playback because an initial RTCP packet was dropped.
+         When sending out all RTCP packets (setting sync=FALSE on the RTCP
+         updsink), the playback is fine.
+         This syncs rtpsink with rtpsrc (where this property was already set).
+         gst-launch-1.0 filesrc location=899-en.mp3 \
+         ! mpegaudioparse \
+         ! mpg123audiodec \
+         ! audioconvert \
+         ! audioresample \
+         ! avenc_g722 \
+         ! rtpg722pay
+         ! rtpsink uri=rtp://239.1.2.3:1234
+         gst-launch-1.0 uridecodebin rtp://239.1.2.3:1234?encoding-name=G722 \
+         ! autoaudiosink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/993>
+
+2020-09-17 15:06:38 +0200  Marc Leeman <m.leeman@televic.com>
+
+       * gst/rtp/gstrtpsrc.c:
+       * tests/check/elements/rtpsrc.c:
+         rtpmanagerbad: do not set iface on sink
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/994>
+
+2021-08-27 19:19:57 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/mediafoundation/gstmfdevice.c:
+       * sys/mediafoundation/gstwin32devicewatcher.cpp:
+       * sys/mediafoundation/gstwin32devicewatcher.h:
+       * sys/mediafoundation/meson.build:
+         mfdeviceprovider: Add support for device update
+         Similar to the wasapi2 plugin, GstWinRT library will be used for UWP,
+         and adding new GstWin32DeviceWatcher object implementation for
+         Win32 desktop application.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-08-26 22:38:37 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/wasapi2/gstwasapi2device.c:
+       * sys/wasapi2/gstwasapi2device.h:
+       * sys/wasapi2/meson.build:
+       * sys/wasapi2/plugin.c:
+         wasapi2deviceprovider: Add support for device update
+         ... by using newly implemented GstWinRT library
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-08-26 19:47:51 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst-libs/gst/meson.build:
+       * gst-libs/gst/winrt/gstwinrt.h:
+       * gst-libs/gst/winrt/gstwinrtdevicewatcher.cpp:
+       * gst-libs/gst/winrt/gstwinrtdevicewatcher.h:
+       * gst-libs/gst/winrt/meson.build:
+       * gst-libs/gst/winrt/winrt-prelude.h:
+         libs: Introduce GstWinRT library
+         Adding a helper library for various WinRT specific implementations.
+         Currently this library supports only DeviceWatcher abstraction object
+         which can be used for dynamic device add/remove detection.
+         See also
+         https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.devicewatcher?view=winrt-20348
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * README:
+       * RELEASE:
+         doc: update IRC links to OFTC
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
+
+2021-09-18 23:37:20 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+       * sys/d3d11/gstd3d11window.cpp:
+         d3d11videosink: Add support for crop meta
+         ... when upstream element is d3d11.
+         Note that, if upstream element is not d3d11, crop meta is almost
+         pointless since d3d11videosink will upload video frame to GPU memory
+         in any case.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933>
+
+2021-09-18 23:37:59 +0900  Seungha Yang <seungha@centricular.com>
+
+       * sys/d3d11/gstd3d11videosink.cpp:
+         d3d11videosink: Perform propose_allocation() even when we have no configured window
+         In order to support d3d11 device update, d3d11videosink will configure
+         window on the first buffer. So, there might not be configured
+         window when propose_allocation() is required.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933>
+
+2021-09-27 15:30:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gs/gstgscommon.cpp:
+       * ext/gs/gstgscommon.h:
+       * ext/gs/gstgssink.cpp:
+       * ext/gs/gstgssrc.cpp:
+         gs: Add support for authenticating via Service Account Credentials
+         This allows authenticating directly with Server Account credentials
+         instead of having it configured on host system separately, and thus
+         allows using arbitrary accounts configured/selected at runtime.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/934>
+
+2021-09-27 14:56:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gs/gstgs.cpp:
+       * ext/gs/gstgscommon.cpp:
+       * ext/gs/gstgscommon.h:
+       * ext/gs/gstgssink.cpp:
+       * ext/gs/gstgssink.h:
+       * ext/gs/gstgssrc.cpp:
+       * ext/gs/gstgssrc.h:
+         gs: Fix indentation and make it consistent
+         Apparently this partially used clang-format's default settings, so let's
+         use that for everything now.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/934>
+
+2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
+
+2021-09-23 19:30:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/webrtc/gstwebrtcbin.c:
+         webrtcbin: Always set SINK/SRC flags
+         webrtcbin can act as a sink/source depending on the SDP later. Without
+         setting this here already, surrounding bins might not notice this and
+         the pipeline configuration might become inconsistent, e.g. with regards
+         to latency.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/737
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/900>
+
+2021-09-25 00:09:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegts: add missing Since comments after SCTE 35 work
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-06-08 23:25:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: use private copy of g_ptr_array_copy
+         This function is only present since glib 2.62
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-05-04 14:38:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: fix SCTE pts_adjustment with offsets
+         When there are elements between the demuxer and the muxer that
+         introduce an offset to the running time, or when offsets are
+         set on pads by the application, this shift must be taken into
+         account when calculating the final pts_adjustement.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:22:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+       * gst/mpegtsmux/gstbasetsmux.c:
+         basetsmux: rework SCTE section handling to handle passthrough
+         mpegtsmux can receive SCTE sections from two origins: events
+         created by the application, and events forwarded downstream by
+         mpegtsdemux, containing sections that may not have been fully
+         parsed, and additional data to help tsmux translate times to
+         the correct domain, both for requesting keyframes and calculating
+         an accurate pts_adjustment.
+         The complete approach is documented further in a comment above
+         the relevant function.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:19:21 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+         mpegtspacketizer: handle "packetizing" already packetized data
+         .. when the section didn't have a packetizer. This can happen
+         as a result of building a new section from a copy of the original
+         data of another section.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:15:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: switch SCTE 35 sections handling to a passthrough model
+         Instead of modifying the splice times in the incoming sections
+         to running time and expecting eg mpegtsmux to convert those back
+         to its local PES time domain, which might be impossible when
+         those splice times are encrypted or the specification is extended,
+         transmit the needed information to the muxer as separate fields in
+         the event:
+         * A pts offset field can be used by the muxer in order to calculate
+         a final pts_adjustment
+         * A rtime_map can be used by the muxer to determine the correct
+         running times at which it should request keyframes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-14 00:27:16 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+         scte-section: add support for packetizing splice_program_flag='0'
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:56:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+         scte-section: add support for packetizing schedule events
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:42:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+         scte-section: Add TODO for porting to gst_bit_*
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:38:16 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+         scte-section: add support for parsing splice components
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:51:09 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+         scte-section: add support for SCHEDULE commands
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:47:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+         scte-section: fix typo
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:44:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+         gst-scte-section: implement partial parsing
+         In cases where either the SIT is encrypted, or an unknown
+         command is encountered, we still want to send an event downstream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 17:57:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+       * tests/examples/mpegts/ts-scte-writer.c:
+         scte35-section: semantic API break
+         Document that the constructors for the splice events expect
+         a running time, as users of the API can not be expected to
+         predict the appropriate local PTS.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 17:37:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.c:
+         scte-section: add support for packetizing time_signal splices
+         time_signal splices are trivial, they only contain a splice_time()
+         and all the relevant information is carried in descriptors.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:58:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsmux/gstbasetsmux.c:
+       * gst/mpegtsmux/gstbasetsmux.h:
+         basetsmux: extend SCTE 35 support
+         Makes it possible to support passing SCTE 35 cue points from
+         demuxer to muxer, while preserving correct timing.
+         This will also improve ex nihilo cue points injection, as splice
+         times and durations are now interpreted as running time values,
+         and may trigger key unit requests.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:36:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst_plugins_cache.json:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: Expose send-scte35-events property
+         When enabled, SCTE 35 sections (eg ad placement opportunities)
+         are forwarded as events donwstream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:26:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegtsbase: expose vmethod to let subclass handle sections
+         This can be used by tsdemux to handle and forward SCTE 35
+         sections.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:23:09 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gstmpegtssection.c:
+       * gst-libs/gst/mpegts/gstmpegtssection.h:
+         mpegtssection: expose event constructor
+         This allows the demuxer to forward sections of interest downstream,
+         for example SCTE 35 splice information. These can then be reinjected
+         appropriately by a muxer for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:21:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst-libs/gst/mpegts/gst-scte-section.h:
+         scte-section.h: fix type macros
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
 === release 1.19.2 ===
 
 2021-09-23 01:34:47 +0100  Tim-Philipp Müller <tim@centricular.com>
 
 === release 0.10.21 ===
 
+('0', '10', '21')
 2011-01-21 21:13:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
        * ChangeLog:
          every file but apart from that no changes compared to the latest
          SVN versions happened.
 
-=== release 0.10.21 ===
-
 2008-09-01 16:05:45 +0000  Edward Hervey <bilboed@bilboed.com>
 
          tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
          (deinterleave_suite):
          Add some more deinterleave unit test bits I had locally.
 
-=== release 0.10.20 ===
-
 2008-05-14 13:57:41 +0000  Tim-Philipp Müller <tim@centricular.net>
 
          gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
          Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
          plug-ins are included/excluded. (#498222)
 
-=== release 0.10.19 ===
-
 2008-03-03 06:04:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
          Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
          (gst_speex_resample_update_state):
          Only post the latency message if we have a resampler state already.
 
-=== release 0.10.17 ===
-
 2007-11-23 10:21:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
          gst/audioresample/gstaudioresample.c: Implement latency query.
          work with earlier versions due to GstChildProxy brokeness).
          Also up requirements to last released core/base.
 
-=== release 0.10.15 ===
-
 2007-04-27 15:33:46 +0000  Julien Moutte <julien@moutte.net>
 
          ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
          Original commit message from CVS:
          move amrwb code
 
-=== release 0.10.12 ===
-
 2007-01-04 12:49:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
          configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...