Update ChangeLogs for 1.20.4

This commit is contained in:
Tim-Philipp Müller 2022-10-12 16:39:40 +01:00
parent 191b78a35a
commit 7275d3d136
12 changed files with 1562 additions and 0 deletions

View file

@ -1,7 +1,22 @@
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/2702>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-devtools.doap:

View file

@ -1,7 +1,44 @@
2022-03-28 13:47:52 +0200 Stéphane Cerveau <scerveau@collabora.com>
* tools/utils.c:
ges: remove memory leak with description
free the capsdesc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3140>
2022-03-28 13:20:40 +0200 Stéphane Cerveau <scerveau@collabora.com>
* plugins/nle/nlecomposition.c:
nle: clear seek event properly
Use gst_clear_event instead of g_clear_object
avoiding a failing gobject unref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3140>
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/2702>
2022-06-16 22:40:21 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ges/gstframepositioner.c:
ges/gstframepositioner: don't create one compositor per frame meta
Instead, cache the looked up operator property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2639>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:

View file

@ -1,7 +1,52 @@
2022-10-04 21:27:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: address regression with WMA files ..
By outputting lead-in samples that FFmpeg now would like us to ignore,
and discarding trailing samples that it would now like us to output.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1348
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3125>
2022-09-29 12:42:21 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: fix unnecessary reconfiguration if the audio layout isn't specified
It would constantly want to renegotiate (and spam the debug log) even
though the channel layout hasn't actually changed. We use the same
fallback in gst_ffmpegauddec_negotiate() already.
This happens with WMA files for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3105>
2022-07-07 22:16:30 +0900 Seungha Yang <seungha@centricular.com>
* ext/libav/gstavcfg.c:
libav: Fix for APNG encoder property registration
The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
and it will be converted to "-a-png" through
g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
character for a GType name. Strip leading '-' to workaround it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2733>
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/2702>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:

View file

@ -1,7 +1,22 @@
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/2702>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:

View file

@ -1,7 +1,372 @@
2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
* gst/mxf/mxfaes-bwf.c:
mxfdemux: Always calculate BlockAlign of raw audio
Workaround for nBlockAlign and nBitsPerSample mismatch. Always
use the formula described in the specification for BlockAlign value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3149>
2022-09-14 00:58:37 +0900 Seungha Yang <seungha@centricular.com>
* sys/nvcodec/gstnvdec.c:
nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
As documented in the SDK header, we should set coded width/height
values to the corresponding decoder configuration option,
instead of display resolution
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3143>
2022-09-22 22:39:31 +0900 Sangchul Lee <sc11.lee@samsung.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Fix pointer dereference before null check
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3133>
2022-10-05 15:59:03 +0900 Sangchul Lee <sc11.lee@samsung.com>
* ext/webrtc/gstwebrtcice.c:
webrtc/nice: Make sure to return NULL when validating turn server fails
It affects 'add-turn-server' signal action and 'turn-server' property
of webrtcbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3124>
2022-09-20 23:31:45 +0300 Mart Raudsepp <mart@leio.tech>
* gst/mpegtsdemux/mpegtsbase.c:
tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
into a live stream when no PCR is seen by then. However the stream counting in
program change detection was wrongly considering ignore-pcr programs to have a
separate PCR PID, even though we are actually ignoring the PCR PID completely,
resulting in an erroneous program switch getting triggered from the different
stream count. This in turn would send an EOS and switch out the pads for what
actually is still the same program, while we intended to simply apply a
workaround for broken encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3089>
2022-03-25 14:25:02 +1100 Andrew Pritchard <andrew@vivi.io>
* sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3056>
2022-08-25 14:24:25 +0200 Piotr Brzeziński <piotr@centricular.com>
* sys/applemedia/avfvideosrc.m:
avfvideosrc: Fix wrong default framerate value
Current default G_MAXINT is not a correct value under any circumstances.
This creates an issue with screen capture, during which we currently do
not get any framerate info causing G_MAXINT to show up, where elements
downstream can possibly misbehave - for example, `vtenc` causes
a kernel panic.
Replace with 30/1 to avoid such scenarios.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2946>
2022-08-20 16:15:15 +0100 Philippe Normand <philn@igalia.com>
* ext/openh264/gstopenh264dec.cpp:
* ext/openh264/gstopenh264enc.cpp:
openh264: Register debug categories earlier
Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
an uninitialized category.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2924>
2022-08-20 16:57:27 +0100 Philippe Normand <philn@igalia.com>
* ext/openh264/gstopenh264enc.cpp:
openh264enc: Fix constrained-high encoding
constrained-high is high without B-frames, there is no EProfileIdc for this, so
assume high instead of hitting an assert down the line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2921>
2022-08-14 22:31:29 -0400 Daniel Morin <daniel.morin@collabora.com>
* gst-libs/gst/play/gstplay-media-info.h:
* gst-libs/gst/play/gstplay-signal-adapter.h:
* gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
* gst-libs/gst/play/gstplay-video-renderer.h:
* gst-libs/gst/play/gstplay-visualization.h:
gst-play: missing cleanup for g_autoptr
Without this change cleanup function for g_autoptr is not defined for
GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
function was defined in gstplay.h, but missing in other header files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2904>
2022-08-13 12:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/player/gstplayer-media-info.c:
player: Don't leak wrapped video info
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>
2022-08-13 11:50:20 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/play/gstplay.c:
play: Make ownership of video-sink clearer in combination with floating references
And correctly handle the case of VideoRenderer::create_video_sink() not
actually returning a floating reference, which might be tricky for some
bindings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>
2022-08-13 11:49:08 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/play/gstplay.c:
play: Fix object construction
Ideally new() functions should simply call g_object_new() and not much
else, so let's do that here and handle all the construction properly in
a GObject way.
Now a play object created via g_object_new() is actually usable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>
2022-08-13 11:39:59 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/player/gstplayer.c:
player: Fix object construction
Ideally new() functions should simply call g_object_new() and not much
else, so let's do that here and handle all the construction properly in
a GObject way.
Now a player object created via g_object_new() is actually usable.
In addition, also fix the video-renderer property so that reading it
returns an object of the correct type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>
2022-08-13 11:30:35 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/player/gstplayer.c:
player: Release signal adapter on finalize
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>
2022-08-12 18:24:41 +0300 Matthias Clasen <mclasen@redhat.com>
* gst-libs/gst/player/gstplayer.c:
gstplayer: Plug a memory leak
This was showing up as a memory leak in GTK's
gstreamer media backend:
40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
at 0x484586F: malloc (vg_replace_malloc.c:381)
by 0x50D5278: g_malloc (gmem.c:125)
by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
by 0x51F2F45: g_type_create_instance (gtype.c:1911)
by 0x51DAE37: g_object_new_internal (gobject.c:2011)
by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
by 0x51DCB20: g_object_new (gobject.c:1821)
by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
by 0x9855F86: gst_player_new (gstplayer.c:579)
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2876>
2022-07-30 02:29:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/sctp/usrsctp/meson.build:
meson: Don't pass -Werror to vendored code
Do it the correct way with libusrsctp -- override the option so that
it's done in a compiler-agnostic and future-proof way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>
2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/rtmp2/gstrtmp2locationhandler.c:
* gst/rtmp2/rtmp/rtmpclient.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/2818>
2022-05-25 16:03:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/dtls/gstdtlscertificate.c:
dtls: Disable OpenSSL 3.0 deprecation warnings for now
Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
so this code needs to be rewritten. There is no easy fix in the
porting guide, and it recommends disabling the warnings if you can't
use the high-level API.
https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
Here's the replacement API:
https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>
2022-07-29 02:36:40 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
wasapi2: Fix initial mute/volume setting
Fix up volume/mute change flag setting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2817>
2022-07-21 16:11:03 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/audiobuffersplit/gstaudiobuffersplit.c:
audiobuffersplit: Actually store number of samples to drop in gapless mode
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>
2022-07-21 16:10:18 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/audiobuffersplit/gstaudiobuffersplit.c:
audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
Otherwise gapless mode would do completely wrong calculations on
discontinuities and cause input/output to drift slowly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>
2022-07-21 13:38:22 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/audiobuffersplit/gstaudiobuffersplit.c:
audiobuffersplit: Combine two if expressions to reduce indentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>
2022-07-06 16:14:13 +0300 Jordan Petridis <jordan@centricular.com>
* ext/openmpt/gstopenmptdec.c:
openmpt: update from now deprecated api
https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2779>
2022-06-30 11:04:29 +0200 Ignazio Pillai <ignazp@amazon.com>
* sys/wasapi/gstwasapiutil.c:
wasapi: Implement default audio channel mask
Some multichannel capture devices does not provide a channel mask value
which will result in a pipeline failure due to the empty channel mask.
Implemented the same fix used for wasapi2
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2714>
2022-07-07 02:17:56 +0900 Seungha Yang <seungha@centricular.com>
* gst/proxy/gstproxysink.c:
proxysink: Fix GstProxySrc leak
Clear weak pointer to peer src when disposing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2774>
2022-07-06 03:14:25 +0900 Seungha Yang <seungha@centricular.com>
* gst/proxy/gstproxysink.c:
* gst/proxy/gstproxysink.h:
* tests/check/elements/proxysink.c:
* tests/check/meson.build:
proxysink: Make sure stream-start and caps events are forwarded
There might be a sequence of event and buffer flow:
- Got stream-start/caps/segment events
- Got flush events
- And then buffers with a new segment event
In the above case, stream-start and caps event might not be reached to
peer proxysrc if peer proxysrc is not ready to receive them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2774>
2022-06-30 09:09:02 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Reject caps that are not valid for creating an SDP media.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2705>
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/2702>
2022-06-28 17:40:56 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
Set specified force-aspect-ratio value on window object
in case of shared texture rendering as well
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2701>
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/2672>
2022-06-28 01:29:06 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/opus/gstopusheader.h:
dv, opusparse: fix duplicate symbols in static build
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2673>
2022-06-23 14:31:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvaallocator.c:
va: allocator: Use always lseek to get dmabuf size.
Gallium drivers historically have reported strange dmabuf sizes, from always
zero to the whole frame (multiple fds). The simplest solution is to use lseek
SEEK_END to get the prime descriptor size.
Also the allocator raises a warning if both values differ in order to report
it to driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2657>
2022-06-08 09:02:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/va/gstvaallocator.c:
va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
VADRMPRIMESurfaceDescriptor structure describes the offsets from the
point of view of the specific handle (DMABuf). While GstVideoInfo
(and the meta) describes offsets from the point of the view of the
GstBuffer, an aggregate of all the GstMemory (1 per handle).
This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
fixes decoding failure with AMD driver.
Fixes #1223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2657>
2022-03-24 21:39:30 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: h265dec: Fix a crash because of missing reference frame.
Some problematic H265 stream may miss the reference frame in the DPB,
and get some message like: "No short term reference picture for xxx".
So there may be empty entries in ref_pic_list0/1 when passing to
decode_slice() function of sub class. We need to check the NULL pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2647>
2022-06-18 04:05:53 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.h:
d3d11decoder: Check 16K resolution support
16K decoding is supported by some GPUs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2633>
2022-06-15 15:06:20 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Limit sink query to sink pads
This allows the reception of streams that don't exactly match
the codec preferences. In particular, the ssrc in the codec preferences
is local sender SSRC, the other side is expected to send a different SSRC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2632>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-bad.doap:

View file

@ -1,7 +1,359 @@
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/3147>
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/3146>
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/3146>
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/3146>
2022-10-06 13:03:26 +0200 Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>
* gst/playback/gstdecodebin3.c:
decodebin3: fix mutex leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3130>
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/3113>
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/3098>
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/3095>
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/3090>
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/3087>
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/2999>
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/2987>
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/2882>
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/2877>
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/2877>
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/2872>
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/2855>
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/2837>
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/2834>
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/2834>
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/2827>
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/2818>
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/2816>
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/2791>
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/2757>
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/2748>
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/2744>
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/2744>
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/2706>
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/2705>
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/2702>
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/2672>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-base.doap:

View file

@ -1,7 +1,346 @@
2022-09-30 18:57:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/multifile/gstsplitmuxpartreader.c:
splitmuxsrc: don't consider unlinked pads when deactivating part
If splitmuxsrc exposes multiple pads, but only one is linked, part pads
will never see an EOS event. This shouldn't prevent the part from being
eventually deactivated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3148>
2022-10-06 15:02:22 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: Retry SETUP with non-compliant URL resolution on "Bad Request" and "Not found"
Various RTSP servers/cameras assume base and control URL to be simply
appended instead of being resolved according to the relative URL
resolution algorithm as mandated by the RTSP specification.
To work around this, try using such a non-compliant control URL if the
server didn't like the URL used in the first SETUP request.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1447
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/922
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3137>
2022-09-27 13:56:54 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: guard against timestamp calculation overflow in gap event loop
Could possibly cause an endless loop.
Fixes #1400.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3085>
2022-09-02 17:21:43 +0300 Sebastian Dröge <sebastian@centricular.com>
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: Add test for crash caused by removing timers twice
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-09-02 12:20:58 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Make it more explicit that update_rtx_timers() takes ownership of the passed in timer
It is not valid anymore afterwards and must not be used, otherwise an
already freed pointer might be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-09-02 12:20:30 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Don't shadow variable
While this didn't cause any problems in this context it is simply
confusing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-09-02 12:19:26 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Change RTX timer availability checks to assertions
It's impossible to end up in the corresponding code without a timer for
RTX packets because otherwise it would be an unsolicited RTX packet and
we would've already returned early.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-09-02 12:17:39 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
rtpjitterbuffer: Only unschedule timers for late packets if they're not RTX packets and only once
Timers for RTX packets are dealt with later in update_rtx_timers(), and
timers for non-RTX packets would potentially also be unscheduled a
second time from there so avoid that.
Also don't shadow the timer variable from the outer scope but instead
make use of it directly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-08-18 17:08:51 +0300 Raul Tambre <raul@tambre.ee>
* gst/rtpmanager/gstrtpjitterbuffer.c:
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: remove lost timer for out of order packets
When receiving old packets remove the running lost timer if present.
This fixes incorrect reporting of a lost packet even if it arrived in time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2995>
2022-08-26 18:42:44 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtp/gstrtpvp8depay.c:
rtpvp8depay: If configured to wait for keyframes after packet loss, also do that if incomplete frames are detected
This can happen if the data inside the packets is incomplete without the
seqnums being discontinuous because of ULPFEC being used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2988>
2022-08-24 17:30:34 +0800 Jianhui Dai <jianhui.j.dai@intel.com>
* sys/v4l2/gstv4l2allocator.c:
v4l2allocator: Fix invalid imported dmabuf fd
Fix a typo that set userptr to dmabuf fd. It leads to failure of
dmabuf-import io-mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2940>
2022-08-23 10:28:30 +0000 zhiyuan.liu <zhiyuan.liu@seraphic-corp.com>
* gst/isomp4/gstisoff.c:
isoff: Fix earliest pts field parse issue
earliest pts will be covered by first_offset field on version 0 case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2934>
2022-08-17 09:11:52 +1000 Jan Schmidt <jan@centricular.com>
* gst/multifile/gstsplitmuxsrc.c:
splitmuxsrc: Stop pad task before cleanup
When stopping the element, make sure the pad task
is stopped before destroying the part readers.
Closes a race where the pad task might access
a freed pointer.
Also add a guard against this sort of thing
by holding a ref to the reader in the pad loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2902>
2022-08-12 20:20:43 +1000 Jan Schmidt <jan@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Avoid crash on reconfiguring.
When reconfiguring a stream that never created
an output pad, don't access a NULL GstPad pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2900>
2022-08-15 14:30:50 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2bufferpool: Fix debug trace
The tracing of the buffer pointer was done on the secondary pointer, which
does not match with other traces of the same buffer. This made the trace
confusing and less useful.
Fixes #1379
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2898>
2022-08-12 13:20:01 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: Consider the actual control base URI also in case the connection URI contains a query string
That is, get rid of unnecessary and wrong special-casing.
This could always use gst_rtsp_url_get_request_uri_with_control() but as
we only have the control base URI as string it is easier to just call
gst_uri_join_strings().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2877>
2022-08-12 02:20:40 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
rtpst2022-1-fecenc: Drain column packets on EOS
Otherwise we won't send the protection packets for the last few
packets when a stream ends.
Also send EOS on the FEC src row pad immediately, and on the FEC src
column pad after draining is complete. This makes it so that the FEC
src pads on rtpbin behave the same way as the RTCP src pads on rtpbin
when EOS is received on the send_rtp_sink pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2874>
2022-08-11 08:48:08 +0200 Edward Hervey <edward@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Don't use invalid values from failed trex parsing
If parsing the fragment default values (`trex` atom) failed, don't try to
compute a bogus sample_description_id value.
Fixes #1369
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2862>
2022-08-04 18:09:52 +0800 Haihua Hu <jared.hu@nxp.com>
* gst/alpha/gstalpha.c:
alpha: fix stride issue when out buffer has padding on right
if outbuf has padding on right, need jump to next line use stride,
otherwise downstream element will show a wrong picture when use the
same stride
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2854>
2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/rtsp/gstrtspsrc.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/2818>
2022-07-27 15:44:09 +0200 Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
* gst/videofilter/gstvideoflip.c:
videoflip: Fix caps negotiation when method is selected
The caps negotiation should respect the selected method to the test pipeline below works properly.
gst-launch-1.0 videotestsrc ! video/x-raw,width=320,height=600 ! videoflip method=clockwise ! video/x-raw,width=600,height=320 ! fakesink
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2815>
2022-07-24 23:44:10 -0400 fduncanh <fduncanh@gmail.com>
* sys/v4l2/gstv4l2object.c:
v4l2object.c: add support for Apple's full-range bt709 colorspace variant
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2806>
2022-07-08 18:22:58 +0800 Elliot Chen <elliot.chen@nxp.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2: fix the critical log when unreference the buffer with no data
In the trick mode, driver may queue a valid buffer follow by an
empty buffer which has no valid data to indicate EOS.For the empty
buffer whose memory is multi-plane, need to resize it before
unreference it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2794>
2022-07-15 13:22:14 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/qt/qtglrenderer.cc:
qt: Fix another instance of Qt/GStreamer both defining `GLsync` differently
In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:87,
from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:14:
../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration 'typedef void* GLsync'
40 | typedef gpointer GLsync;
| ^~~~~~
In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengl.h:127,
from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsggeometry.h:44,
from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgnode.h:43,
from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgrendererinterface.h:43,
from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qquickwindow.h:44,
from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/QQuickWindow:1,
from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:6:
../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: note: previous declaration as 'typedef struct __GLsync* GLsync'
24 | typedef struct __GLsync *GLsync;
| ^~~~~~
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2771>
2022-07-15 06:40:05 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* sys/osxaudio/gstosxaudiodeviceprovider.c:
* sys/osxaudio/gstosxcoreaudiohal.c:
osxaudio: Fix deprecation in macOS 12.0
kAudioObjectPropertyElementMaster has been renamed to
kAudioObjectPropertyElementMain
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2764>
2022-07-12 21:19:35 +1000 Jan Schmidt <jan@centricular.com>
* gst/multifile/gstsplitmuxsink.c:
splitmuxsink: Fix memory leak
Fix a leak of the buffer info struct when reaching
EOS without data on the reference input.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2753>
2022-04-14 01:19:51 +0900 Seungha Yang <seungha@centricular.com>
* gst/multifile/gstsplitmuxsink.c:
* tests/check/elements/splitmuxsink.c:
splitmuxsink: Don't crash on EOS without buffer
Fix a case where upstream pushed EOS without buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2753>
2022-05-28 15:04:10 -0400 fduncanh <fduncanh@gmail.com>
* sys/v4l2/gstv4l2videodec.c:
v4l2videodec: replace multiple decoder bug warnings with single one
Achieve this by dropping frames after a drain if the driver failed to so.
This works around RaspberryPi driver issue [1].
[1] https://github.com/raspberrypi/linux/issues/5059#issuecomment-
Fixes #1103
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2710>
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/2702>
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/2672>
2022-06-28 01:29:06 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/dv/meson.build:
dv, opusparse: fix duplicate symbols in static build
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2673>
2022-06-24 12:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/examples/jack/meson.build:
examples: don't try and build jack examples if jack was disabled
Fixes meson build ERROR: Unknown variable "libjack_dep".
Fixes #1301
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2658>
2022-02-07 17:51:39 -0500 Tristan Matthews <tmatth@videolan.org>
* gst/matroska/matroska-mux.c:
matroskamux: allow width+height caps changes for VP8/9
For VP8 and VP9, width+height changes are signalled inband.
Refs https://github.com/Kurento/bugtracker/issues/535 and
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2640>
2022-02-07 16:41:40 -0500 Tristan Matthews <tmatth@videolan.org>
* gst/matroska/matroska-mux.c:
matroskamux: allow width + height changes for avc3|hev1
For avc3 and hev1, the intent was to allow more flexibility for caps changes
(see https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit_id=9bd8d608d5bae27ec5ff09e733f76ca32b17420c)
however width and resolution were previously omitted.
avc3 and hev1 specifically support changing stream-parameters on the fly, whereas avc1/hvc1 disallow in-band SPS.
This commit allows for changes to width and height for these which is in line with matroskamux's behaviour prior to 1.14.0.
Practically speaking, one use case where this is commonly seen is when capturing a WebRTC stream, as the browser will adapt the resolution live.
Suggested-by: Mathieu Duponchelle "<mathieu@centricular.com>"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2640>
2022-06-16 00:59:00 +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/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,29 @@
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/2702>
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/2672>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-ugly.doap:

View file

@ -1,7 +1,46 @@
2022-06-28 16:38:09 -0400 Thibault Saunier <tsaunier@igalia.com>
* examples/plugins/python/py_audiotestsrc.py:
python: Fix the audiotestsrc example
Since 830d1595b94ee855b664b2101f0832fbd0181b9c AudioInfo::from_caps has been hidden in python
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2737>
2022-06-28 16:35:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* examples/plugins/python/audioplot.py:
* examples/plugins/python/exampleTransform.py:
* examples/plugins/python/identity.py:
* examples/plugins/python/mixer.py:
* examples/plugins/python/py_audiotestsrc.py:
* examples/plugins/python/sinkelement.py:
* gi/overrides/Gst.py:
python: Add a Gst.init_python function to be called from plugins
Plugins know that they will be initialized after Gst was initialized
so they can call the initialization function dedicated for the python
bindings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2737>
2022-06-28 11:02:37 -0400 Thibault Saunier <tsaunier@igalia.com>
* gi/overrides/Gst.py:
python: Do not call gst_init when it is already is_initialized
GStreamer plugins written in python need to call `Gst.init` to ensure
that GStreamer is initialized so when loading a python plugin, we might
be recursively calling `gst_init` which is not a good idea.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2737>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-python.doap:

View file

@ -1,7 +1,69 @@
2022-08-24 19:50:19 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
* gst/rtsp-server/rtsp-server-internal.h:
* gst/rtsp-server/rtsp-stream-transport.c:
* gst/rtsp-server/rtsp-stream.c:
gst-rtsp-server: Fix pushing backlog to client
Check back pressure of a stream transport before popping buffer from its backlog.
If the stream transport is not experiencing back pressure, the buffer can be popped from backlog and pushed to client.
Fixes:#1298
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2998>
2022-09-02 16:31:54 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtsp-server/rtsp-stream.c:
rtsp-server: stream: Don't loop forever if binding to the multicast address fails
The address/port is pre-defined by the caller of the function, so
retrying is only going to loop forever.
Ideally the multicast address should be checked after allocating but
this doesn't happen currently, so it's better to error out cleanly then
to loop forever trying the same address.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2997>
2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/rtsp-sink/gstrtspclientsink.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/2818>
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/2702>
2022-06-16 00:59:00 +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/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,31 @@
2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/vaapi/gstvaapidisplay.c:
* gst/vaapi/gstvaapi.c:
* gst/vaapi/gstvaapidecode.c:
vaapi: plugin: Handle when no encoders/decoders available.
Nouveau driver currently only exposes postproc entry. But
vaapidecodebin is registered independent if there are decoders or not,
exposing a segmentation fault.
This patch removes the encoder/decoder/codec arrays if no entries are
found, and if no decoders are found vaapidecodebin is not
registered. Also for vaapipostproc if no postproc entry is found.
Also, if general decoder, used by vaapidecodebin, doesn't have a sink
pad string, don't register the glib type.
Fixes: #1349
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2906>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer-vaapi.doap:

View file

@ -1,7 +1,254 @@
2022-10-07 14:39:47 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* libs/gst/base/gstaggregator.c:
aggregator: fix input buffering
We need to be able to buffer at least the aggregator latency +
upstream latency, which is the value used to compute the aggregator
deadline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3142>
2022-10-03 11:16:25 +0200 Edward Hervey <edward@centricular.com>
* plugins/elements/gstqueue2.c:
queue2: Hold the lock when modifying sinkresult
As it's done elsewhere. Avoids a potential race of the field being modified in
the meantime.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3111>
2018-03-28 17:54:15 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* gst/gstbuffer.c:
* gst/gstmeta.c:
* gst/gstmeta.h:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstbasetransform.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/3090>
2022-09-26 14:17:18 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gsturi.c:
gsturi: When setting the same string again do nothing
Otherwise code like gst_uri_set_host(uri, gst_uri_get_host(uri)) would
first free the string, then create a copy of the freed string and then
assigned that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3081>
2022-08-31 18:08:08 +0200 Paweł Stawicki <stawel+gstreamer@gmail.com>
* plugins/elements/gstqueue2.c:
queue2: Fix deadlock when deactivate is called in pull mode
check is flush was called before waiting on condition
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3058>
2022-08-31 14:23:59 +0200 Martin Dørum <martid0311@gmail.com>
* gst/gstpluginloader.c:
gstpluginloader: Don't hang on short reads/writes
If read_one or write_one was called but the stream closed before it could
read/write a whole packet, read_one/write_one would hang indefinitely,
consuming 100% CPU. This commit fixes that by treating a short read/write
as an error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2994>
2022-08-31 09:15:08 -0400 Xavier Claessens <xavier.claessens@collabora.com>
* gst/gst.c:
gst_init: Initialize static plugins just before dynamic plugins
All plugins needs to be initialized after `gst_initialized = TRUE;`
otherwise they could complain that gst_init() has not been called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2991>
2022-08-24 12:42:12 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/gstvalue.c:
value: Use g_critical() when trying to serialize things that can't be
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2986>
2022-08-01 14:00:20 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/gstvalue.c:
* tests/check/gst/gstvalue.c:
gstvalue: Don't loop forever when serializing invalid flag
The serialization code would loop forever if an invalid flag was sent into it.
With unit test for this corner case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2986>
2022-08-15 20:07:09 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/gstmeta.c:
* gst/gstmeta.h:
* tests/check/gst/gstmeta.c:
meta: Set the parent refcount of the GstStructure correctly
The parent refcount is of the *transformed* buffer, not the input
buffer.
Also update the docs to clarify that @transbuf is the transformed
buffer, and not the buffer on which a transformation is being
performed.
Due to this bug, modifying the structure of a meta that has been
copied to another buffer fails with:
gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed
Add a test for the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2894>
2022-07-09 17:04:07 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gst.c:
gst: Protect initialization state with a recursive mutex.
Otherwise a gst_init() call from a plugin would deadlock if the plugin
is loaded as part of registry updating.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2858>
2022-07-09 17:02:26 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gstregistry.c:
registry: Remove dead code
Initialization/updating of the registry can't possible fail and all code
paths always returned TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2858>
2022-07-09 16:50:54 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gst.c:
gst: Don't fail gst_init() if updating the registry fails
Everything is already marked as initialized at that point and by failing
no tracers would be loaded or plugin feature rank overrides would be
applied.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2858>
2022-08-03 12:32:24 +0100 Tim-Philipp Müller <tim@centricular.com>
* plugins/tracers/gstleaks.c:
tracers: leaks: delay type name lookup
Micro optimisation: Store the quark of the type name when tracking
objects and only do the quark to string conversion (hashtable lookup)
later when we actually need the string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2846>
2022-08-03 12:10:02 +0100 Corentin Damman <c.damman@intopix.com>
* plugins/tracers/gstleaks.c:
tracers: leaks: fix potentially invalid memory access when trying to detect object type
The is_gst_mini_object_check would sometimes detect a proper GObject
as a mini object, and then bad things happen.
We know whether a pointer is a proper GObject or a MiniObject here
though, so just pass that information to the right code paths and
avoid the heuristics altogether.
Eliminates all remaining uses of object_is_gst_mini_object().
Fixes #1334
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2846>
2022-08-03 12:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
* plugins/tracers/gstleaks.c:
tracers: leaks: fix potentially invalid memory access when trying to detect object type
The is_gst_mini_object_check would sometimes detect a proper GObject
as a mini object, and then bad things happen.
We know whether a pointer is a proper GObject or a MiniObject here
though, so just pass that information to the right code paths and
avoid the heuristics altogether.
There are probably more cases where the check should be eliminated.
Fixes #1334, maybe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2846>
2022-07-28 19:44:20 +0000 Rafael Sobral <rafaelsobral@pm.me>
* libs/gst/base/gstaggregator.c:
aggregator: fix reversed active/flushing arguments in debug log output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2826>
2022-07-08 16:37:51 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/gstinfo.c:
gstinfo: Parse "NONE" as a valid level name
This allows using `NONE` in `GST_DEBUG`,
`gst_debug_set_threshold_from_string`, etc. It was accessible before,
but only via the integer `0`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2775>
2022-07-18 15:46:21 +0300 Sebastian Dröge <sebastian@centricular.com>
* libs/gst/base/gstaggregator.c:
aggregator: Reset EOS flag after receiving a stream-start event
And also don't assert that there are no buffers queued up when handling
an EOS event. The pad's streaming thread might've already received a new
stream-start event and queued up a buffer in the meantime.
This still leaves a race condition where the srcpad task sees all pads
in EOS state and finishes the stream, while shortly afterwards a pad
might receive a stream-start event again, but this doesn't seem to be
solveable with the current aggregator design.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2772>
2022-07-12 10:49:27 +0000 Corentin Damman <c.damman@intopix.com>
* plugins/tracers/gstleaks.c:
tracers: leaks: fix object-refings.class flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2756>
2022-07-09 18:05:58 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gstdevicemonitor.c:
devicemonitor: Use a sync bus handler for the provider to avoid accumulating all messages until the provider is stopped
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/981
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2755>
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/gst.c:
* 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/2702>
2022-06-22 09:43:02 +0200 Jonas Danielsson <jonas.danielsson@spiideo.com>
* gst/gst.c:
gst: add missing define guard
If compiled with -Dgstreamer:gst_debug=false and we have
GST_REMOVE_DISABLED defined we will get the following compiler error:
```
[...]/libgstreamer-1.0.so.0.2100.0.p/gst.c.o: in function `gst_deinit':
[...]/gst/gst.c:1258: undefined reference to `_priv_gst_debug_cleanup'
[...] hidden symbol `_priv_gst_debug_cleanup' isn't defined
```
Add the missing define guard to avoid this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2649>
2022-06-20 16:45:19 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/gstelement.c:
* tests/check/gst/gstelement.c:
element: Fix requesting of pads with string templates
Previously it was only possible to request them with the exact template
name, e.g. 'src_%s', but not with "instantiated" names that would match
this template, e.g.'src_foo_bar'.
This is now possible and a test was added for this, in addition to
fixing a previously invalid test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2645>
2022-06-16 00:59:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
=== release 1.20.3 ===
2022-06-15 23:36:18 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer.doap: