summaryrefslogtreecommitdiff
path: root/subprojects/gst-plugins-base/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/gst-plugins-base/ChangeLog')
-rw-r--r--subprojects/gst-plugins-base/ChangeLog2821
1 files changed, 2821 insertions, 0 deletions
diff --git a/subprojects/gst-plugins-base/ChangeLog b/subprojects/gst-plugins-base/ChangeLog
index 25fdf7fe73..dbef781da9 100644
--- a/subprojects/gst-plugins-base/ChangeLog
+++ b/subprojects/gst-plugins-base/ChangeLog
@@ -1,7 +1,2828 @@
+2022-10-01 02:33:49 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkaudioconvert.h:
+ playsink: Hold a reference to the soft volume element
+ Always hold a reference to the soft volume element
+ provided by the playsinkaudioconvert bin helper, the
+ same as when volume is provided by a sink element,
+ or the soft volume element gets unreffed too soon.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3108>
+
+2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvimageallocator.c:
+ xvimagesink: Don't leak XvShmImage
+ If allocating an XvShmImage generates an X error, but
+ still returns some allocated memory, make sure to free it
+ so it doesn't leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:49:16 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Zero initialize mask array
+ Clear the stack array before setting bits to pass to
+ XISelectEvents(). Fixes spurious crash from an X error:
+ X Error of failed request: BadValue (integer parameter out of range for operation)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:47:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Don't leak temporary
+ Use a stack variable instead of a temporarily
+ malloced variable that wasn't being freed
+ properly. Fixes a small leak of a GstXvTouchDevice
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:41:06 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Make sure event is writable before modifying
+ Make sure we're operating on a private copy of an event when
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:40:09 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Make sure event is writable before modifying.
+ Make sure we're operating on a private copy of an event before
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:37:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't lose a ref on EOS event
+ Make sure not to give away the ref on the final EOS
+ event for which the probe handler is returning GST_PAD_PROBE_REMOVE
+ when pushing the event manually.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-09-30 00:10:25 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: add meta/x-klv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-30 00:07:07 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
+ And add a little unit test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-29 09:39:15 +0100 James Cowgill <james.cowgill@blaize.com>
+
+ * gst-libs/gst/tag/gstxmptag.c:
+ xmptag: Call gst_tag_register_musicbrainz_tags during init
+ We need to call this to register the MusixBrainz tags before we use
+ them in an XMP schema.
+ Fixes this critical when attempting to run jpegparse on a JPEG
+ containing MusicBrainz XMP tags:
+ GStreamer-CRITICAL **: 20:41:07.885: gst_tag_get_type: assertion 'info != NULL' failed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3092>
+
+2022-09-29 14:36:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/interactive/test-effect-switch.c:
+ test-effect-switch: Fix some memory leaks and make effect element ownership clearer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2018-03-28 17:54:15 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ buffer: drop parent meta in deep copy/foreach_metadata
+ The purpose of a deep buffer copy is to be able to release the source
+ buffer and all its dependencies. Attaching the parent buffer meta to
+ the newly created deep copy needlessly keeps holding a reference to the
+ parent buffer.
+ The issue this solves is the fact you need to allocate more
+ buffers, as you have free buffers being held for no reason. In the good
+ cases it will use more memory, in the bad case it will stall your
+ pipeline (since codecs often need a minimum number of buffers to
+ actually work).
+ Fixes #283
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-27 13:41:37 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Fix memory issues with active selection list
+ This had a couple of issues:
+ * The backing strings (from GstStream) could disappear
+ * The actual list wasn't properly reset/freed when decodebin3 was re-used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3083>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-06 17:25:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videorate/gstvideorate.c:
+ * gst/videorate/gstvideorate.h:
+ * tests/validate/meson.build:
+ * tests/validate/videorate/duplicate_on_eos.validatetest:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-src-expected:
+ videorate: Add a `max-closing-segment-duplication-duration` property
+ This allows users to let videorate fully fill the segments when received
+ EOS or on new segment, removing an arbitrary limit of 25 duplicates which
+ might not be what the user wants (for example on low FPS stream in GES,
+ that sometimes leaded to broken behavior)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-19 08:54:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Fix doc
+ Argument names weren't correct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3043>
+
+2022-09-09 16:57:18 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: Do not fail if one of the decoders isn't able to output the requested format
+ when expose-all=False
+ When trying to find an decoder in that case, we loop over the different
+ decoder factories, and check that it outputs a format that matches the
+ requested one (through the :caps property), but if we find a decoder
+ that do match but later on some other don't we end up failing
+ autopluging. This patch ensures that we still plug the decoder that can
+ work.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3011>
+
+2022-08-29 10:20:55 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ gl:meson: Minor typo fix
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-07 10:36:09 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst/playback/gsturidecodebin.c:
+ discoverer: Fix discovering source that expose raw audio/video
+ Exposes a "uridecodebin:post-stream-topology" property as the discoverer
+ needs to have topology information about all streams so we need
+ `uridecodebin` to always plug decodebins for that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 17:11:08 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ uridecodebin: Fix some property documentation syntax
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 10:39:21 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ * tests/validate/meson.build:
+ * tests/validate/uridecodebin/expose_raw_pad_caps.validatetest:
+ uridecodebin: Ensure that pads caps are set before exposing them
+ We are supposed to guarantee that pads that are exposed have the caps
+ set, but for sources that have pad with "all raw caps" templates, we end
+ up exposing pads that don't have caps set yet, which can break code (in
+ GES for example).
+ To avoid that we let uridecodebin plug a `decodebin` after such pads and
+ let decodebin to handle that for us. In the end the only thing that
+ decodebin does in those cases is to wait for pads to be ready and expose
+ them, after that `uridecodebin` will expose those pads.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-07-06 04:18:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format: Workaround MSVC build error
+ ../gst-libs/gst/video/video-format.c(6779): error C2219: syntax error:
+ type qualifier must be after '*'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2719>
+
+2022-09-07 16:35:38 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/mpl2parse.c:
+ subparse: fix crash when parsing invalid timestamps in mpl2
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/gl/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst/adder/meson.build:
+ * gst/app/meson.build:
+ * gst/audioconvert/meson.build:
+ * gst/audiomixer/meson.build:
+ * gst/audiorate/meson.build:
+ * gst/audioresample/meson.build:
+ * gst/audiotestsrc/meson.build:
+ * gst/compositor/meson.build:
+ * gst/encoding/meson.build:
+ * gst/gio/meson.build:
+ * gst/overlaycomposition/meson.build:
+ * gst/pbtypes/meson.build:
+ * gst/playback/meson.build:
+ * gst/rawparse/meson.build:
+ * gst/subparse/meson.build:
+ * gst/tcp/meson.build:
+ * gst/typefind/meson.build:
+ * gst/videoconvertscale/meson.build:
+ * gst/videorate/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/fft/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/riff/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:50:38 +0000 Ádám Balázs <broothy@gmail.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ gstaudioconvert: doc: Fix mix-matrix example
+ mix-matrix should contain float elements, modify the example to do so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966>
+
+2022-08-30 14:29:41 +0200 Rafael Caricio <rafael@caricio.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: fix buffer mapping to not increase refcount
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953>
+
+2022-08-23 19:12:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x(v)imagesink: Don't create invalid GstNavigationModifierType by simply passing through X11 event states
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2931>
+
+2022-07-22 13:41:17 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/playback/gstrawcaps.h:
+ playback: add onvif metadata caps to raw caps
+ + remove encoding from x-onvif-metadata caps output by qtdemux
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889>
+
+2022-08-23 16:02:31 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvert: fix passthrough on equivalent transfer
+ When the input info and output info are equal, except for the
+ transfer functions that are *not* equivalent, we need to set up
+ a converter as we won't be passthrough.
+ Fixes an assertion in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2929>
+
+2022-08-17 12:53:02 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-converter.h:
+ * tests/check/libs/video.c:
+ base: video-converter: add accessors for input and output formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2905>
+
+2022-08-05 20:52:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvert,videoscale: Do conversion in videoconvert and scaling in videoscale
+ Keep behaving the same as before videoconvertscale port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-05 20:16:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
+ This reverts commit cd7a91cef1c6a2e24d440126b7f2ab543fb205c5.
+ Reverting properties, scaling in videoconvert and converting in
+ videoscale will be disabled by the other commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-12 22:42:28 -0700 Khem Raj <raj.khem@gmail.com>
+
+ * gst/subparse/gstssaparse.c:
+ ssaparse: include required system headers for isspace() and sscanf() functions
+ Newer compilers ( clang 15 ) have turned stricter and errors out instead
+ of warning on implicit function declations
+ Fixes
+ gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ while (isspace(*t))
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879>
+
+2022-08-12 13:16:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspurl.c:
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use gst_uri_join_strings() in gst_rtsp_url_get_request_uri_with_control() instead of a hand-crafted, wrong version
+ For example the query string of the base must not be taken over to the
+ request URL unless there is no control path, and control paths can be
+ absolute and must not be considered relative if they start with a /.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/971
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-08-12 13:15:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use fail_unless_equals_string() in tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-07-27 22:34:42 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/pango/gstbasetextoverlay.c:
+ * ext/pango/gstbasetextoverlay.h:
+ basetextoverlay: Don't miscalculate text running times
+ When a new segment event arrives, it immediately updates
+ the current stored segment, which was used for calculating
+ the running time of the current text buffer for every
+ passing video frame. This means a segment that arrives
+ after the text buffer might get used to (mis)calculate
+ the running times subsequently.
+ Instead, calculate and store the right running time
+ using the current segment when storing the buffer. Later
+ the stored segment can get freely updated.
+ This fixes the case where pieces of video and text streams
+ are seamlessly concatenated and fed through the text overlay.
+ Previously, it could lead to the current text buffer suddenly
+ have a massive running time and blocking all further input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2802>
+
+2022-08-09 18:06:41 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: improve inband-fec property documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2853>
+
+2022-06-30 16:14:27 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/alsa/gstalsaplugin.c:
+ gstalsaplugin: return the result of the element registration
+ Previously there were branches that would return FALSE, however
+ it looks like we forgot to return the new result variable.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/900
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2695>
+
+2022-01-22 02:35:36 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: fix detection of avc1
+ While avc1 is the FourCC, avc is the name used in caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-22 02:29:54 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: don't reverse stream topology order
+ This can be important for instance when a container holds multiple
+ tracks with the same media type, with no indication (eg tags) of
+ which track is the default one.
+ In that case, players usually pick the first track by default.
+ This is especially useful when using smart editing with GES, as
+ it will result in the same ordering as the input file that was
+ used as a template.
+ For reference, this yields the same order as ffprobe.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 01:02:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ gstsmartencoder: don't make calculations for invalid DTS
+ Instead, as the current code relies on having a valid DTS (for lining
+ up passed through and re-encoded segments), simply compute a DTS
+ from the PTS if the DTS was invalid.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:57:16 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: don't order profiles by stream ID ..
+ when creating a profile from a discoverer info.
+ There is no justification for the existing code, and talking with
+ Thibault he cannot remember why the sort was in place.
+ On the other hand, this allows GES users to not have to implement
+ a callback for the select-tracks-for-object callback when using
+ it to trim a single clip, which the output profile was built from:
+ track elements will be placed in the appropriate track by default,
+ that is the one that will be connected to the matching profile.
+ For multi-clip timelines, the situation doesn't change, users will
+ still have to implement a callback and do the leg work of placing
+ track elements (if any) in a matching track (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:49:33 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: ignore more output caps fields
+ chroma-format, bit-depth-chroma, bit-depth-luma are all informative
+ fields set by the H265 and H265 parser upon receiving an SPS.
+ They shouldn't be constrained downstream of the parser, instead
+ if a user wants those to ultimately match certain values they
+ should do so by constraining a profile.
+ In this case however, we also always remove the profile constraint
+ in order to let encoders pick a suitable one as a function of the
+ raw input video format and their own capabilities.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-08-01 17:25:56 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Avoid crash with unknown streams
+ With the new addition of handling unknown sream types we *could* end up with a
+ chain which doesn't have a current_pad (it's an intermediary one)
+ Fixes #1287
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2822>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-13 22:37:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ compositor: Update plugins cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-01-18 21:21:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: Warn when inputs are SDR/HDR mixed
+ Let user know that the result of mixed SDR/HDR is not guaranteed
+ to be a good visual quality.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-24 20:21:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Add support for all formats
+ For formats which we don't have fast-path implementation, compositor
+ will convert it to common unpack formats (AYUV, ARGB, AYUV64 and ARGB64)
+ then blending will happen using the intermediate formats.
+ Finally blended image will be converted back to the selected output format
+ if required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-20 00:41:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ compositor: Add support for Y444 high bitdepth formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 16:32:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositororc-dist.c:
+ * gst/compositor/compositororc-dist.h:
+ * gst/compositor/compositororc.orc:
+ compositor: Add support for I420/I422 high bitdepth formats
+ Implementation for {I420,I422}_{10,12}_{LE,BE} formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 21:46:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Calculate background color only once
+ ... instead of do that per fill_color() call in case of RGB format.
+ Moreover, respect selected GstVideoColorRange
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-07-27 15:42:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtspconnection: protect cancellable by a mutex
+ It is entirely possible for the cancellable to be cancelled (and freed)
+ in gst_rtsp_connection_flush() while there may be an ongoing read/write
+ operation.
+ Nothing prevents gst_rtsp_connection_flush() from waiting for the
+ outstanding read/writes.
+ This could lead to a crash like (where cancellable has been freed
+ within gst_rtsp_connection_flush()):
+ #0 0x00007ffff4351096 in g_output_stream_writev (stream=stream@entry=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6af950, cancellable=cancellable@entry=0x7fff300288a0, error=error@entry=0x7ffe2c6af958) at ../subprojects/glib/gio/goutputstream.c:377
+ #1 0x00007ffff44b2c38 in writev_bytes (stream=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6afb90, block=block@entry=1, cancellable=0x7fff300288a0) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:1320
+ #2 0x00007ffff44b583e in gst_rtsp_connection_send_messages_usec (conn=0x7fff30001370, messages=messages@entry=0x7ffe2c6afcc0, n_messages=n_messages@entry=1, timeout=timeout@entry=3000000) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:2056
+ #3 0x00007ffff44d2669 in gst_rtsp_client_sink_connection_send_messages (sink=0x7fffac0192c0, timeout=3000000, n_messages=1, messages=0x7ffe2c6afcc0, conninfo=0x7fffac019610) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:1929
+ #4 gst_rtsp_client_sink_try_send (sink=sink@entry=0x7fffac0192c0, conninfo=conninfo@entry=0x7fffac019610, requests=requests@entry=0x7ffe2c6afcc0, n_requests=n_requests@entry=1, response=response@entry=0x0, code=code@entry=0x0) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:2845
+ #5 0x00007ffff44d3077 in do_send_data (buffer=0x7fff38075c60, channel=<optimized out>, context=0x7fffac042640) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:3896
+ #6 0x00007ffff4281cc6 in gst_rtsp_stream_transport_send_rtp (trans=trans@entry=0x7fff20061f80, buffer=<optimized out>) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c:632
+ #7 0x00007ffff4278e9b in push_data (stream=0x7fff40019bf0, is_rtp=<optimized out>, buffer_list=0x0, buffer=<optimized out>, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2586
+ #8 check_transport_backlog (stream=0x7fff40019bf0, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2645
+ #9 0x00007ffff42793b3 in send_tcp_message (idx=<optimized out>, stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2741
+ #10 send_func (stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2776
+ #11 0x00007ffff7d59fad in g_thread_proxy (data=0x7fffbc062920) at ../subprojects/glib/glib/gthread.c:827
+ #12 0x00007ffff7a8ce2d in start_thread () from /lib64/libc.so.6
+ #13 0x00007ffff7b12620 in clone3 () from /lib64/libc.so.6
+ Fix by adding a cancellable lock and returning an extra reference used
+ across all read/write operations. gst_rtsp_connection_flush() can free
+ the in-use cancellable and it will no longer affect any in progress
+ read/write.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2799>
+
+2022-07-22 13:13:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/audiomixer/gstaudiointerleave.c:
+ audiointerleave: fix property docs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2785>
+
+2022-07-23 02:49:20 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/video/video-chroma.c:
+ video: Fix scaling in 4x horizontal co-sited chroma
+ 4x downscaling of chroma with co-sited chroma has never worked
+ it seems.
+ Fixes incorrect videotestsrc output and videoconvert conversions
+ to Y41B, YUV9, YVU9 and IYU9 with co-sited chroma.
+ e.g.
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=Y41B,width=1280,height=720 ! \
+ videoconvert ! autovideosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2789>
+
+2022-07-02 06:08:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Don't force upstream alpha format
+ "video/x-raw,format=RGBA ! some-video-filter ! video/x-raw,format=NV12"
+ is a very common case and therefore such erroring at baseclass
+ does not seem to be a desired behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2703>
+
+2022-07-17 00:30:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Use primaries compare function
+ Avoid conversion if both color primaries are functionally equal
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-16 23:36:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ * gst-libs/gst/video/video-color.h:
+ * tests/check/libs/video.c:
+ video-color: Add primaries and colorimetry compare functions
+ SMPTE 170M and 240M use the same RGB and white point coordinates
+ and therefore both primaries can be considered functionally
+ equivalent.
+ Also, some transfer functions have different name but equal
+ gamma functions. Adding another colorimetry compare function
+ to deal with thoes cases at once
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-12 14:47:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: only allow setting the GL display/context if it is a valid value
+ Otherwise, when setting the external application context, then the
+ display may be cleared and then not used and the asharing mechanism does
+ not work anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2750>
+
+2022-07-07 23:40:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Add raw caps to sink pad when needed.
+ When checking if the current upload method can support
+ the requested caps filter in _transform_caps(),
+ make sure the sink pad reports raw caps.
+ Fixes #1311
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-07 23:54:44 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gstglupload: Remove raw caps from individual methods
+ Raw memory upload should always be the least preferred input
+ caps, only added by the raw memory uploader as the last thing
+ in the caps.
+ Caps negotiation should still choose raw data when it needs to,
+ and other upload methods that can accept raw data buffers will still do so.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-11 20:12:30 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: always convert when user provides converter-config
+ The `converter-config` property may be used to perform cropping,
+ conversion should always be performed when the user set the property
+ to a non-NULL value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2746>
+
+2022-07-08 20:49:21 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ glwindow_cocoa: fix a leak of the GstNSView
+ This leak is also causing a leak of the GstGLCAOpenGLLayer
+ which leaks the GstGLWrappedContext and the GstGLDisplay
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-07-08 20:38:51 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+ gl: Fix leak of the whole CGL context
+ This was leaking the CGL context and several resources
+ allocated in the context, around 70MB for a 1080p clip
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-06-14 12:22:22 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst-libs/gst/video/video-format.c:
+ base: lookup RGB format without alpha
+ librfb requests a colour space for depth 32 and bpp 32 with alpha set to
+ 0x0, treat this the same as depth 24 with bpp 32.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2627>
+
+2022-07-04 17:27:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvertscale: ensure writable caps when fixating format
+ gst_video_convert_scale_get_fixed_format() receives 'othercaps' from
+ basetransforms' fixate_caps() vmethod which explicitly mentions that
+ '`othercaps` may not be writable'.
+ The gst_caps_intersect() call just before may or may not produce new
+ caps. Particularly in cases like EMPTY or ANY caps on either of the
+ inputs, only a ref is taken and returned to the caller.
+ As a result, gst_video_convert_scale_fixate_format() may have attempted
+ to modify a non-writable caps structure.
+ Fix by adding a gst_caps_make_writable().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2709>
+
+2022-06-30 00:39:50 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: clean up some GString usage
+ There's no need to re-assign the return value of
+ g_string_append_*() functions and such to the variable
+ holding the GString. These return values are just for
+ convenience so function calls can be chained. The actual
+ GString pointer won't change, it's not a GList after all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:31:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: micro-optimise entity handling
+ Avoid relocations and hard-code entity string length
+ in the struct, since we basically get it for free here.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:13:19 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ * tests/check/elements/subparse.c:
+ samiparse: fix handling of self-closing tags
+ We would check the wrong string (rest of line rather than element)
+ for the / suffix of self-closing tags, which is not only wrong but
+ also has atrocious performance with certain strings like the garbled
+ nonsense clusterfuzz feeds us, which might cause discoverer to time
+ out when processing garbled SAMI files.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47461
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-07-01 23:57:08 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: Fix caps query with no filter"
+ This reverts commit 6f9ae5d7580763b5d18badb76f2166ff0012886a.
+ The _transform_caps() function can't tell the difference
+ between the caller wanting to know the output caps
+ for the current method, or all possible output caps. If
+ it includes caps for all possible methods, glupload can
+ end up negotiating and sending the wrong output caps
+ downstream.
+ Partially reverts !2687
+ Fixes #1310
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2699>
+
+2022-06-28 09:38:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Only consider property changes a geometry change if there as an actual change
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-27 21:28:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Add crop-{left,right,top,bottom} pad properties for cropping inputs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-30 09:02:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdpmessage: Don't set SDP medias from caps without media/payload/clock-rate fields
+ Previously it would've silently failed reading the payload/clock-rate
+ and instead would've used some random value that happened to be on the
+ stack.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-06-30 12:50:17 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Fix caps query with no filter
+ If no filter caps are provided with a caps query, always
+ generate a full set of all caps from all upload methods,
+ not just the configured one. This is needed to handle
+ renegotiation when dealing with raw sysmem caps - as the upload
+ method might accept raw sysmem caps, but only the raw data
+ uploader adds those to the caps query.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 12:46:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: allow system memory for dmabuf in transform_caps"
+ This reverts commit f3292dc1561a8d62812c3f1a2bb3de5c5bb6a807.
+ Only the raw data uploader should add sysmem caps to the
+ actual caps query, because we want them to be at the
+ lowest priority. If upstream does select to send raw
+ caps, then the correct upload method will still
+ be chosen because the accept_caps implementation
+ will accept them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 18:41:01 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gl: Don't use the full transform_caps() method for reconfiguration check
+ When checking if we need to reconfigure when uploading, check
+ specifically the output caps of the current method will
+ result in compatible/incompatible caps, not the full set
+ of output caps from all upload methods.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 08:42:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video.h:
+ video: Include new video-sei.h in video.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2688>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-16 10:19:17 +0000 James Hilliard <james.hilliard1@gmail.com>
+
+ * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+ * tests/validate/videorate/change_rate_while_playing.validatetest:
+ videorate: remove property-value quotes
+ Fixes warnings like:
+ Received a structure string that contains '="0.5"'. Reading as a gdouble value, rather than a string value. This is undesired behaviour, and with GStreamer 1.22 onward, this will be interpreted as a string value instead because it is wrapped in '"' quotes. If you want to guarantee this value is read as a string, before this change, use '=(string)"0.5"' instead. If you want to read in a gdouble value, leave its value unquoted.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2621>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-05-13 12:57:06 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-frame.h:
+ * tests/check/libs/video.c:
+ GstVideoFrame: Add g_auto() support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-06-12 05:35:27 -0600 James Hilliard <james.hilliard1@gmail.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix EOS event sequence
+ See docs:
+ https://gstreamer.freedesktop.org/documentation/additional/design/seqnums.html?gi-language=c#seqnums-sequence-numbers
+ Per docs:
+ When a sink element receives an EOS event and creates a new EOS
+ message to post, it should copy the seqnum from the event to the
+ message because the EOS message is a consequence of the EOS event
+ being received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2588>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ * meson.build:
+ * tests/check/elements/audioresample.c:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-16 19:29:10 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ video: add new video-sei.h header to the list of video_headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ Fix documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add unit test for Precision Time Stamp in SEI messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ h264parse: fix copying of data and UUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add support Precision Time Stamp in SEI messages
+ Expose User Data Unregistered as a new Meta and add
+ API to parse Precision Time Stamp (ST 0604).
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-27 14:18:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video: Fix NV12_16L32 size calculation
+ The subsampling of the second plane was not taken into account, resulting in a
+ 16bit per pixel buffers instead of 12.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2512>
+
+2022-05-25 02:10:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Configure combiner on pad-added if needed
+ When collection is updated, decodebin3 exposes pad first and then
+ streams-selected message is posted.
+ The condition can cause a situation where playbin3 links non-existing
+ combiner/playsink pads (since streams-selected is not posted yet) with
+ new decodebin output pad. This commit will re-check selected/active
+ streams condition on pad-added and reconfigure output if needed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2482>
+
+2022-05-23 21:24:40 -0400 Eli Schwartz <eschwartz@archlinux.org>
+
+ * gst-libs/gst/tag/meson.build:
+ meson: use better zlib dependency fallback
+ zlib is required, and if it isn't found it is checked several ways and
+ then forced via subproject(). This code was added in commit
+ b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
+ zlib doesn't have pkg-config files installed.
+ But Meson already does dependency fallback, and also, since 0.54.0, does
+ the in-between checks for find_library('z') and has_header('zlib.h') via
+ the "system" type dependency. Simplify dependency lookup by marking it
+ as required, which also makes sure that the console log doesn't
+ confusingly list "not found".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2484>
+
+2022-05-19 12:17:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/descriptions.h:
+ pbutils: Add GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA and ONVIF XML Timed MetaData
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-15 16:53:12 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtcpbuffer.h:
+ * tests/check/libs/rtp.c:
+ rtcpbuffer: Allow padding on first reduced size packets
+ It is valid to have the padding set to 1 on the first packet and it
+ happens very often from TWCC packets coming from libwebrtc. This means
+ that we were totally ignoring many TWCC packets.
+ Fix test that checked that a first packet with padding was not valid and
+ instead test a single twcc packet with padding to check precisely what
+ this patch was about.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2422>
+
+2022-05-13 13:31:55 +0200 Alicia Boya García <aboya@igalia.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ * tests/check/elements/appsink.c:
+ appsink: Fix race condition on caps handling
+ Background:
+ Whenever a caps event is received by appsink, the caps are stored in the
+ same internal queue as buffers. Only when enough buffers have been
+ popped from the queue to reach the caps, `priv->sample` gets its caps
+ updated to match, so that they are correct for the following buffers.
+ Note that as far as upstream elements are concerned, the caps of appsink
+ are updated immediately when the CAPS event is sent. Samples pulled from
+ appsink retain the old caps until a later buffer -- one that was sent by
+ upstream elements after the new caps -- is pulled.
+ The race condition:
+ When a flush is received, appsink clears the entire internal queue. The
+ caps of `priv->sample` are not updated as part of this process, and
+ instead remain as those of the sample that was last pulled by the user.
+ This leaves open a race condition where:
+ 1. Upstream sends a new caps event, and possibly some buffers for the
+ new caps.
+ 2. Upstream sends a flush (possibly from a different thread).
+ 3. Upstream sends a new buffer for the new caps. Since as far as
+ upstream is concerned, appsink caps are the new caps already, no new
+ CAPS event is sent.
+ 4. The appsink user pulls a sample, having not pulled before enough
+ samples to reach the buffers sent in step 1.
+ Bug: the pulled sample has the old caps instead of the new caps.
+ Fixing the race condition:
+ To avoid this problem, when a buffer is received after a flush,
+ `priv->sample`'s caps should be updated with the current caps before the
+ buffer is added to the internal queue.
+ Interestingly, before this patch, appsink already had code for this, in
+ gst_app_sink_render_common():
+ /* queue holding caps event might have been FLUSHed,
+ * but caps state still present in pad caps */
+ if (G_UNLIKELY (!priv->last_caps &&
+ gst_pad_has_current_caps (GST_BASE_SINK_PAD (psink)))) {
+ priv->last_caps = gst_pad_get_current_caps (GST_BASE_SINK_PAD (psink));
+ gst_sample_set_caps (priv->sample, priv->last_caps);
+ GST_DEBUG_OBJECT (appsink, "activating pad caps %" GST_PTR_FORMAT,
+ priv->last_caps);
+ }
+ This code assumes `priv->last_caps` is reset when a flush is received,
+ which makes sense, but unfortunately, there was no code in the flush
+ code path resetting it.
+ This patch adds such code, therefore fixing the race condition. A unit
+ test demonstrating the bug and testing its behavior with the fix has
+ also been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2413>
+
+2022-05-16 12:34:36 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: unref temporary caps
+ The "possible_caps" needs unref after finished using to
+ avoid memory leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2430>
+
+2022-05-05 02:54:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ tools: gst-play: Print position even if duration is unknown
+ Gives better visual feedback regarding position information
+ although duration is unknown, live streams for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2365>
+
+2022-05-09 16:21:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstglcontext_private.h:
+ * gst-libs/gst/gl/gstglcontextquirks.c:
+ * gst-libs/gst/gl/meson.build:
+ gl/context: disable timer queries for ARM Mali-G52
+ Performing a timer query with a default framebuffer that is incomplete
+ (from using a surfaceless context) will produce GL errors. Disable the
+ timer query on this platform to avoid the errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2396>
+
+2022-05-07 04:43:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-device-monitor.c:
+ tools: device-monitor: Print string property as-is without serialize
+ gst_value_serialize() does more than what's needed to printf-ing
+ especially when given GValue is already string. Just print string
+ value as-is without gst_value_serialize() to avoid unreadable
+ string print, especially for multi-bytes character encoding cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2387>
+
+2022-05-06 09:10:09 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysink.h:
+ playbin3: Cleanup and refactor combiner sourcecombine
+ * Remove fields no longer used, or that can be replaced by smaller code
+ * Rename "channels" to a more meaningful "input pads"
+ * Directly handle/use combiner pads in the combiners instead of on the playbin3
+ main structure
+ Remove the corresponding combiner sinkpad whenever a uridecodebin3 source pad
+ goes away
+ * If used, store the corresponding combiner sink pad in the SourcePad helper
+ structure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2384>
+
+2022-05-03 16:25:19 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Don't modify inexistant GstStream
+ When handling exposing un-handled streams, we can only replace the GstStream for
+ those we are creating ourselves (i.e. the fallback collection).
+ Fixes assertions when the demuxer creates those streams
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 16:08:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ playbin3: Don't use unknown types for default selection
+ When creating a fallback default selection from a collection, don't attempt to
+ use unknown stream types
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 13:37:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ audioconvert: If no channel-mask can be fixated then use a NONE channel layout
+ Otherwise this is generating caps without a channel-mask, which is
+ invalid for >1 channels and will always fail negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2350>
+
+2022-05-02 14:36:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache for NV12_4L4 and NV12_16LE32 gl support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-14 15:02:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_4L4 conversion support
+ This format is produced notably by Hantro G1/G2 HW. Using a shader instead of
+ the Hantro embedded converter helps reduce drastrictly the memory usage at a
+ relatively small GPU overhead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 14:18:59 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_16L32S conversion support
+ This adds a first detiling shader with initial support for
+ NV12_16L32S as produced by Mediatek decoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-13 14:54:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/gstglsl.c:
+ glsl: Enable GLSL 1.30 if we have OpenGL 3.0/3.1
+ As implemented, we only support OpenGL 3 API from version 3.2. Though, there
+ is no issue enabling GLSL 1.30 even if we are going to restrict our API usage
+ to 2. This allows using texelFetch() on OpenGL 3.0 and 3.1 drivers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:24:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglutils.c:
+ opengl: Add low level support for tiled formats
+ This adds support for tiled format in stride and plane size
+ code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:16:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video: Port video frame to the new tile size helper
+ This is now moved to the library, so it can be used in multiple
+ places.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:14:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add a helper to get the tile size information
+ Since the addition of tiling format with subsampled tile size
+ (NV12_16L32S), getting the tile width/height shifts and tile
+ size have become more complex. Add a helper to extract and
+ scale this information for the selected plane and format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:18:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: Add missing NV21/61 support
+ Caps would allow that, but selecting this format would lead to
+ an "no reached" assertion in the code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-27 10:18:39 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: release stream lock after handling gap events
+ The stream lock is taken before handling gap events but was not released in all
+ possible runtime situations. This issue was introduced in:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307>
+
+2022-04-28 15:32:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ subparse: don't deref a potentially NULL variable
+ If the html SAMI data is malformed, then retrieving the attribute name
+ may fail. We then cannot retrieve the attribute value.
+ Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317>
+
+2022-04-27 09:22:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ * tools/gst-play.c:
+ parsebin: Expose streams of unknown type
+ This actually respects the existing `expose-all-streams` property by exposing
+ them and having them present in the stream collection (as streams of type
+ unknown).
+ Fixes #1179
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2309>
+
+2022-04-27 08:23:59 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ playbin2: Remove dead code
+ blacklisted_mimes has been empty for ages. Remove the code "using" it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2306>
+
+2022-04-21 02:04:57 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/pango/gsttimeoverlay.c:
+ * ext/pango/gsttimeoverlay.h:
+ timeoverlay: add support for reference timestamp time mode
+ + update date-time mode to actually use the timestamp that
+ was selected with the time-mode property
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2252>
+
+2022-04-27 02:08:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: always store input buffer meta before negotiation
+ The decision to store the input buffer depends on whether extensions
+ are to be added to the output buffer, I assume as an optimization.
+ This creates an issue for subclasses that call negotiate(), where
+ header_exts is actually populated, from their handle_buffer()
+ implementation: at chain time, no header extension has been negotiated
+ yet, which means that we don't add extensions to the first batch of
+ buffers that comes out.
+ Keep track of whether negotiate has been called (this is different
+ from the negotiated field) and always store the input buffer until
+ then. This fixes the issue while largely preserving the optimization.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2304>
+
+2022-04-24 23:19:00 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Fix the src video info error in transfer_colorimetry_from_input()
+ Pipeline such as:
+ gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12,colorimetry=\(string\)bt709 \
+ ! videoscale ! video/x-raw,format=I420 ! fakesink
+ Always trigger a error:
+ ERROR video-info video-info.c:556:gst_video_info_from_caps: no width property given
+ Because it is called before the fixate_size(), the src caps' resolution
+ may be absent or not fixed. That causes that the src video info can not
+ be created correctly and we can not inherit the colorimetry and chroma-site
+ from the input caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2289>
+
+2022-04-26 10:58:08 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: fix assertion when pushing last and only buffer without duration
+ Fixing this pipeline:
+ gst-launch-1.0 filesrc location=sample.png ! pngdec ! videorate ! fakesink
+ - videorate receives a single buffer with pts = 0, duration = invalid;
+ - then it receives eos triggering this buffer to be pushed downstream;
+ - the pushing code was assuming that a duration was set, which is
+ impossible as we received a single buffer and no output framerate was
+ set either. So the best we can do is to push the buffer without
+ duration.
+ Fix #1177
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2296>
+
+2022-04-26 09:29:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ oggdemux: Protect against invalid framerates
+ This check wasn't done for all mappings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2295>
+
+2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Fix deprecation warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-21 11:41:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Update the base time on segment updates"
+ This reverts commit 75b4809ebc23814009bebc70c775ab44d85decf2.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add test for segment update"
+ This reverts commit a76f38b2c7ddbed546bb058c32ebcf8a553c003f.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Only "close" the segment if it is discontinous"
+ This reverts commit 6f7922b4dbba5ed780e7b0988669a81848a9e333.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Drop incoming buffers that are outside of the segment"
+ This reverts commit 24fd80344dbc059b72e13d813ca82f414a9d6cce.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:40:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add unit test for closing a segment and opening a separate one"
+ This reverts commit 98f2a84a289ed4d4cfac9bc5c73182a56eefa99c.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2020-11-26 18:18:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: keep old buffer when processing a MISSING_DATA gap
+ GAP events flagged with MISSING_DATA are transformed into GAP buffers
+ flagged with CORRUPTED.
+ In these cases, it is preferable to simply keep rendering the previous
+ buffer (if there was one) instead of flashing the pad in and out of
+ view.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 18:16:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: fix prepare_frame obscuring check
+ A pad without a buffer or with a GAP buffer cannot obscure a
+ pad below it. Ignore those when considering whether a pad should
+ be drawn.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 15:57:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: a pad without a frame can't obscure the background
+ Skip those when considering whether the background should be
+ drawn
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-04-20 16:25:49 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test to ensure that non-scaled metas are kept
+ Just make sure that we're not breaking non-scaled metas
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:15 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test for transform_meta function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:21 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Don't copy scaled metas
+ Returning TRUE from the `transform_meta` function tells
+ GstBaseTransform to copy the meta into the new buffer. If videoscale
+ has already transformed a meta by scaling it, it should always return
+ FALSE to avoid duplicating the meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-04-01 15:16:20 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x11: Fix unused variable warnings
+ These are emitted when XInput 2 is not available.
+ ```
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c: In function ‘gst_x_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:696:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 696 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:694:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 694 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c: In function ‘gst_xv_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:427:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 427 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:426:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 426 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2093>
+
+2022-04-21 10:21:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ tests: convertscale: Do not log EOS events in validateflow
+ We already checked that we are getting an EOS before going back to ready
+ and adding the EOS at the end of the .validateflow is racy as the ERROR
+ message might reach the bus before it is logged.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264>
+
+2022-04-14 09:48:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2021-05-21 18:55:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvertscale: Don't claim we can support any kind of memory
+ Since d0133a2d11566ff4c0cded7af8dfdff0046e0e8b "videoconvert: Allow
+ passthrough for ANY caps features" videoconvert will always claim that
+ it supports any kind of memory which is true in very specific case (when
+ it is running in passthrough mode). To get elements that autoplug
+ converters depending on the caps running in the pipeline (like
+ autovideoconvert), we need to have converters no lie about what they can
+ do when queried `accept_caps` or `query_caps`.
+ This still accepts any caps feature as before but it introduces
+ a restriction in the way we handle memory capsfeatures.
+ We keep previous behaviour in videoconvert and videoscale.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2020-04-17 15:23:03 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/meson.build:
+ * gst/videoconvert/gstvideoconvert.c:
+ * gst/videoconvert/meson.build:
+ * gst/videoconvertscale/README:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvert.h:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoconvertscaleplugin.c:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * gst/videoconvertscale/gstvideoscale.h:
+ * gst/videoconvertscale/meson.build:
+ * gst/videoscale/README:
+ * gst/videoscale/meson.build:
+ * meson_options.txt:
+ Introduce the videocolorscale element
+ Now that videoconvert and videoscale's are both based on
+ GstVideoConverter and are using the exact same code, it makes much more
+ sense to have one element doing the two operation, and it can be
+ more efficient in some cases (one single path for both operations).
+ This removes the `videoscale` and `videoconvert` plugins but keeps the element
+ but makes them also do both operations (adding some APIs to each element).
+ There is a small change in API for the `videoscale:dither` property which
+ was previously a totally unused boolean, it is now an enum and is used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-07 19:36:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdp: Parse the RFC5576 Source-specific media SDP attributes into caps
+ The format of the caps fields is
+ ssrc-(SSRC_VALUE)-(ATTRIBUTE_NAME)=(ATTRIBUTE_VALUE)
+ .
+ Parsing of the attributes from the caps into the SDP is not implemented
+ as this depends not only a single stream's caps but on the whole rtpbin
+ configuration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 18:53:45 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * ext/gl/gstglmixerbin.c:
+ gstglmixerbin: minor refactor of _find_element_pad_template
+ As suggested by @slomo, make the loop more readable and prevent returning
+ a garbage value to the caller from the previous implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-app.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/gstalsaelement.c:
+ * ext/alsa/gstalsaplugin.c:
+ * ext/alsa/gstalsasink.c:
+ * ext/alsa/gstalsasrc.c:
+ * ext/cdparanoia/gstcdparanoiasrc.c:
+ * ext/gl/gstgltestsrc.c:
+ * ext/ogg/gstoggdemux.c:
+ * gst-libs/gst/audio/gstaudiobasesrc.c:
+ * gst-libs/gst/audio/gstaudiocdsrc.c:
+ * gst-libs/gst/gl/gstglbasesrc.c:
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ * gst-libs/gst/pbutils/pbutils.c:
+ * gst-libs/gst/tag/gsttagdemux.c:
+ * gst-libs/gst/tag/lang.c:
+ * gst-libs/gst/tag/tags.c:
+ * gst/encoding/gstencodebasebin.c:
+ * gst/encoding/gstencodingelements.c:
+ * gst/playback/gstdecodebin2.c:
+ * gst/playback/gstparsebin.c:
+ * gst/playback/gstplaybackelement.c:
+ * gst/playback/gstplaybackplugin.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkconvertbin.c:
+ * gst/playback/gstplaysinkvideoconvert.c:
+ * gst/playback/gsturidecodebin.c:
+ * gst/playback/gsturidecodebin3.c:
+ * gst/playback/gsturisourcebin.c:
+ * gst/tcp/gstmultifdsink.c:
+ * gst/tcp/gstmultihandlesink.c:
+ * gst/tcp/gstmultisocketsink.c:
+ * gst/tcp/gstsocketsrc.c:
+ * gst/tcp/gsttcpclientsink.c:
+ * gst/tcp/gsttcpclientsrc.c:
+ * gst/tcp/gsttcpserversink.c:
+ * gst/tcp/gsttcpserversrc.c:
+ * tools/gst-device-monitor.c:
+ * tools/gst-play.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 11:21:03 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/gst-play.c:
+ gst-play: Do not split translatable string
+ Concatenating N_() strings does not work with gi18n.h macro, was working
+ only with GStreamer's redefinition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2021-12-08 11:48:08 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ cuda: Factor out a public GstCUDA library
+ So applications and elements implemented outside GStreamer can reuse
+ our infrastructure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2022-04-19 11:05:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-frame.c:
+ video: Fix possible overrun when iterating comp[] array
+ Fix 2 iterations that can overrun the array if the number of component is
+ equal to the size of the array.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-19 10:53:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ Revert "video-frame: avoid possible out of bound memory access"
+ This reverts commit c4255f08f787ff6a41504b538fa4c2e911d40ec7.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-18 15:44:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/sdp/meson.build:
+ meson: Add -Wl,-rpath,${libdir} on macOS
+ We made the gstreamer installation prefix relocatable by picking up
+ plugins relative to the location of libgstreamer-1.0.dylib, similar to
+ how it's done for Windows:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+ This had a lot of side-effects:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+ A partial fix for the cerbero side of these was:
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+ However, this relied on the consumers knowing that they need to add
+ `LC_RPATH` entries to the libdir of the prefix. This is done
+ automatically by build systems like Meson, but not by others, such as
+ Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+ RPATH entries to the gstreamer-1.0.pc file.
+ This also has the side-effect of fixing the loading of gstreamer rust
+ plugins on macOS:
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2022-04-18 18:14:44 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video-frame: avoid possible out of bound memory access
+ Although the components' initialization code would fill in -1 to all
+ unset components, make the code a bit more defensive and check for an
+ index bound first.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2021-05-25 14:41:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix collection leak
+ get_merged_collection() returns an owned stream collection and was
+ leaked in the else block.
+ Fix leak when running:
+ GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/954>
+
+2022-04-15 14:03:08 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: fix missing lock when unknown stream type in pad-removed cb
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2193>
+
+2022-04-14 15:21:48 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't duplicate stream selections
+ Make sure that the requested stream selection isn't identical to the current
+ one. If that's the case, just carry on as usual.
+ This avoids multiple `streams-selected` posting ... when the selection didn't
+ change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2185>
+
+2022-04-14 18:44:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: fix annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2188>
+
+2022-04-15 19:55:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
+ The GstRTPHeaderExtension API requires the input buffer to exist.
+ This can happen if the output packet is generated e.g. from a caps or
+ tags event like in the case for rtpgstpay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2198>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * tests/interactive/audio-trickplay.c:
+ * tests/interactive/benchmark-appsink.c:
+ * tests/interactive/benchmark-appsrc.c:
+ * tests/interactive/benchmark-video-conversion.c:
+ * tests/interactive/input-selector-test.c:
+ * tests/interactive/meson.build:
+ * tests/interactive/output-selector-test.c:
+ * tests/interactive/playback/decodetest.c:
+ * tests/interactive/playback/test.c:
+ * tests/interactive/playback/test2.c:
+ * tests/interactive/playback/test3.c:
+ * tests/interactive/playback/test4.c:
+ * tests/interactive/playback/test5.c:
+ * tests/interactive/playback/test6.c:
+ * tests/interactive/playback/test7.c:
+ * tests/interactive/playbin-text.c:
+ * tests/interactive/position-formats.c:
+ * tests/interactive/stress-playbin.c:
+ * tests/interactive/stress-videooverlay.c:
+ * tests/interactive/test-box.c:
+ * tests/interactive/test-colorkey.c:
+ * tests/interactive/test-effect-switch.c:
+ * tests/interactive/test-header-compile:
+ * tests/interactive/test-overlay-blending.c:
+ * tests/interactive/test-resample.c:
+ * tests/interactive/test-reverseplay.c:
+ * tests/interactive/test-scale.c:
+ * tests/interactive/test-textoverlay.c:
+ * tests/interactive/test-videooverlay.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-12 01:35:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/meson.build:
+ meson: gst-play: Restore Windows high-resolution timer support
+ Fix regression of the commit 2952a73f4083487f33ae83407bef5245d2f8fef2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2154>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ * tools/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-12 15:23:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ Fix `transfer` gobject-introspection annotation typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
+
+2022-04-10 10:55:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/gstsubparseelement.c:
+ subparse: don't try to index string with -1
+ If the len of the string turns out to be 0, str[len - 1] resolved to
+ str[-1] which is not a good idea.
+ Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2147>
+
+2022-04-08 11:10:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ * ext/ogg/vorbis_parse.c:
+ * ext/ogg/vorbis_parse.h:
+ ogg: fix possible buffer overrun
+ If an ogg stream does not match our expectations of how the end of a
+ buffer may be structured, it was possible to read memory past the end of
+ the buffer parsed by libogg. Include a bounds check for this case and
+ stop parsing.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3930
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2134>
+
+2022-04-08 01:52:32 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: fix transfer annotation for push and push_list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2133>
+
+2022-04-07 10:08:37 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst-libs/gst/riff/riff-media.c:
+ riff-media: fix memory leak after usage for g_strjoin
+ This leak is observed with valgrind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2129>
+
+2022-04-06 18:08:46 +0200 Bastian Krause <bst@pengutronix.de>
+
+ * ext/gl/gstgltransformation.c:
+ * ext/gl/gstgltransformation.h:
+ gltransformation: let graphene alloc its structures memory aligned
+ With NEON instructions enabled, graphene expects the memory passed to it
+ 16-byte-aligned. Otherwise unaligned memory access faults occur causing
+ SIGBUS signals.
+ graphene has alloc functions for its structures that take care of this,
+ so use them.
+ See also: https://github.com/ebassi/graphene/issues/215#issuecomment-794744829
+ Suggested-by: Sebastian Dröge <sebastian@centricular.com>
+ Signed-off-by: Bastian Krause <bst@pengutronix.de>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1321>
+
+2022-04-04 10:46:24 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: Clarify buffer ref semantics in signals
+ The documentation could be read to mean that the caller continuous to
+ 'own' the buffer, and that there is some other mechanism to find out
+ when to unref it.
+ Clarify that "not taking ownership" here means "taking a reference",
+ and specify that you can unref it at any time after calling the
+ function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2110>
+
+2021-01-21 16:01:38 +0800 Zhao Zhili <quinkblack@foxmail.com>
+
+ * tests/examples/gl/gtk/gstgtk.c:
+ * tests/examples/playback/playback-test.c:
+ examples: fix build on macOS with gtk+-quartz-3.0
+ gdk_quartz_window_get_nsview is not declared in the header file now:
+ error: implicit declaration of function 'gdk_quartz_window_get_nsview'
+ is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+ fixes #979
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-04-01 21:47:59 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/gl/gstglelement.c:
+ * sys/ximage/ximage.c:
+ * sys/xvimage/xvimage.c:
+ * tests/check/elements/glfilter.c:
+ * tests/check/elements/glimagesink.c:
+ * tests/check/elements/glmixer.c:
+ * tests/check/elements/glstereo.c:
+ * tools/gst-play.c:
+ ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst/tcp/meson.build:
+ * gst/videoscale/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/app/meson.build:
+ * tests/examples/audio/meson.build:
+ * tests/examples/decodebin_next/meson.build:
+ * tests/examples/dynamic/meson.build:
+ * tests/examples/encoding/meson.build:
+ * tests/examples/fft/meson.build:
+ * tests/examples/gio/meson.build:
+ * tests/examples/overlay/meson.build:
+ * tests/examples/playback/meson.build:
+ * tests/examples/playrec/meson.build:
+ * tests/examples/seek/meson.build:
+ * tests/examples/snapshot/meson.build:
+ * tools/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 12:47:06 +0200 Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: should copy metadatas from the incoming buffer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094>
+
+2022-04-01 10:25:23 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ playbin/playbin3: Allow setting a NULL URI
+ The URI is already initialized to NULL at the beginning and GstPlayer
+ was assuming that it is possible to set to NULL at a later time too.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1124
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2090>
+
+2022-03-31 23:41:41 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Rename parse_state to parse_modifier_state
+ `parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087>
+
+2022-03-29 17:51:13 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ * tests/check/libs/gstglmatrix.c:
+ * tests/check/meson.build:
+ base:gl: add x11 deps to gstglx11_dep
+ On MacOS with homebrew the xlib-xcb.h is in
+ own cellar /opt/homebrew/Cellar/libx11/1.7.3.1/include
+ Need to add the windowing dependencies to gl tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2061>
+
+2020-03-30 15:16:29 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tests/examples/overlay/meson.build:
+ overlay: Fix qt support detection
+ On Ubuntu moc-qt5 command is called moc. This requires Meson 0.54.0 for
+ the new has_tools() method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2075>
+
+2022-03-29 22:16:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play-kb.c:
+ gst-play: Improve Win32 keyboard input handling
+ The console HANDLE will be keep signalled state unless application
+ reads console input buffer immediately. So we should read and flush
+ console input buffer from the thread where the event is signalled,
+ instead of GMain context thread.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2058>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 18:43:27 +0200 Enrique Ocaña González <eocanha@igalia.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: improve GL context sharing
+ Configure playsink tried element with the bus of the main pipeline.
+ That tried element can be a gl video sink, which would benefit from being
+ able to propagate context messages to the main pipeline and have other
+ internal pipeline elements configured with it. Having different elements
+ configured with the same GL context allows them to share buffers with
+ video/x-raw(memory:GLMemory) caps and achieving zero-copy.
+ Thanks to Alicia Boya García <aboya@igalia.com> for her work co-debugging
+ the issue and contributing to find a solution.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2056>
+
+2021-06-09 11:25:36 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: When streams-aware, remove pads immediately
+ For the same reason we add them immediately
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-06-08 14:31:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't wait for pads content when streams-aware
+ If the adaptive demux is streams-aware it can add/remove pads at any point in
+ time without the need for no-more-pads or data blocking
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-29 07:31:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't do buffering if source already does
+ Sources that can internally handle buffering shouldn't have yet-another
+ buffering element after it. This can be simply detected by checking if it can
+ answer a TIME BUFFERING query just after creation.
+ If that is the case, we can expose the element source pads directly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-28 07:49:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Handle upstream selection
+ Detect if upstream handles stream-selection, and if so bypass all stream
+ selection handling (streams are forwarded as-is).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-28 12:13:12 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ pbutils: Fix wmv screen detection
+ strncmp vs !strncmp :)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2050>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-format.h:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-16 10:31:56 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * gst/rawparse/gstrawvideoparse.c:
+ rawvideoparse: set format from caps in gst_raw_video_parse_set_config_from_caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1970>
+
+2022-03-27 16:35:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixerbin.c:
+ glmixerbin: slightly better pad/element creation
+ Use the return value from gst_element_link_pads() and gst_bin_add()
+ Fixes:
+ ../ext/gl/gstglmixerbin.c:305:12: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean res = TRUE;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2038>
+
+2022-03-25 13:00:13 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ gl: cocoa: fix warnings of unused variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2026>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 13:01:52 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add missing annotation to send_event_simple
+ Adds the missing "transfer full" annotation for the event argument.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2017>
+
+2022-03-22 21:13:31 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * sys/xvimage/meson.build:
+ * sys/xvimage/xvcontext.c:
+ * sys/xvimage/xvcontext.h:
+ * sys/xvimage/xvimagesink.c:
+ xvimagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-03 15:01:46 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/ximage/meson.build:
+ * sys/ximage/ximagesink.c:
+ * sys/ximage/ximagesink.h:
+ ximagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-01-31 20:25:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add API for touchscreen events
+ Add 5 new navigation event types for touchscreen events, with the same
+ naming and meaning as in libinput - touch-down, touch-motion, touch-up,
+ touch-frame and touch-cancel - as well as constructors and parse
+ functions for them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstglsinkbin.c:
+ * ext/gl/gstgltransformation.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/videoscale/gstvideoscale.c:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:22:29 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add coordinate helper functions
+ Add a function to get x/y coordinates from suitable navigation events,
+ and one to create a copy with given coordinate values.
+ For e.g. translating event coordinates, this avoids having to either
+ switch on the event type to select the right parse function, or
+ having to rely on implementation details of the underlying event
+ structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:06:12 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * tests/check/libs/struct_aarch64.h:
+ * tests/check/libs/struct_arm.h:
+ * tests/check/libs/struct_i386.h:
+ * tests/check/libs/struct_i386_osx.h:
+ * tests/check/libs/struct_ppc32.h:
+ * tests/check/libs/struct_ppc64.h:
+ * tests/check/libs/struct_x86_64.h:
+ navigation: Improve interface to avoid exposing implementation details
+ This deprecates the current send_event interface, and the wrapper
+ functions based on it, replacing it with a send_event_simple interface and
+ wrapper function. Together with the new event constructors, this avoids
+ implementations having to directly access the underlying structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-08-12 11:00:11 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-info.c:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add support for linear 8x128 NV12 tiles and 10bit BE tiles
+ This adds linear 8x128 NV12 based tiles and NV12 10bit big endian tiles.
+ These formats are used by i.MX 8QXP/8QM VPU and exposed in V4L2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 20:43:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ discoverer: chain up to parent finalize methods in all our types
+ Fixes a memory leak:
+ Direct leak of 32 byte(s) in 1 object(s) allocated from:
+ #0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
+ #1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
+ #2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
+ #3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
+ #4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
+ #5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
+ #6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
+ #7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
+ #8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
+ #9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
+ #10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
+ #11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
+ #12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
+ #13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1984>
+
+2022-01-17 16:10:37 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglvideomixer.c:
+ * tests/check/libs/gstglvideomixerelement.c:
+ * tests/check/meson.build:
+ glvideomixerelement: send translated navigation events to the relevant sink pads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-01-05 19:33:06 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/compositor/compositor.c:
+ * tests/check/elements/compositor.c:
+ compositor: send translated navigation events to the relevant sink pads
+ Fixes #888
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-03-15 13:59:16 +0100 Corentin Noël <tintou@noel.tf>
+
+ * gst-libs/gst/audio/gstaudiodecoder.h:
+ * gst-libs/gst/audio/gstaudioringbuffer.c:
+ * gst-libs/gst/audio/gstaudiosink.h:
+ * gst-libs/gst/audio/gstaudiosrc.h:
+ * gst-libs/gst/video/gstvideoaggregator.h:
+ * gst-libs/gst/video/video-chroma.c:
+ * gst-libs/gst/video/video-scaler.c:
+ gst-plugins-base: Fix several annotations
+ Add annotations for virtual methods when possible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2021-12-16 18:41:38 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: change default bitrate-type from cbr to constrained-vbr
+ Which is the default in libopus itself as well, with a comment
+ that constrained-vbr is considered "safer for real-time use".
+ Unclear why CBR was the default in the first place.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1451>
+
+2022-03-15 12:57:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ rtpbuffer: The out args for rtp extension data are optional
+ The code checks that these are != NULL before dereferencing them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1962>
+
+2022-03-10 10:25:53 +0100 Bastien Nocera <hadess@hadess.net>
+
+ * gst-libs/gst/video/convertframe.c:
+ * meson.build:
+ convertframe: Add support for GL-memory backend GstFrame input
+ Add "gldownload" early in the pipeline so that GL-memory backed raw
+ frames can be downloaded and processed on the CPU.
+ Closes: #1073
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1916>
+
+2022-03-11 18:08:14 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Set install_tag on some files
+ Meson tries to guess the tag (runtime, devel, etc) for every installed
+ file, but it cannot guess them all. There is a list at the end of
+ meson-log.txt of files we need to tag manually.
+ See https://mesonbuild.com/Installing.html#installation-tags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 03:45:48 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Remove stale code
+ Remove now-unused get_stream_type_for_event() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 16:23:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Reset parsebin when new caps arrive
+ Check if parsebin can handle the new caps, and if not reset it so that it can
+ reconfigure itself for the new stream format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-03-09 10:15:08 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Convert checks to assertions
+ "decodebin.input" is never resetted and should always be present, therefore make
+ it an assertion check
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 14:52:07 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Implement ACCEPT_CAPS handling
+ The default query handler would go through typefind, which by default accepts
+ any CAPS. But once configured, parsebin can't reconfigure itself, it should
+ therefore pass through the ACCEPT_CAPS query to the first element after
+ typefind (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 05:48:08 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Hold playbin lock on pad-added
+ Take the playbin lock when accessing the combiner
+ to add a new pad to link to. Fixes races against
+ streams-selected messages triggering reconfiguration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 02:52:47 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Reconfigure on streams-selected message.
+ Don't reconfigure outputs when the select-streams
+ event is sent from the app, as the selection may
+ not take effect for some time. Instead, wait
+ for the pipeline to confirm the new set of
+ selected streams when it sends the message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-11-11 03:20:23 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Fix reconfiguration after removing text_sink
+ If we previously had subtitles coming in, the video
+ may be chained through a text overlay block. Before,
+ the code would end up trying to link pads that were
+ already linked and video would not get reconnected
+ properly.
+ To fix that, make sure that the candidate
+ pads are actually unlinked first. If a textoverlay
+ is present and no longer needed, it will be cleaned
+ up later in the reconfiguration sequence.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-08-06 19:27:02 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Complete reconfiguration on pad release.
+ Requesting a new pad can start a reconfiguration cycle, where
+ playsink will block all input pads and wait for data on them
+ before doing internal reconfiguration. If a pad is released,
+ that reconfiguration might never trigger because it's now waiting
+ for a pad that doesn't exist any more.
+ In that case, complete the reconfiguration on pad release.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1180>
+
+2022-03-08 09:46:33 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/codec-utils.h:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add function to parse RFC 6381 codecs field
+ This is the opposite of `gst_codec_utils_caps_get_mime_codec()`, which allows
+ elements to get the `GstCaps`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1894>
+
+2022-03-09 16:02:06 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * tests/check/libs/rtpbasepayload.c:
+ rtpbasepayload: Remove dead twcc code
+ This feature was removed in 7a53fbad68d702ca4905f7da223f4d2884548edc,
+ but this code was left behind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1902>
+
+2021-12-14 16:14:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: Handle GAP events before buffers
+ Make sure we did initial negotiation and segment pushing if we get GAP events
+ before buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2021-11-17 15:30:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/tag/gsttagdemux.c:
+ tagdemux: Properly propagate sequence numbers
+ If we received a time segment from upstream, we need to make sure we propagate
+ it downstream with the same sequence number.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2022-03-02 03:43:00 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Add lock to protect buffering messages
+ Fix a small race where a group can receive stream-start
+ and post a pending buffering message just as another
+ thread posts a different buffering message, causing them
+ to be received by the application out of order. In the
+ worst case, this leads the application receiving a
+ stale 99% buffering message and going back to buffering
+ right after the 100% buffering message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1840>
+
+2022-03-02 12:15:19 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * gst/encoding/gstencodebasebin.c:
+ encodebasebin: Use GST_DEBUG instead of GST_ERROR when skipping muxer
+ _get_muxer() skips the muxers that do not satisfy the requirement and select
+ the desired one. It should not print error log, so use debug log instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1830>
+
+2022-03-04 22:21:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gldisplay: Reorder GST_GL_WINDOW check for egl-device
+ "egl-device" should be checked before the "egl", otherwise unexpected egl will be picked
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1853>
+
+2022-02-24 01:41:34 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Allow switching to previous tracks
+ Implement case sensitive key-press handling,
+ and make 'V', 'A', 'S' switch to the previous
+ video, audio, or subtitle track. The lower-case
+ keypress cycles to the next track, as before
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1841>
+
+2021-09-01 14:02:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ * tests/check/libs/sdp.c:
+ sdp: support multiple rid parameters
+ As specified formally in RFC8851
+ Each rid description is placed in its own caps field in the structure.
+ This is very similar to the already existing extmap-$id sdp<->caps
+ transformations that already exists.
+ The mapping is as follows:
+ a=rid:0 direction ';'-separated params
+ where direction is either 'send' or 'recv'
+ gets put into a caps structure like so:
+ rid-0=(string)<"direction","param1","param2",etc>
+ If there are no rid parameters then the caps structure is generated to
+ only contain the direction as a single string like:
+ rid-0=(string)direction
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1760>
+
+2022-03-02 00:52:22 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: Remove dead variables
+ Leftover junk from original port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1820>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * gst-libs/gst/tag/licenses.c:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2021-12-10 15:51:51 +0100 Célestin Marot <marotcelestin@gmail.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video-info: encoded format can have RGB color-matrix (Fixes #1435)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435>
+
+2022-02-27 13:19:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
+ ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803>
+
+2022-02-16 18:49:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/audio/audio-converter.c:
+ * gst-libs/gst/audio/audio-converter.h:
+ * gst/audioconvert/gstaudioconvert.c:
+ * gst/audioconvert/gstaudioconvert.h:
+ audioconvert: Add dithering-threshold property
+ By default, no dithering is applied if the target bit depth is above 20
+ bits. This new property allows to apply dithering nonetheless in these
+ cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730>
+
+2022-02-16 13:28:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/audio-quantize.c:
+ audio-quantize: Switch dither PRNG from LCG to xorshift
+ While this is slightly more expensive (~48% slower per random number) it
+ does not cause any measurable difference when running through a complete
+ audio conversion pipeline.
+ On the other hand its random numbers are of much higher quality and on
+ spectrograms for 32 bit to 24 bit conversion the difference is clearly
+ visible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729>
+
+2022-01-22 01:30:57 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Fix trick-mode handling.
+ The instant-rate value in the TrickMode enum is a
+ flag, but the other values are not. Move instant-rate
+ to the end of the enum and give it a value large enough
+ for it to be used without modifying the trick-mode
+ setting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1788>
+
+2022-02-24 10:09:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/appsrc.c:
+ appsrc: Store strong references to the expected buffers in the tests
+ Otherwise the buffers might already be freed as they were only owned by
+ the GstSample / appsrc and potentially don't survive until the pad
+ probe, as observed in some CI runs of the tests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1787>
+
+2022-02-22 15:08:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Correct use of start_time/end_time
+ When 29713c5d changed most uses of `start_time` and `end_time` to
+ `start_running_time` and `end_running_time`, it missed two.
+ Fixes: 29713c5d40a1d7d1f21dada68f55f7a97f0b7025
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779>
+
+2022-02-22 10:54:23 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
+ This gives RTP header extensions some more metadata to work from.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774>
+
+2022-02-21 14:23:27 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+ * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbuffer.c:
+ * gst-libs/gst/gl/gstglbuffer.h:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ * gst-libs/gst/gl/gstglmemorypbo.h:
+ * gst-libs/gst/gl/gstglrenderbuffer.c:
+ * gst-libs/gst/gl/gstglrenderbuffer.h:
+ gl: Mark GL memory GType functions as deprecated
+ They can't be used in any useful way. The type of every GstMemory is
+ always GST_TYPE_MEMORY and the subtyping relationship has to be
+ implemented on top of that via the associated allocator and mem_type
+ string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:12:04 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ * gst-libs/gst/gl/gstglshaderstrings.c:
+ gl: Add `#ifndef GST_REMOVE_DEPRECATED` for existing deprecated API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:08:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gl: Add versioned `Deprecated` marker to gst_gl_display_find_window
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:05:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.h:
+ * gst-libs/gst/gl/gstglshaderstrings.h:
+ gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:02:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gl-prelude.h:
+ gl: Add GST_GL_DEPRECATED
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-20 14:05:05 +0100 Sebastian Groß <s3b.gr0ss@gmail.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: shader: Fix dframe out of bound write
+ shader_fade_and_move_horiz_out writes a complete stride at the end of its
+ dframe data
+ This led to SIGSEGV since the stride reached into sframe->map[0]->memory
+ which could not be umpapped later on.
+ This is due to `d` is increased twice. Once at the end of the upper loop
+ and at the start of the lower loop.
+ The corresponding dframe stride is therefore skipped.
+ Rewind `d` and start at the correct position.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-18 15:25:17 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/libs/video.c:
+ tests: video: Add a unit test for stride extrapolation
+ This is a minimal unit test the show that the stride extrapolation can work
+ with all pixel format we support. This minimal verify that the extrapolation
+ match the stride we set into GstVideoInfo with 320x240 for all the pixel
+ format we support. The tiles formats are skipped, since their stride is
+ set as two 16bit integers, and we also skip over palette planes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:04:13 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add an helper to extrapolate strides
+ Many of the legacy APIs, specifically in the Linux Kernel, have a
+ single stride for the pictures. In this context, it is common
+ to extrapolate the other strides based on the selected pixel
+ format. Such function have been copy pasted from video4linux2
+ plugin into wayland, kms and v4l2codecs plugins.
+ This patch implements a generalized from of that function and
+ make it available to everyone through the video library.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2021-12-02 21:46:59 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-tile.h:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add NV12_16L32S aka Mediatek MM21 support
+ Unlike other simple tiled formats, the Mediatek HW use different tile size
+ per-plane. The tile size is scaled according to the subsampling. Effectively,
+ using the name 16L32S to represent linearly layout tiles of size 16x32 bytes
+ in the Y plane, and 16x16 in the UV plane. In order to make this specificity
+ discoverable, a new SUBTILES flags have been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-19 01:58:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Use floor() to calculate current position
+ ... instead of round(). Depending on framerate, calculated position
+ may not be clearly represented by using uint64, 30000/1001 for example.
+ Then the result of round() can be sliglhtly larger (1ns) than
+ buffer timestamp. And that will cause unnecessary frame delay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1747>
+
+2021-10-28 17:09:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ base: audioencoder: Keep serialize event behind buffers
+ If a serialized event arrives behind a buffer, it should not be send before
+ it. This fixes the pending event handling so that only early pending events,
+ the one that arrrived or was generated while the adapter was empty get send
+ before pushing buffer. All other events are not pushed after.
+ This issue lead the latency tracer to think our audio encoder did not have any
+ latency. This was testing with opusenc in a live pipeline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1266>
+
+2022-02-06 22:54:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+ getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+ instead which provides exactly the same functionality and can be
+ used with UWP as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
+ * meson.build:
+ * tests/examples/seek/instant-rate-change.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/seek/instant-rate-change.c:
+ Remove some trailing white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-07 20:02:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * tests/check/elements/compositor.c:
+ videoaggregator: Fix for unhandled negative rate
+ Nagative rates have been considered only in
+ gst_video_aggregator_advance_on_timeout(). Update other places
+ to fix broken reverse playback.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1500>
+
+2021-08-25 20:18:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ * tests/check/gst/typefindfunctions.c:
+ typefindfunctions: Fix WebVTT format detection
+ If WebVTT file consists of "WebVTT" header without body,
+ the file size can be smaller than 10 bytes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1359>
+
+2022-01-31 13:01:10 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: add more constructors for navigation events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-07 09:30:58 +0100 David Svensson Fors <davidsf@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Avoid out-of-bounds error
+ For artificial input (in unit tests), all six bytes of
+ constraint_indicator_flags in hevc_caps_get_mime_codec() can be
+ zero. Add a guard against an out-of-bounds error that occurred in that
+ case. Change variables to signed int so comparison with -1 works.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1677>
+
+2020-07-17 14:37:14 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/videotestsrc/gstvideotestsrc.c:
+ * gst/videotestsrc/gstvideotestsrc.h:
+ videotestsrc: Don't re-render every frame when it's not needed.
+ When the pattern being rendered by videotestsrc doesn't have motion,
+ cache a rendered buffer and output it repeatedly with updated
+ metadata.
+ Based on a patch by Edward Hervey <edward@centricular.com>
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/10
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1293>
+
+2021-12-22 18:46:44 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.h:
+ navigation: Fix Since marker for mouse scroll
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1665>
+
+2022-02-03 01:04:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ video-color: Fix for missing clipping in PQ EOTF function
+ * Add missing clipping in EOTF
+ * Use pre-calculated values
+ * Update variable names to specification's defined ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1629>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE: