Release 1.19.2
authorTim-Philipp Müller <tim@centricular.com>
Thu, 23 Sep 2021 00:33:39 +0000 (01:33 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 23 Sep 2021 00:33:41 +0000 (01:33 +0100)
ChangeLog
NEWS
RELEASE
docs/gst_plugins_cache.json
gst-plugins-good.doap
meson.build

index 8f54dc5..f997cc9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.19.2 ===
+
+2021-09-23 01:33:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.19.2
+
+2021-09-22 14:03:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtph263pdepay.c:
+         rtph263pdepay: flag keyframes on output buffers
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1091>
+
+2021-08-18 19:47:40 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtphdrext-twcc.c:
+         rtphdrhext-twcc: Return failure on map failure
+         This feels like exactly like a case that should fail.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
+
+2021-08-18 19:46:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtphdrext-colorspace.c:
+       * gst/rtpmanager/gstrtphdrext-rfc6464.c:
+       * gst/rtpmanager/gstrtphdrext-twcc.c:
+         rtphdrext: Update write() API to return a signed value
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
+
+2021-09-14 17:26:27 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Try to build AAC codec-data whenever it's possible
+         AAC codec_data is a just collection of AAC profile, samplerate, and
+         channels. We can know samplerate and channels from parsed
+         SampleEntry data. Although the AAC profile is unknown there,
+         let's assume it as AAC-LC like we've been doing for the version 1
+         atom.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1082>
+
+2021-09-07 22:23:01 +0200  Vivienne Watermeier <vwatermeier@igalia.com>
+
+       * gst/flv/gstflvdemux.c:
+       * gst/flv/gstflvdemux.h:
+         flv: fix seqnum handling for seeks
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1078>
+
+2021-01-18 16:06:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4: also allow muxing different h264/5 profiles/levels/etc
+         All of that is advertised through the codec_data itself so can change
+         just fine within isomp4.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1071>
+
+2021-09-11 09:24:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-ids.h:
+       * gst/matroska/matroska-mux.c:
+         matroska: Add support for muxing/demuxing ffv1
+         Previously only demuxing when stored via the RIFF/AVI mapping was
+         supported.
+         See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#matroska-file-format
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1080>
+
+2021-09-12 12:18:32 +0100  Philippe Normand <philn@igalia.com>
+
+       * docs/gst_plugins_cache.json:
+         docs: Update cache
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1081>
+
+2021-08-03 19:12:11 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/jpeg/gstjpegdec.c:
+         jpegdec: Fix crash when interlaced field height is not DCT block size aligned
+         In case of interlaced JPEG file, we are doubling stride.
+         The scratch scan line should take account of it as well.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>
+
+2021-09-02 08:38:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/avi/gstavidemux.c:
+         avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
+         This works around some AVI files storing byte-stream data in the
+         codec_data. The previous workaround was only checking for
+         0x00000001 (4 bytes) instead of 0x000001 (3 bytes).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1072>
+
+2021-08-31 11:05:16 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/qt/qtitem.cc:
+         qt: Fix build for Qt 5.9
+         The QQuickItem::size() method was introduced in 5.10, so use direct width() and
+         height() access instead.
+         Fixes #908
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1069>
+
+2021-08-19 10:32:27 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/rtphdrextrfc6464.c:
+         rtphdrext-rfc6464: Add test for inserting in payloader using the API
+         This makes it clearer how to use the plugin in an API driven application.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
+
+2021-08-18 19:36:07 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtphdrext-rfc6464.c:
+         rtphdrext-rfc6464: Put max level if the audio is beyond it
+         Otherwise, it just fails to add the extension, which makes no
+         sense. And our level element produces levels higher than 127 in some
+         cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
+
+2021-08-18 19:35:36 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtphdrext-rfc6464.c:
+         rtphdrext-rfc6464: Add example pipeline
+         This makes it a bit easier to understand how to use it in an application.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
+
+2021-08-18 19:07:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/rtphdrextrfc6464.c:
+         rtphdrext-rfc6464: Add test for inserting it based on caps
+         Tests adding the extension based on the caps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
+
+2021-08-27 14:32:45 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Force stream-start push when re-using EOS'd streams
+         When re-using streams, we *do* need to push a `stream-start` event downstream if
+         we previously were EOS'd. Failure to do that would never remove the EOS status
+         on all downstream elements and cause weird issues.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1067>
+
+2021-08-27 02:05:45 -0400  Brad Smith <brad@comstyle.com>
+
+       * gst/deinterlace/meson.build:
+         deinterlace: Use proper ASM output format for *BSD OS
+         FreeBSD/NetBSD/OpenBSD amd64 use the ELF binary format.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1066>
+
+2021-08-27 13:30:57 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/qtitem.cc:
+         qmlgl: don't critical on input events before input format has been set
+         Accessing the unset GstVideoInfo would result in criticals
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1065>
+
+2021-08-25 11:53:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         docs: Add `Since` marker to "twcc-feedback-interval" property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-08-25 10:33:24 +0200  Havard Graff <havard@pexip.com>
+
+       * docs/gst_plugins_cache.json:
+         docs: update with "twcc-feedback-interval"
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-04-13 16:19:22 +0200  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpstats.h:
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: changes to use rtp buffer arrival time and current time.
+         For TWCC we are more interested to track the arrival time (receive side)
+         and the current time (sender side) of the buffers rather than the
+         running time.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-03-26 11:57:42 +0100  Knut Inge Hvidsten <knut.hvidsten@pexip.com>
+
+       * gst/rtpmanager/rtpstats.c:
+       * gst/rtpmanager/rtptwcc.c:
+       * gst/rtpmanager/rtptwcc.h:
+         rtptwcc: add payloadtype to RTPTWCCPacket
+         The consumer of the stats can then separate between different media-types,
+         and do individual stats for each of them.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-03-19 18:19:43 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+         rtptwcc: make enabling TWCC sticky
+         Meaning that if a caps comes along that does NOT have TWCC in it,
+         this does not turn of TWCC for the rest, as this is in fact
+         completely allowed. (To have some payload-types not containing TWCC
+         seqnums).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-02-23 09:44:05 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtptwcc.c:
+       * gst/rtpmanager/rtptwcc.h:
+         rtptwcc: move TWCC-logic over to the TWCC-manager
+         Prevent cluttering up the rtpsession, and keeping things localized.
+         Also write TWCC-seqnums for *all* streams in the session if configured by
+         caps.
+         A while back WebRTC was not doing TWCC for audio, basically breaking the
+         whole idea of a "transport-wide seqnuencenumber" applying for all bundled
+         streams. However, they have since fixed this, and now it no longers
+         makes sense to be able to single out certain payloadtypes for
+         use with TWCC, rather just including them all.
+         This also makes using RTX, RED, FEC etc much simpler, as it will apply
+         to them all as they enter the rtpsession.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-02-23 09:50:04 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+         rtptwcc: fix warning
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-02-11 15:17:16 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: fixes and optimizations around run-length chunks
+         Co-authored-by: Havard Graff <havard.graff@gmail.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-12-18 14:01:23 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: fix seqnum-wrap
+         Using the proper API to do this is obviously an improvement, and
+         adding a test for the case of a packet-loss when the seqnum wrap
+         is also a good idea.
+         Co-authored-by: Tulio Beloqui <tulio.beloqui@pexip.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-12-18 13:06:35 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: fixed feedback packet count overflow that allowed late packets to be processed
+         Co-authored-by: Havard Graff <havard.graff@gmail.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-12-16 16:31:18 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: fixed parsing of old sequence number
+         Co-authored-by: Havard Graff <havard.graff@gmail.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-12-16 16:16:09 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: fixed guint8 overflow of feedback packet count
+         Co-authored-by: Havard Graff <havard.graff@gmail.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-11-19 23:50:23 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtptwcc.c:
+       * gst/rtpmanager/rtptwcc.h:
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: add feedback-interval
+         To allow RTCP TWCC reports to be scheduled on a timer instead of per
+         marker-bit.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-08-20 11:54:01 +0200  Havard Graff <havard@pexip.com>
+
+       * gst/rtpmanager/rtptwcc.c:
+       * gst/rtpmanager/rtptwcc.h:
+         rtptwcc: remove _set_send_packet_ts
+         Not in use.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2020-11-17 00:45:02 +0100  Havard Graff <havard@pexip.com>
+
+       * tests/check/elements/rtpsession.c:
+         rtptwcc: make twcc-tests more deterministic
+         They were a bit racy.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
+
+2021-08-24 13:28:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: add depth for ProRes 4:4:4:4 variants if available
+         Might be 24bpp in case an alpha channel is coded but
+         the image is always opaque.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061>
+
+2021-08-22 23:16:26 +0000  Ruslan Khamidullin <ruslank@borisfx.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: for Apple ProRes, allow overriding pixel bit depth for 4:4:4:4 variants
+         e.g. when exporting an opaque image, yet with alpha channel.
+         Apple ProRes certification requires that, when a ProRes-writing
+         application *knows* that the entire frame is opaque, the application
+         writes only RGB without alpha even when the clip is RGBA. For that,
+         this tiny change allows the app to override pixel depth when writing ProRes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061>
+
+2019-05-22 11:16:56 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * ext/vpx/gstvpxdec.c:
+       * ext/vpx/gstvpxdec.h:
+         vpxdec: Fix direct rendering, avoid holding write access
+         When a buffer is pushed downstream, we should try not to hold the
+         buffer mapped with write access. Doing so would often lead to
+         an unneccesary memcpy later.
+         For instance, gst_buffer_make_writable() in
+         gst_video_decoder_finish_frame() will cause a memcpy because of
+         _memory_get_exclusive_reference().
+         We know that we can perform a two-step remap when using system
+         memory, as this will not cause the location of the memory to
+         change.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/812>
+
+2021-08-19 16:26:17 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4/mux: add a function for seeking to a specific output byte position
+         We do it enough times that this makes sense.  Also add a debug log line
+         for the seek position requested.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
+
+2021-08-19 16:02:47 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/atoms.c:
+         isomp4/mux: don't overwrite with a bigger moov when fragmenting
+         When outputting fragmented mp4, with a seekable downstream, we rewrite
+         the moov to maybe add a duration to the mvex.  If we start by not
+         writing the initial moov->mvex->mhed duration and then overwrite with a
+         moov containing mhed atom, the moov's will have different sizes and
+         could overwrite subsequent data and result in an unplayable file.
+         e.g. The initial moov would be of size 842 and the final moov would have
+         a size of 862.
+         Fix by always pushing out the mhed duration in the moov when
+         fragmenting.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/898
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
+
+2021-01-15 20:53:27 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4: actually make streamable fallback work
+         We weren't setting the fragment_mode field anymore now that the
+         implementation doesn't change based on the value of the streamable
+         property.  This lead to invalid files.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
+
+2021-01-15 20:54:56 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4: fix trun data offset handling
+         The trun offset was missing a calculation for one of the box type
+         headers.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/866
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
+
+2020-10-15 00:28:36 +1100  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/atoms.c:
+       * gst/isomp4/gstqtmux.c:
+         isomp4/mux: fixes for fragmented mp4 output
+         Various buffer offset calculations were not quite correct in all cases.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/866
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
+
+2021-08-10 00:53:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+       * gst/matroska/matroska-mux.c:
+         matroska-mux: support H264 avc3 / H265 hev1
+         The matroska codec specs is unfortunately vague on the subject,
+         stating for H264:
+         AVC/H.264 stored as described in [@!ISO.14496-15]
+         and for H265:
+         HEVC/H.265 stored as described in [@!ISO.14496-15]
+         This spec however specifies multiple stream formats, our
+         implementation has opted for interpreting this as avc1 / hvc1,
+         both of which disallow in-band SPS.
+         Most decoders however will support in-band SPS / PPS, and
+         this commit gives the option to explicitly mux in avc3 / hev1,
+         which allows changing stream parameters on the fly, that is
+         useful for smart encoding for example.
+         When either of these stream formats are picked as the input,
+         changes in codec_data / tier / level / profile do not cause
+         renegotiation failure, a warning is logged however as it isn't
+         clear how compliant such a stream is.
+         The stream-format field is correctly ordered in the template
+         caps to avoid selecting potentially non-compliant options on
+         automatic negotiation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
+
+2021-08-10 00:51:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4/qtmux: allow renegotiating when tier / level / profile change
+         Those are carried either in codec_data or in-band SPS (for avc3),
+         and it is OK for those to change, though decoders obviously need
+         to support it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
+
+2021-08-06 23:36:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+       * gst/isomp4/gstqtmuxmap.c:
+         isomp4/qtmux: accept video/x-h264, stream-format=avc3
+         The main difference between avc1 and avc3 is that avc3 is allowed
+         to contain in-band SPS / PPS. In practice decoders will always use
+         in-band parameter sets anyway, but it is cleaner to explicitly
+         advertise it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
+
+2021-08-06 22:59:23 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         isomp4/qtmux: make sure to switch to next chunk on new caps
+         For example, with single video sink pad, and new codec_data is
+         received, current_chunk_offset must be reset to -1 for the
+         aggregate loop to open a new chunk.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
+
+2021-08-06 22:55:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/atoms.c:
+         isomp4/atoms: fix multiple stsd entries
+         stsd entries are serialized in reverse order (starting from
+         g_list_last()), and must be prepended to the entry list for their
+         index to be correct when referenced from stsc entries.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
+
+2021-08-12 11:03:58 -0400  Arun Raghavan <arun@asymptotic.io>
+
+       * docs/gst_plugins_cache.json:
+       * gst/matroska/matroska-mux.c:
+       * gst/matroska/matroska-mux.h:
+         matroska-mux: Add a timestamp-offset property
+         Adds a user-controllable timestamp offset to clusters and blocks. This
+         should be useful if we want to have timestamps that have significance
+         outside of the current file (for example, we might set the offset to the
+         wallclock when the file is being created, or some other common base, if
+         we want to correlate streams across multiple files).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1051>
+
+2021-07-15 12:02:40 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroska: demux: update stream_start_time
+         The stream_start_time can be less than the first detected.
+         In case of B-Frame based media, the first frame PTS might be
+         greater than the next one.
+         Need to keep the segment.start if a seek has been performed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1030>
+
+2021-08-17 16:08:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/matroska/matroska-demux.c:
+         mastrokademux: Remove redundant assignment
+         The segment.position is unconditionnaly set few lines below.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1030>
+
+2021-08-17 16:49:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/videocrop/gstvideocrop.c:
+       * tests/icles/videocrop-test.c:
+         videocrop: Fix icles tests.
+         Internally videcrop can call gst_video_crop_set_info() with NULL as in
+         caps. Then critical messages are raised when the in caps are
+         processed.
+         To fix this the in caps are checked, and if they are present, its
+         capsfeature is extracted, otherwise, the previous raw caps detection
+         remains as before.
+         Also the videocrop-test removes the format field in the structure
+         because now its always passed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1056>
+
+2021-01-08 17:34:02 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+       * gst/rtp/gstrtp.c:
+       * gst/rtp/gstrtpelements.h:
+       * gst/rtp/gstrtphdrext-colorspace.c:
+       * gst/rtp/gstrtphdrext-colorspace.h:
+       * gst/rtp/meson.build:
+       * tests/check/elements/rtphdrext-colorspace.c:
+       * tests/check/meson.build:
+         rtp: Color Space header extension
+         Implements WebRTC header extension defined in
+         http://www.webrtc.org/experiments/rtp-hdrext/color-space.
+         It uses RTP header to communicate color space information and optionally
+         also metadata that is needed in order to properly render a high dynamic
+         range (HDR) video stream.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/853>
+
+2021-08-09 10:46:30 +0800  Hou Qi <qi.hou@nxp.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2: Add protection when set decoder capture fps accroding to output fps
+         Some v4l2 drivers don't have the capacity to change framerate. There is
+         chance to make decoder capture fps to be 0/0 if numerator and denominator
+         returned by G_PARM ioctl are both 0. It causes critical warning
+         "passed '0' as denominator for `GstFraction'".
+         In order to fix this, add protection when set decoder capture fps according
+         to output fps.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1048>
+
+2021-06-01 15:33:01 +0200  Per Förlin <perfn@axis.com>
+
+       * docs/gst_plugins_cache.json:
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/rtsp/gstrtspsrc.h:
+         rtspsrc: Add support to ignore x-server HEADER reply
+         When connecting to an RTSP server in tunnled mode (HTTP) the server
+         usually replies with a x-server header. This contains the address
+         of the intended streaming server. However some servers return an
+         "invalid" address. Here follows two examples when it might happen.
+         1. A server use Apache combined with a separate RTSP process to handle
+         Https request on port 443. In this case Apache handle TLS and
+         connects to the local RTSP server, which results in a local
+         address 127.0.0.1 or ::1 in the x-server reply. This address is
+         returned to the actual RTSP client in the x-server header.
+         The client will receive this address and try to  connect to it
+         and fail.
+         2. The client use a ipv6 link local address with a specified scope id
+         fe80::aaaa:bbbb:cccc:dddd%eth0 and connects via Http on port 80.
+         The RTSP server receives the connection and returns the address
+         in the x-server header. The client will receive this address and
+         try to connect to it "as is" without the scope id and fail.
+         In the case of streaming data from RTSP servers like 1. and 2. it's
+         useful to have the option to simply ignore the x-server header reply
+         and continue using the original address.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1007>
+
+2021-08-04 12:33:06 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/qtitem.cc:
+         gstqmlgl: fix indent
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 16:52:23 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/gstqsgtexture.cc:
+       * ext/qt/gstqsgtexture.h:
+         gstqmlgl: wrap raw GstGLContext into GWeakRef
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 16:32:13 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * tests/examples/qt/meson.build:
+       * tests/examples/qt/qmlsink-multisink/main.cpp:
+       * tests/examples/qt/qmlsink-multisink/main.qml:
+       * tests/examples/qt/qmlsink-multisink/meson.build:
+       * tests/examples/qt/qmlsink-multisink/qmlsink-multi.qrc:
+       * tests/examples/qt/qmlsink-multisink/videoitem/VideoItem.qml:
+       * tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:
+       * tests/examples/qt/qmlsink-multisink/videoitem/videoitem.h:
+         gstqmlgl: add multisink test application
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 17:21:46 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/qtitem.cc:
+       * ext/qt/qtitem.h:
+         gstqmlgl: refactoring: rename ambiguous variables, clean up unused and duplicated ones
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 17:20:59 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/gstqtglutility.cc:
+         gstqmlgl: rework WGL-specific context init code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 17:20:49 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/gstqtglutility.cc:
+         gstqmlgl: retrieve correct device bound to current GL context (+ minor code cleanup)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 17:20:25 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/gstqsgtexture.cc:
+         gstqmlgl: correct validation for Qt GL context
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-07-30 17:20:07 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
+
+       * ext/qt/gstqtglutility.h:
+       * ext/qt/qtitem.cc:
+       * ext/qt/qtitem.h:
+       * ext/qt/qtwindow.cc:
+       * ext/qt/qtwindow.h:
+         gstqmlgl: create helper QRunnable-based class for render jobs
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
+
+2021-08-06 16:25:02 +0200  Tulio Beloqui <tulio@pexip.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * tests/check/elements/rtpjitterbuffer.c:
+         rtpjitterbuffer: fixed stall on gap when using rtx
+         Co-authored-by: Håvard Graff <havard@pexip.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1055>
+
+2021-08-13 19:32:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/flv/gstindex.c:
+         flv: use g_memdup2() as g_memdup() is deprecated
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1052>
+
+2021-08-15 12:26:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/soup/gstsouphttpsrc.c:
+         souphttpsrc: Always use the content decoder but set `Accept-Encoding: identity` if no compression should be used
+         Some servers respond with gzip-encoded responses regardless of whether
+         the request allowed it to be used in the response. By always having the
+         content decoder enabled, these invalid responses can be decoded
+         correctly while for well-behaving servers the `compress` property
+         selects between allowing compressed responses or not.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1053>
+
+2021-08-12 22:57:01 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/gstqtglutility.cc:
+         qt: always update the sink_retrieved flag when the sink retrieves
+         Fixes a case where adding a qmlgloverlay element after an existing
+         qmlglsink elements was already in the pipeline would create an entirely
+         separate GstGLDisplay pointing to the same underlying display resource.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1050>
+
+2021-08-11 14:52:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/videocrop/gstaspectratiocrop.c:
+       * gst/videocrop/gstaspectratiocrop.h:
+       * gst/videocrop/gstvideocrop.c:
+       * gst/videocrop/gstvideocrop.h:
+       * gst/videocrop/gstvideocropelement.c:
+       * gst/videocrop/gstvideocropelements.h:
+       * gst/videocrop/gstvideocropplugin.c:
+       * gst/videocrop/meson.build:
+         videocrop: Resurrect logging category.
+         Fix for a regression from commit 8f1384c9. That commit moved the debug
+         category definition, as static, into a gstvideocropelement.c, but that
+         category was used as default, in gstvideocrop.c, so it was never used
+         at logging, so the debug selector never showed the logs for
+         videocrop.
+         This patch move back the category definition into gstvideocrop.c and
+         leaving the function videocrop_element_init() as a noop.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1049>
+
+2021-07-31 23:14:34 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/jpeg/meson.build:
+         jpeg: Add support for meson fallback
+         Allow building jpeg plugin by using meson fallback
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1041>
+
+2021-07-27 10:43:21 +0800  Hou Qi <qi.hou@nxp.com>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2: Keep decoder capture fps same as output fps if it's not set
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1035>
+
+2021-07-27 18:33:18 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+       * ext/jack/gstjack.c:
+       * ext/jack/gstjack.h:
+       * ext/jack/gstjackaudioclient.c:
+       * ext/jack/gstjackaudioclient.h:
+       * ext/jack/gstjackaudiosink.c:
+       * ext/jack/gstjackaudiosink.h:
+       * ext/jack/gstjackaudiosrc.c:
+       * ext/jack/gstjackaudiosrc.h:
+         jack: Add port-names property to select ports explicitly
+         By this new property, user can select physical port to connect,
+         and element will pick requested port instead of random ones.
+         User should provide full port name including "client_name:" prefix.
+         An example is
+         jackaudiosrc port-names="system:capture_1,system:capture_3" ! ...
+         jackaudiosink port-names="system:playback_2"
+         In addition to "port-names" property, a new connect type "explicit"
+         is added so that element can post error message if requested
+         "port-names" contains invalid port(s).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1037>
+
+2021-07-23 11:04:00 +0200  Kai Uwe Broulik <kai_uwe.broulik@mbition.io>
+
+       * ext/qt/gstqsgtexture.cc:
+       * ext/qt/gstqtsink.cc:
+         qt: Support RGB format
+         In GstQSGTexture::hasAlphaChannel return value based on
+         whether the video format has alpha channel.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1040>
+
+2021-07-26 20:14:32 +0900  Seungha Yang <seungha@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+       * ext/jack/gstjackaudiosink.c:
+       * ext/jack/gstjackaudiosink.h:
+       * ext/jack/gstjackaudiosrc.c:
+       * ext/jack/gstjackaudiosrc.h:
+         jack: Add low-latency property for automatic latency-optimized setting
+         Similar to wasapi/wasapi2 plugins on Windows, adding low-latency
+         option so that jack element can optimize GstAudioRingBufferSpec
+         setting for low latency.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
+
+2021-07-26 19:55:25 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/jack/gstjackaudioclient.c:
+       * ext/jack/gstjackaudioclient.h:
+       * ext/jack/gstjackaudiosrc.c:
+       * ext/jack/gstjackringbuffer.h:
+         jack: Remove trailing whitespace
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
+
+2021-07-27 17:58:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * docs/gst_plugins_cache.json:
+       * gst/videocrop/gstvideocrop-private.h:
+         videocrop: Resurrect any caps feature negotiation.
+         Commit e31cbce4 brought a regression to negotiate featured caps. But
+         only by removing the entry in the caps template. This commit brings it
+         back.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1039>
+
+2021-07-26 18:43:04 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/jack/gstjackaudiosink.c:
+       * ext/jack/gstjackaudiosrc.c:
+         jack: Fix assertion fail when device supports only mono channel
+         MAX should be larger than MIN for GST_TYPE_INT_RANGE.
+         GStreamer-CRITICAL **: 18:26:27.912:
+         gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1033>
+
+2021-07-21 20:14:46 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/gstqtsrc.cc:
+       * ext/qt/qtwindow.cc:
+       * ext/qt/qtwindow.h:
+         qmlglsrc: fix operation without any qmlglsink
+         E.g. a pipeline like qmlglsrc ! gldownload ! ... would currently fail to
+         run because the OpenGL context are not created in the correct order.
+         The QtWindow also needs to know the OpenGL context used by downstream
+         elements in order to set optimize for the correct GstGLSyncMeta for
+         synchonisation purposes.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1036>
+
+2021-07-26 17:55:24 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Fix some reference leaks in error cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1023>
+
+2021-07-08 00:12:52 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * tests/check/elements/splitmuxsink.c:
+         splitmuxsink: Prevent hang going back to NULL after failures
+         Prevent a condition where splitmuxsink won't go back to NULL state
+         after a child element fails to change state by making sure that
+         a READY->READY state change doesn't fail, and by returning
+         GST_FLOW_ERROR or GST_FLOW_FLUSHING upstream to shut down streaming
+         as quickly as possible.
+         This can happen after (for example) setting an invalid filename
+         on the sink element. In that case, the READY->PAUSED transition
+         fails, but with internal elements still in the NULL state. Trying
+         to set splitmuxsink back to NULL then ends up trying to bring
+         those NULL elements up to READY with a READY->READY transition,
+         (which fails, prevent splitmuxsink from getting to NULL)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1023>
+
+2021-07-13 01:27:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/deinterlace/gstdeinterlace.c:
+         deinterlace: reduce noise when gst_pad_set_caps fails
+         It may be that downstream is simply flushing, in which case logging
+         an error is misleading.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1029>
+
+2021-07-08 02:22:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: always use factory property when set
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1024>
+
+2021-06-21 13:47:50 +0200  Yacine Bandou <yacine.bandou@softathome.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: No need for new "application/x-cbcs" caps
+         Instead of using the new "application/x-cbcs" caps, we are just adding
+         a new structure field "ciphe-mode", to indicate which encryption scheme
+         is used: "cenc", "cbcs", "cbc1" or "cens".
+         Similarly for the protection metadata, we add the "cipher-mode" field
+         to specify the encryption mode with which the buffers are encrypted.
+         "cenc": AES-CTR (no pattern)
+         "cbc1": AES-CBC (no pattern)
+         "cens": AES-CTR (pattern specified)
+         "cbcs": AES-CBC (pattern specified, using a constant IV)
+         Currently only "cenc" and "cbcs" are supported.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1013>
+
+2021-07-05 16:12:57 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/qt/qtitem.h:
+         qt: Fix clang build
+         The updatePaintNode method is part of the QQuickItem class interface, so needs
+         to be flagged as overriding the default implementation.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
+
+2020-04-15 10:38:04 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/qt/gstqtsink.cc:
+       * ext/qt/qtitem.cc:
+       * ext/qt/qtitem.h:
+         qt: Add navigation events support
+         Currently handles only mouse events.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
+
+2020-04-15 10:33:22 +0100  Philippe Normand <philn@igalia.com>
+
+       * ext/gtk/gtkgstbasewidget.c:
+         gtk: Scroll events dispatch support
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
+
+2021-07-02 01:41:05 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/matroska/matroska-mux.c:
+         matroskamux: Always write a tags element into seekhead
+         If there are only stream tags, we still want to write the
+         tags entry into the seekhead, so that tags can be found
+         quickly in the player.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/905
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1020>
+
+2021-06-30 23:52:26 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Don't need to update track per GstCaps if it's not changed
+         Skip GstQTMuxPad::set_caps() call for duplicated caps.
+         All the processing done in set_caps() method for duplicated caps
+         are redundant.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1019>
+
+2021-07-01 13:18:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+         rtpssrcdemux: Remove pads and reset the element also in READY->NULL
+         Mostly for completeness.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018>
+
+2021-07-01 13:18:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtpmanager/gstrtpptdemux.c:
+         rtpptdemux: Remove pads also in PAUSED->READY
+         They're based on per-stream information and that should be reset
+         whenever going to READY state.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018>
+
+2021-02-16 16:39:34 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+         docs: update plugins cache for vp9enc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
+
+2021-04-09 19:22:29 +0200  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/vpx/gstvp9enc.c:
+       * ext/vpx/gstvp9enc.h:
+       * ext/vpx/gstvpxenums.h:
+       * ext/vpx/meson.build:
+         vpx: add enum for adaptive quantization modes
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
+
+2021-02-16 13:28:00 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/vpx/gstvp9enc.c:
+       * ext/vpx/gstvp9enc.h:
+         vp9enc: expose frame-parallel-decoding property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
+
+2021-02-16 12:57:55 +0100  Jakub Adam <jakub.adam@collabora.com>
+
+       * ext/vpx/gstvp9enc.c:
+       * ext/vpx/gstvp9enc.h:
+         vp9enc: expose aq-mode property
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
+
+2021-06-26 20:00:03 +0900  Seungha Yang <seungha@centricular.com>
+
+       * gst/udp/gstmultiudpsink.c:
+         multiudpsink: Fix broken SO_SNDBUF get/set on Windows
+         SO_SNDBUF has been undefined on Windows because of missing WinSock2.h
+         include. And don't use native socket functions (e.g., setsockopt())
+         if code is expected to be built on Windows. We don't link ws2_32.lib
+         for this plugin.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1016>
+
+2021-06-24 14:57:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtphdrext-twcc.c:
+         rtpmanager: Access GstRTPHdrExt fields through accessor
+         This way, the implementation can be private.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1017>
+
+2021-06-22 17:19:19 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Refuse seeks in BYTES format
+         If downstream tries to seek in BYTES format, don't pass that through
+         to upstream. The byte positions downstream requests won't make any
+         sense in the muxed stream. There might be other formats we want to
+         pass through to upstream, but BYTES is not one of them. If we get a
+         seeking query about BYTES format, refuse that too.
+         This fixes a situation where we're playing a fragmented mp4 over http
+         and qtdemux refuses the initial seek (in TIME format), but then
+         h264parse/baseparse send a seek in BYTES format and everything falls
+         apart.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1014>
+
+2021-06-16 16:30:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/rtp/gstrtph265depay.c:
+         rtph265depay: update codec_data in caps regardless of format
+         Updating of codec_data in the caps is important to propagate changes
+         in sps/pps/vps via NALs. Without this, downstream does not renegotiate
+         when upstream changes resolution.
+         The comment referring to rtph264pay is from 2015 and is out of date.
+         rtph264pay stopped doing that in 2017 with commit
+         dabeed52a995d27e16eba9e4617e61eb0bcd44c4
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1011>
+
+2021-06-04 13:56:05 +0300  Jordan Petridis <jordan@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+         doc: update gst_plugins_cache.json
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1006>
+
+2021-06-03 20:33:45 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/qtitem.cc:
+         qtitem: don't potentially leak a large number of buffers
+         The only other place where these queued buffers are removed, is in
+         setCaps() but that is not called at all on shutdown so this list of
+         buffers could not be removed.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1004>
+
+2021-05-28 09:54:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+       * ext/jpeg/gstjpegenc.c:
+         jpegenc: Remove arbitrary encoding size limitation
+         The encoder is happy to encode with sizes less then 16x16, so remove this
+         arbitrary limitation. This also fixes the fact the sink and src template caps
+         disagree.
+         Fixes #888
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/998>
+
+2021-05-23 15:42:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: use g_memdup2() as g_memdup() is deprecated
+         - atom nodes/bytereader sizes are already checked
+         - palettes: are fixed/known size
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
+
+2021-05-23 01:28:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/ebml-read.c:
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-ids.c:
+       * gst/matroska/matroska-read-common.c:
+         matroskademux: use g_memdup2() as g_memdup() is deprecated
+         - ebml-read: add some sanity checks when going from 64-bit
+         to 32-bit length
+         - matroska-ids: codec_data_size has been checked via
+         gst_ebml_read_binary(), is existing allocation.
+         - matroska-demux: alloc size is from existing allocations
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
+
+2021-05-22 19:39:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/libpng/gstpngdec.c:
+       * ext/vpx/gstvpxenc.c:
+       * ext/wavpack/gstwavpackenc.c:
+       * meson.build:
+       * tests/check/elements/rtp-payloading.c:
+       * tests/check/elements/rtph264.c:
+       * tests/check/elements/rtph265.c:
+       * tests/check/elements/rtpopus.c:
+       * tests/check/elements/rtpvp8.c:
+       * tests/check/elements/rtpvp9.c:
+       * tests/icles/gdkpixbufoverlay-test.c:
+         Use g_memdup2() where available and add fallback for older GLib versions
+         - png: alloc size variable is a png type that's always 32-bit
+         - vpx: alloc size based on existing allocation
+         - wavpack: alloc size based on existing allocation
+         - icles: gdkpixbufoverlay: trusted and hard-coded input data
+         - rtp tests: rtp-payloading, vp8, vp9, h264, h265: trusted and/or static input data
+         g_memdup() is deprecated since GLib 2.68 and we want to avoid
+         deprecation warnings with recent versions of GLib.
+         Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
+
+2021-06-01 15:28:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+       * meson.build:
+         Back to development
+
 === release 1.19.1 ===
 
 2021-06-01 00:11:44 +0100  Tim-Philipp Müller <tim@centricular.com>
        * NEWS:
        * README:
        * RELEASE:
+       * docs/gst_plugins_cache.json:
        * gst-plugins-good.doap:
        * meson.build:
          Release 1.19.1
diff --git a/NEWS b/NEWS
index cc6c3b4..0e581c3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,15 +1,15 @@
 GStreamer 1.20 Release Notes
 
 GStreamer 1.20 has not been released yet. It is scheduled for release
-around July 2021.
+around October/November 2021.
 
 1.19.x is the unstable development version that is being developed in
-the git master branch and which will eventually result in 1.20, and
-1.19.1 is the current development release in that series
+the git main branch and which will eventually result in 1.20, and 1.19.2
+is the current development release in that series
 
-It is expected that feature freeze will be around June/July 2021,
-followed by several 1.19 pre-releases and the new 1.20 stable release
-around July 2021.
+It is expected that feature freeze will be in early October 2021,
+followed by one or two 1.19.9x pre-releases and the new 1.20 stable
+release around October/November 2021.
 
 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
 1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series.
@@ -17,7 +17,7 @@ around July 2021.
 See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
 version of this document.
 
-Last updated: Sunday 30 May 2021, 16:00 UTC (log)
+Last updated: Wednesday 22 September 2021, 18:00 UTC (log)
 
 Introduction
 
@@ -247,6 +247,10 @@ Documentation improvements
 Possibly Breaking Changes
 
 -   this section will be filled in in due course
+-   MPEG-TS SCTE-35 API changes (FIXME: flesh out)
+-   gst_parse_launch() and friends now error out on non-existing
+    properties on top-level bins where they would silently fail and
+    ignore those before.
 
 Known Issues
 
@@ -274,16 +278,15 @@ the git 1.20 branch, which will be a stable branch.
 
 1.20.0
 
-1.20.0 is scheduled to be released around July 2021.
+1.20.0 is scheduled to be released around October/November 2021.
 
 Schedule for 1.22
 
 Our next major feature release will be 1.22, and 1.21 will be the
 unstable development version leading up to the stable 1.22 release. The
-development of 1.21/1.22 will happen in the git master branch.
+development of 1.21/1.22 will happen in the git main branch.
 
-The plan for the 1.22 development cycle is yet to be confirmed, but it
-is hoped that feature freeze will take place some time in December 2021.
+The plan for the 1.22 development cycle is yet to be confirmed.
 
 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff --git a/RELEASE b/RELEASE
index 4301610..02e7d4a 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-good 1.19.1.
+This is GStreamer gst-plugins-good 1.19.2.
 
 GStreamer 1.19 is the development branch leading up to the next major
 stable version which will be 1.20.
index 96b6ca3..1d9e18d 100644 (file)
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "GStreamer 1.19.1.1 FLV muxer",
+                        "default": "GStreamer 1.19.2 FLV muxer",
                         "mutable": "null",
                         "readable": true,
                         "type": "gchararray",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "GStreamer 1.19.1.1 FLV muxer",
+                        "default": "GStreamer 1.19.2 FLV muxer",
                         "mutable": "null",
                         "readable": true,
                         "type": "gchararray",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "GStreamer/1.19.1.1",
+                        "default": "GStreamer/1.19.2",
                         "mutable": "null",
                         "readable": true,
                         "type": "gchararray",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "GStreamer souphttpsrc 1.19.1.1 ",
+                        "default": "GStreamer souphttpsrc 1.19.2 ",
                         "mutable": "null",
                         "readable": true,
                         "type": "gchararray",
index ba8918c..6111bac 100644 (file)
@@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
 
  <release>
   <Version>
+   <revision>1.19.2</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-09-23</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.19.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.19.1</revision>
    <branch>master</branch>
    <name></name>
index 1f433f0..f8e1299 100644 (file)
@@ -1,5 +1,5 @@
 project('gst-plugins-good', 'c',
-  version : '1.19.1.1',
+  version : '1.19.2',
   meson_version : '>= 0.54',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])