Update ChangeLogs for 1.20.3

This commit is contained in:
Tim-Philipp Müller 2022-06-15 23:36:10 +01:00
parent d1bb5e014d
commit a80e65217e
12 changed files with 1021 additions and 0 deletions

View file

@ -1,7 +1,14 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-devtools.doap:

View file

@ -1,7 +1,22 @@
2022-05-13 10:23:54 +1000 Matthew Waters <matthew@centricular.com>
* ges/ges-video-uri-source.c:
ges/videourisource: handle non-1/1 PAR source videos
The automatic scaling done by framepositioner does not account for the
par of the video source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2614>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:

View file

@ -1,7 +1,14 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:

View file

@ -1,7 +1,14 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:

View file

@ -1,7 +1,274 @@
2022-06-09 23:19:24 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.cpp:
d3d11decoder: Fix for alternate interlacing signalling
Don't set d3d11+interlace caps feature. None of d3d11 elements
support it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2584>
2022-05-27 05:15:13 +1000 Jan Schmidt <jan@centricular.com>
* sys/androidmedia/gstamc-constants.h:
* sys/androidmedia/gstamc.c:
* sys/androidmedia/gstamcvideoenc.c:
* sys/androidmedia/gstamcvideoenc.h:
amc: Add H.265 encoder mapping.
Add mime type mapping to enable the use of Android H.265 encoders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2572>
2022-05-30 16:31:38 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/gstwebrtcbin.c:
* tests/check/elements/webrtcbin.c:
webrtcbin: Reject answers that don't contain the same number of m-line as offer
Otherwise, it segfaults later. Also add test to validate this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2561>
2022-06-04 17:23:00 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/rtmp2/rtmp/rtmpmessage.c:
rtmp2: Fix allocation of GstRtmpMeta
Use the right size.
On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
masked this bug. On 32-bit platforms, it causes crashes. Thanks to
@maxatka for discovering this.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2564>
2022-06-06 00:30:15 +0200 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
* ext/opencv/gstcvtracker.cpp:
* ext/opencv/gstcvtracker.h:
* ext/opencv/meson.build:
opencv: Allow building against 4.6.x
Replace the broken version checks with one modeled after
`GLIB_CHECK_VERSION`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2558>
2022-05-27 21:13:43 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11memory.cpp:
* gst-libs/gst/d3d11/gstd3d11memory.h:
* sys/d3d11/gstd3d11decoder.cpp:
d3d11decoder: Work around Intel DXVA driver crash
Intel DXVA driver crashes sometimes (from GPU thread) if
ID3D11VideoDecoder is released while there are outstanding view objects.
To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
in GstD3D11Memory object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2513>
2022-05-24 11:06:39 +0200 Erwann Gouesbet <erwann.gouesbet@blacknut.com>
* sys/d3d11/gstd3d11screencapture.cpp:
d3d11screencapture: Fix missing/outdated cursor shape
d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
- AcquireNextFrame only provides cursor shape when there is one update
- current d3d11screencapture skips cursor shape when mouse is not drawn
So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
"show-cursor"=false and then switches this property to true, the cursor will not be
actually drawn until AcquireNextFrame provides a new cursor shape.
This commit makes d3d11screencapture always update the cursor shape information, even
if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
when requested to draw it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2488>
2022-05-18 16:54:53 +0100 Philippe Normand <philn@igalia.com>
* ext/webrtc/webrtcdatachannel.c:
datachannel: Notify low buffered amount according to spec
Quoting
https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
The bufferedAmountLowThreshold attribute sets the threshold at which the
bufferedAmount is considered to be low. When the bufferedAmount decreases from
above this threshold to **equal** or below it, the bufferedamountlow event fires.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2452>
2022-05-17 14:15:40 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/mpegtsmux/gstbasetsmux.c:
tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2446>
2022-05-17 14:02:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/sdp/gstsdpdemux.c:
sdpdemux: Release request pads from rtpbin when freeing a stream
Otherwise the pads of the rtpbin stay around forever and are leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2445>
2022-05-06 18:21:00 -0400 Olivier Crête <olivier.crete@ocrete.ca>
* gst/pcapparse/gstpcapparse.c:
pcapparse: Set timestamp in DTS, not PTS
This matches the behaviour of basesrc, in particular, it matches the
behaviour of udpsrc, so it's easier to use to as a replacement to test
rtpjitterbuffer and other similar elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2424>
2022-04-28 16:02:26 +0100 Diogo Goncalves <diogo@diporg.com>
* sys/applemedia/avfvideosrc.m:
avfvideosrc: fix wrong framerate selected for caps
This fix solves an issue where a format that doesn't support the
requested framerate would be selected. It ensures that we use the first
format and framerate pair that supports the requested caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2418>
2022-05-12 07:23:29 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Handle files produced by legacy FFmpeg
Until March 2022, the FFmpeg MXF muxer would write the various index table
segments with the same instance ID, which should only be used if it is a
duplicate/repeated table.
In order to cope with those, we first compare the other index table segment
properties (body/index SID, start position) before comparing the instance
ID. This will ensure that we don't consider them as duplicate, but can still
detect "real" duplicates (which would have the same other properties).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2408>
2022-05-06 17:53:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/va/gstvadisplay_drm.c:
libs: va: Add O_CLOEXEC flag at opening drm device.
So any other potential subprocess won't have access to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2391>
2022-05-05 20:35:57 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/mxf/mxfmux.c:
mxfmux: Disable aggregator's default negotiation
mxfmux can't negotiate caps with upstream/downstream and always outputs
specific caps based on the input streams. This will always happen before
it produces the first buffers.
By having the default aggregator negotiation enabled the same caps
would be pushed twice in the beginning, and again every time a
reconfigure event is received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2022-05-05 20:35:49 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/mpegtsmux/gstbasetsmux.c:
mpegtsmux: Disable aggregator's default negotiation
mpegtsmux can't negotiate caps with upstream/downstream and always outputs
specific caps based on the input streams. This will always happen before
it produces the first buffers.
By having the default aggregator negotiation enabled the same caps
would be pushed twice in the beginning, and again every time a
reconfigure event is received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2022-05-05 00:24:26 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gsth264decoder.c:
h264decoder: Fix for unhandled low-delay decoding case
Baseclass calls get_preferred_output_delay() in a chain of
sequence header parsing and then new_sequence() is called
with required DPB size (includes render-delay) information.
Thus latency query should happen before the sequence header
parsing for subclass to report required render-delay accordingly
via get_preferred_output_delay() method.
(e.g., zero delay in case of live pipeline)
This commit is to fix wrong liveness signalling in case of
upstream packetized format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2380>
2022-05-04 23:36:30 +0900 Seungha Yang <seungha@centricular.com>
* sys/nvcodec/gstnvh264dec.c:
* sys/nvcodec/gstnvh265dec.c:
nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
Allocated memory size has not been updated which results in
realloc per slice. Fixing it and also release bitstream buffer
on ::close(), not finalize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2379>
2022-05-05 02:16:54 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11screencapture.cpp:
* sys/d3d11/gstd3d11screencapture.h:
* sys/d3d11/gstd3d11screencapturesrc.cpp:
* tests/examples/d3d11/d3d11screencapturesrc.cpp:
d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
GstD3D11ScreenCapture object is pipeline-independent global object
and the object can be shared by multiple src elements,
in order to overcome a limitation of DXGI Desktop Duplication API.
Note that the API allows only single capture session in a process for
a monitor.
Therefore GstD3D11ScreenCapture object must be able to handle a case
where a src element holds different GstD3D11Device object. Which can
happen when GstD3D11Device context is not shared by pipelines.
What's changed:
* Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
texture to be able to copied into other device's texture
* Holds additional shader objects per src element and use it when drawing
mouse
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2378>
2022-04-17 23:55:55 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.cpp:
d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
Our decoder implementation does not use downstream d3d11 pool for
decoding because of special requirement of D3D11/DXVA. So preallocation
using the downstream buffer pool will waste GPU memory in most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2377>
2022-04-16 21:27:57 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.cpp:
d3d11decoder: Copy HDR10 related caps field manually
If negotiate() is called from the set_format() chain, sinkpad may not
hold caps yet, so baseclass cannot copy it over to srcpad caps.
Copy them manually.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2376>
2022-04-29 20:28:53 +0200 Jakub Adam <jakub.adam@collabora.com>
* sys/d3d11/gstd3d11screencapture.cpp:
d3d11screencapture: Set viewport when drawing mouse cursor
If there weren't any moved/dirty regions in the captured frame, the
viewport of the ID3D11DeviceContext would be left at whatever previous
value it had, which could lead to the cursor being drawn in a wrong
position and/or in an incorrect size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2371>
2022-04-22 12:29:29 +0200 Corentin Damman <c.damman@intopix.com>
* sys/nvcodec/cuda-converter.c:
cuda-converter: fix nvrtc compilation on non-English locale systems
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2367>
2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* gst-libs/gst/vulkan/meson.build:
* sys/msdk/meson.build:
Meson: Fix deprecation warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2358>
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/2357>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-bad.doap:

View file

@ -1,7 +1,191 @@
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/2495>
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/2486>
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/2455>
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/2447>
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/2442>
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/2440>
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/2426>
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/2419>
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/2416>
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/2368>
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/2368>
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/2359>
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/2358>
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/2357>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-base.doap:

View file

@ -1,7 +1,361 @@
2022-05-18 10:23:15 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/matroska/matroska-demux.c:
matroskademux: Avoid integer-overflow resulting in heap corruption in WavPack header handling code
blocksize + WAVPACK4_HEADER_SIZE might overflow gsize, which then
results in allocating a very small buffer. Into that buffer blocksize
data is memcpy'd later which then causes out of bound writes and can
potentially lead to anything from crashes to remote code execution.
Thanks to Adam Doupe for analyzing and reporting the issue.
CVE: CVE-2022-1920
https://gstreamer.freedesktop.org/security/sa-2022-0004.html
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1226
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2613>
2022-05-30 10:15:37 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Fix integer overflows in zlib decompression code
Various variables were of smaller types than needed and there were no
checks for any overflows when doing additions on the sizes. This is all
checked now.
In addition the size of the decompressed data is limited to 200MB now as
any larger sizes are likely pathological and we can avoid out of memory
situations in many cases like this.
Also fix a bug where the available output size on the next iteration in
the zlib decompression code was provided too large and could
potentially lead to out of bound writes.
Thanks to Adam Doupe for analyzing and reporting the issue.
CVE: tbd
https://gstreamer.freedesktop.org/security/sa-2022-0003.html
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>
2022-05-18 11:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/matroska/matroska-read-common.c:
matroskademux: Fix integer overflows in zlib/bz2/etc decompression code
Various variables were of smaller types than needed and there were no
checks for any overflows when doing additions on the sizes. This is all
checked now.
In addition the size of the decompressed data is limited to 120MB now as
any larger sizes are likely pathological and we can avoid out of memory
situations in many cases like this.
Also fix a bug where the available output size on the next iteration in
the zlib/bz2 decompression code was provided too large and could
potentially lead to out of bound writes.
Thanks to Adam Doupe for analyzing and reporting the issue.
CVE: CVE-2022-1922, CVE-2022-1923, CVE-2022-1924, CVE-2022-1925
https://gstreamer.freedesktop.org/security/sa-2022-0002.html
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>
2022-05-18 12:00:48 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/avi/gstavidemux.c:
avidemux: Fix integer overflow resulting in heap corruption in DIB buffer inversion code
Check that width*bpp/8 doesn't overflow a guint and also that
height*stride fits into the provided buffer without overflowing.
Thanks to Adam Doupe for analyzing and reporting the issue.
CVE: CVE-2022-1921
See https://gstreamer.freedesktop.org/security/sa-2022-0001.html
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1224
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2609>
2022-05-19 04:16:25 +0000 Adam Doupe <adamdoupe@gmail.com>
* gst/smpte/gstmask.c:
smpte: Fix integer overflow with possible heap corruption in GstMask creation.
Check that width*height*sizeof(guint32) doesn't overflow when
allocated user_data for mask, potential for heap overwrite when
inverting.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1231
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2605>
2022-06-07 17:31:43 +0200 Bastien Nocera <hadess@hadess.net>
* ext/gtk/gtkgstglwidget.c:
gtk: Fix double-free when OpenGL can't be initialised
gtk_gl_area_get_error() doesn't return a copy of the error, but just the
error. If initialising OpenGL fails, then GtkGstGLWidget will consume
the error, and cause GTK to try and display freed memory.
==50914== Invalid read of size 8
==50914== at 0x4C4CB8A: gtk_gl_area_draw_error_screen (gtkglarea.c:663)
==50914== by 0x4C4CB8A: gtk_gl_area_draw (gtkglarea.c:687)
==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
==50914== by 0x4D4B6BF: gtk_stack_render (gtkstack.c:2207)
==50914== by 0x4BB4B03: gtk_css_custom_gadget_draw (gtkcsscustomgadget.c:159)
==50914== by 0x4BBA4C4: gtk_css_gadget_draw (gtkcssgadget.c:885)
==50914== by 0x4D4D780: gtk_stack_draw (gtkstack.c:2119)
==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
==50914== by 0x4BAF0C3: gtk_container_draw (gtkcontainer.c:3674)
==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
==50914== Address 0x187a0818 is 8 bytes inside a block of size 16 free'd
==50914== at 0x48480E4: free (vg_replace_malloc.c:872)
==50914== by 0x49A5B8C: g_free (gmem.c:218)
==50914== by 0x49C1013: g_slice_free1 (gslice.c:1183)
==50914== by 0x4990DE4: g_error_free (gerror.c:870)
==50914== by 0x4990FE9: g_clear_error (gerror.c:1052)
==50914== by 0x1A489780: _get_gl_context (gtkgstglwidget.c:540)
==50914== by 0x1A4863CB: gst_gtk_invoke_func (gstgtkutils.c:39)
==50914== by 0x49A3834: g_main_context_invoke_full (gmain.c:6137)
==50914== by 0x1A486450: gst_gtk_invoke_on_main (gstgtkutils.c:59)
==50914== by 0x1A48A29E: gtk_gst_gl_widget_init_winsys (gtkgstglwidget.c:632)
==50914== by 0x1A4887E7: gst_gtk_gl_sink_start (gstgtkglsink.c:267)
==50914== by 0x6579810: gst_base_sink_change_state (gstbasesink.c:5662)
==50914== Block was alloc'd at
==50914== at 0x484586F: malloc (vg_replace_malloc.c:381)
==50914== by 0x49A9278: g_malloc (gmem.c:125)
==50914== by 0x49C1BA5: g_slice_alloc (gslice.c:1072)
==50914== by 0x49C3BCC: g_slice_alloc0 (gslice.c:1098)
==50914== by 0x499096B: g_error_allocate (gerror.c:708)
==50914== by 0x4990AF1: UnknownInlinedFun (gerror.c:722)
==50914== by 0x4990AF1: g_error_copy (gerror.c:892)
==50914== by 0x4C4B9F9: gtk_gl_area_set_error (gtkglarea.c:1036)
==50914== by 0x4C4BAF7: gtk_gl_area_real_create_context (gtkglarea.c:346)
==50914== by 0x4B21B28: _gtk_marshal_OBJECT__VOIDv (gtkmarshalers.c:2730)
==50914== by 0x4920B78: UnknownInlinedFun (gclosure.c:893)
==50914== by 0x4920B78: g_signal_emit_valist (gsignal.c:3406)
==50914== by 0x4920CB2: g_signal_emit (gsignal.c:3553)
==50914== by 0x4C4B927: gtk_gl_area_realize (gtkglarea.c:308)
Reproduced by running:
MESA_GL_VERSION_OVERRIDE=2.7 totem
See https://gitlab.gnome.org/GNOME/totem/-/issues/522
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2567>
2022-06-03 18:35:54 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/audioparsers/gstaacparse.c:
aacparse: Avoid mismatch between src_caps and output_header_type
If our downstream caps didn't intersect, we attempted to convert between
raw and ADTS stream formats, if possible. If the caps still did not
intersect, we then used the modified `src_caps` but left the
`output_header_type` unmodified.
This caused a mismatch between caps and actual stream format.
Avoid this by first copying the `src_caps` to `convcaps` for the
additional intersection tests, replacing `src_caps` if we succeed.
While we're here, clean up the code a bit and remove the `codec_data`
field from outgoing ADTS caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2563>
2022-06-04 10:27:09 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/flv/gstflvdemux.c:
* gst/flv/gstflvelement.c:
flvdemux: Actually make use of the debug category
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2560>
2022-06-01 16:14:24 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ext/soup/gstsoup.c:
* ext/soup/gstsoupelement.c:
* ext/soup/gstsouploader.c:
soup: fix soup debug category
Use soup debug category in souploader
for soup plugin element load.
Inititalize properly soup utils category.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2547>
2022-05-29 20:27:38 +1000 Jan Schmidt <jan@centricular.com>
* gst/rtpmanager/gstrtpptdemux.c:
rtpptdemux: Don't GST_FLOW_ERROR when ignoring invalid packets
https://bugzilla.gnome.org/show_bug.cgi?id=741398 changed
rtpptdemux in 2014 to not post a GST_ELEMENT_ERROR on the
bus when dropping an invalid (non-RTP) packet, but still
returned GST_FLOW_ERROR upstream - so the pipeline still
stops, but now without a useful bus error.
Return GST_FLOW_OK instead, so the pipeline keeps
running. Some old telephony equipment can send invalid
packets before the real RTP traffic starts.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2523>
2022-05-28 16:46:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/jack/gstjackaudiosrc.c:
jack: Always use jack_free as specified by the docs
Fixes a crash on Windows due to a CRT mismatch. The JACK installation
still uses MSVCRT, and we the Universal CRT for both MinGW and MSVC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>
2022-05-26 01:21:43 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/jack/meson.build:
jack: Add support for detecting libjack on Windows
No source code changes were necessary to get the plugin working on
Windows with MSVC.
Run QJackCtl and audiotestsrc ! jackaudiosink just works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>
2022-05-24 16:07:13 +0800 Hou Qi <qi.hou@nxp.com>
* sys/v4l2/gstv4l2object.c:
v4l2: Reset transfer in gst_v4l2_object_acquire_format()
get_colorspace() checks input caps transfer when mapping V4L2_XFER_FUNC_709
back to V4L2_COLORSPACE_BT2020 and GST_VIDEO_TRANSFER_BT2020_12. After
receiving source change event, decoder will G_FMT and S_FMT again. So need
to reset transfer when acquiring format to avoid using the old transfer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2505>
2022-05-03 11:34:15 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ext/soup/gstsoup.c:
* ext/soup/gstsoupelement.c:
* ext/soup/gstsoupelements.h:
* ext/soup/gstsouphttpclientsink.c:
* ext/soup/gstsouphttpsrc.c:
soup: Fix plugin/element init
In case of per features registration such as the
customizable gstreamer-full library, each
element should check that the soup library can be loaded to
facilitate the element registration.
Initialize the debug category properly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2491>
2022-05-23 21:24:40 -0400 Eli Schwartz <eschwartz@archlinux.org>
* 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/2486>
2022-05-16 14:14:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/deinterlace/gstdeinterlace.c:
deinterlace: Clean up error handling in chain and _push_history
- Consistently unref the chained buffer at the end of the chain
function, if we're not handing it off to `gst_pad_push`. This avoids a
few buffer leaks in the error paths in `_chain` and `_push_history`.
- When mapping the video frame fails, return a flow error instead of
crashing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2444>
2022-05-11 15:18:42 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* ext/vpx/gstvpxenc.c:
vpxenc: fix crash if encoder produces unmatching ts
If for some reason the encoder produces frames with a pts higher than
the input one, we were dropping all the video encoder frames and ended
up crashing when trying to access the pts of a NULL pointer returned by
gst_video_encoder_get_oldest_frame().
I hit this scenario by feeding a decreasing timestamp to vp8enc which
seem to confuse the encoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2436>
2022-05-13 01:42:21 +0000 Thibault Saunier <tsaunier@igalia.com>
* gst/rtpmanager/gstrtpbin.c:
rtpbin: Avoid holding lock GST_RTP_BIN_LOCK when emitting pad-added
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2415>
2022-05-12 17:11:38 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Don't use tfdt for parsing subsequent trun boxes
The timestamp in the tfdt refers to the first trun box and if there are
multiple trun boxes then the distance between the first timestamps will
grow.
At some point this distance reaches a threshold and triggers the
resetting of the first sample's timestamp of this trun box to be reset
to the tfdt.
This threshold is implemented for files where there is a jump in the
timeline between fragments and where this can be detected via a jump
between the end timestamp of the previous fragment and the tfdt of the
next. This behaviour is preserved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2414>
2022-04-28 09:19:57 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
* sys/v4l2/gstv4l2videoenc.c:
v4l2videoenc: Setup crop rectangle if needed
Hantro H1 and Rockchip VEPU2 drivers will pad the width/height to a
multiple of 16. In order to obtain the right JPEG size, the image needs
to be cropped using the S_SELECTION API. This support is added as best
effort since older drivers may emulate this by looking at the capture
queue width/height.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>
2021-09-30 17:56:56 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
* sys/v4l2/gstv4l2object.c:
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2transform.c:
v4l2object: rename crop function to reflect its usage
The gst_v4l2_object_set_crop() is used for removing buffer
alignment padding. Give it a name that better reflects
that usage. This helps to distinguish from cropping of the
input image (e.g. cropping at the image sensor on a captre
device), which can be unrelated to the memory buffer padding,
especially if scaling is involved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>
2022-05-05 20:36:04 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/gstqtmux.c:
mp4mux: Disable aggregator's default negotiation
mp4mux can't negotiate caps with upstream/downstream and always outputs
specific caps based on the input streams. This will always happen before
it produces the first buffers.
By having the default aggregator negotiation enabled the same caps
would be pushed twice in the beginning, and again every time a
reconfigure event is received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2022-05-05 20:24:57 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/flv/gstflvmux.c:
flvmux: Disable aggregator's default negotiation
flvmux can't negotiate caps with upstream/downstream and always outputs
specific caps based on the input streams. This will always happen before
it produces the first buffers.
By having the default aggregator negotiation enabled the same caps
would be pushed twice in the beginning, and again every time a
reconfigure event is received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2022-05-03 17:27:32 +1000 Matthew Waters <matthew@centricular.com>
* gst/wavparse/gstwavparse.c:
wavparse: ensure that any pending segment is sent before an EOS event is sent
Specifically fixes seqnum handling when an aggregator-based element
(audiomixer et al) is downstream and a seek is performed that
immediately causes an EOS from wavparse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2369>
2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
* docs/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/2357>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* docs/gst_plugins_cache.json:
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,14 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-ugly.doap:

View file

@ -1,7 +1,14 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-python.doap:

View file

@ -1,7 +1,15 @@
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* docs/gst_plugins_cache.json:
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,37 @@
2022-06-09 20:00:35 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/vaapi/gstvaapifilter.c:
vaapi: Do not disable the whole vpp when some va operations not available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2604>
2022-05-20 09:59:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst/vaapi/gstvaapidecode.c:
* gst/vaapi/gstvaapipostproc.c:
vaapidecode,vaapipostproc: Disable DMAbuf from caps negotiation.
Given the amount of complains about artifacts when negotiating dmabuf
given incompatible drm-formats, and that there's no enough bandwidth
for a proper and quick fix in gstreamer-vaapi, this patch disables,
from decoders and postprocessor, the DMABuf caps feature.
For those who needs DMABuf can use the va elements in -bad, increasing
their ranking for autoplugging by using the environment variable
GST_PLUGIN_FEATURE_RANK=vah264dec:MAX, for example.
This can be considered a first step to the deprecation of
gstreamer-vaapi in favor of the va plugin in -bad.
Fixes: #1137
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2459>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer-vaapi.doap:

View file

@ -1,7 +1,135 @@
2022-05-19 04:59:58 +0000 Adam Doupe <adamdoupe@gmail.com>
* libs/gst/base/gstqueuearray.c:
queuearray: Fix potential heap overflow when expanding GstQueueArray
Check that elt_size*newsize doesn't overflow when expanding a
GstQueueArray, which has the potential for a heap overwrite.
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1232
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2607>
2022-06-14 17:29:31 +0100 Tim-Philipp Müller <tim@centricular.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: fix potential crash on shutdown
The mq we get out of the weak ref might be NULL if we're
shutting down, which could cause assertion failures or
crashes.
It might also cause miscompilations where the compiler just
optimises away the NULL check because it jumps to a code path
that then dereferences the pointer which clearly isn't going
to work. Seems like something like this happens with gcc 11.
Fixes #1262
Co-authored-by: Doug Nazar <nazard@nazar.ca>
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2600>
2022-06-14 03:29:41 -0600 James Hilliard <james.hilliard1@gmail.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: fix warning: is_query may be used uninitialized in this function
Fixes:
../plugins/elements/gstmultiqueue.c: In function gst_multi_queue_loop:
../plugins/elements/gstmultiqueue.c:2394:19: warning: is_query may be used uninitialized in this function [-Wmaybe-uninitialized]
2394 | if (object && !is_query)
| ^~~~~~~~~
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2596>
2022-06-01 09:25:29 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* libs/gst/base/gstbasetransform.c:
basetransform: handle gst_base_transform_query_caps() returning NULL
If gst_base_transform_transform_caps() returns NULL, gst_base_transform_query_caps()
will return NULL as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2538>
2022-05-31 14:27:51 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* libs/gst/base/gstbasetransform.c:
basetransform: fix critical if transform_caps() returned NULL
klass->transform_caps() may return NULL, which was raising this
critical:
GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2537>
2022-05-18 17:03:27 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/gst_private.h:
* gst/gstclock.c:
clock: Avoid creating a weakref with every entry
Creating and destroying weakrefs takes a write lock on a global
`GRWLock`. This makes for a very contended lock when the pipeline has
many synchronizing elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2533>
2022-05-29 20:38:38 +1000 tom schuring <tomschuring@gmail.com>
* gst/gstplugin.c:
plugin: add Apache 2 license to known licenses
the licence in gstreamer/subprojects/gstreamer/gst/gstplugin.c
currently is defined to be one of:
LGPL GPL QPL GPL/QPL MPL BSD MIT/X11 0BSD Proprietary
The open source project for the kinesis plugin is using an
Apache 2.0 license. Because "Apache 2.0" is not one of the
supported licenses it automatically falls back to Proprietary.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2524>
2022-05-18 10:04:08 +0800 WANG Xuerui <xen0n@gentoo.org>
* gst/gstconfig.h.in:
gstreamer/gst/gstconfig.h.in: Add support for LoongArch
While current and future LoongArch machines that are supposed to run
GStreamer all support unaligned accesses, there might be future
lower-end cores (e.g. the embedded product line) without such support,
and we may not want to penalize these use cases.
So, mark LoongArch as not supporting unaligned accesses for now, and
hope the compilers do a good job optimizing them. We can always flip
switch later.
Suggested-by: CHEN Tao <redeast_cn@outlook.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2450>
2022-05-05 20:39:52 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstaggregator.c:
aggregator: Don't send multiple caps events with the same caps
Every time aggregator is reconfiguring it will try to negotiate new
caps. If these resulting caps are the same as the previously negotiated
caps then don't send a new caps event with the same caps again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2022-05-05 15:05:43 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstaggregator.c:
aggregator: Only send events up to CAPS event from gst_aggregator_set_src_caps()
Otherwise setting the srcpad caps based on the sinkpad caps event will
already push a segment event downstream before the upstream segment is
known.
If the upstream segments are just forwarded when the upstream segment
event arrives this would result in two segment events being sent
downstream, of which the first one will usually be simply wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
* gst/gstplugin.c:
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/2357>
2022-05-03 00:39:09 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
=== release 1.20.2 ===
2022-05-02 23:29:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer.doap: