Andoni Morales Alastruey
2d1a442baf
discoverer: fix segfault in race condition adding a new uri's
...
There is a race condition adding new uri's right after receiving
the `discovered` event. We must wait until we have cleaned-up
the last discovery to start processing the new one
Fix #3758
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7934 >
2024-11-21 00:03:09 +00:00
Nirbheek Chauhan
b87a5677a0
meson: Don't use libdrm_dep in cc.has_header()
...
It can't handle subproject dependencies. Pointed out in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4033#note_2665974
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7932 >
2024-11-20 19:22:13 +00:00
Philippe Normand
7ecb189eb9
sdp: Add debug categories for message and mikey modules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7926 >
2024-11-19 20:48:00 +00:00
Guillaume Desmottes
0aa34b7527
libav: avviddec: log the old resolution when updating the pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7925 >
2024-11-19 20:04:13 +00:00
Guillaume Desmottes
1cfc47dd08
libav: viddec: provide details if meta has the wrong resolution
...
Will produce a more useful assert error message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7925 >
2024-11-19 20:04:13 +00:00
Guillaume Desmottes
4e16445e6e
Revert "avviddec: Unlock video decoder stream lock temporarily while finishing frames"
...
This reverts commit 6b18f02339
.
This commit introduced a regression, see
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4032
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7921 >
2024-11-19 11:54:12 +01:00
Robert Rosengren
31770d3fda
gstdeviceprovider: fix leaking hidden providers
...
Free list of hidden providers upon stop and dispose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7915 >
2024-11-18 11:10:37 +00:00
Albert Sjolund
dfbb6dafca
rtpmanager: don't map READWRITE in twcc header ext
...
There is no need to map the buffer as writable, as there is
only a read performed on the mapped buffer. This is in line
with other header extensions, as no other extensions maps
it as readwrite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7910 >
2024-11-17 11:31:16 +00:00
Philippe Normand
f1d4e594d9
playbackutils: Fix caps leak in get_n_common_capsfeatures()
...
The gst_static_caps_get() return value is transfer-full.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7909 >
2024-11-17 10:36:26 +00:00
Nicolas Dufresne
27533302b8
glupload: Upgrade uploader selection message to INFO
...
This allow using INFO log to quickly see what uploader we
picked. This is very useful as the DEBUG category has became
very noisy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7907 >
2024-11-16 15:49:33 +00:00
Nicolas Dufresne
0e672340e5
glupload: dmabuf: Fix emulated tiled import
...
The added check for LINEAR modifier broke dmabuf import for
NV12 emulation (R8/RG88) of all sort (linear and tiled).
Fixes !5461
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7907 >
2024-11-16 15:49:33 +00:00
Sebastian Dröge
65d18bca7d
audiostreamalign: Don't report disconts for every buffer if alignment-threshold is too small
...
If it is too small, the maximum allowed diff becomes 0 samples which would then
trigger if there is no discontinuity at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7906 >
2024-11-16 01:26:01 +00:00
Jan Alexander Steffens (heftig)
653983addc
mpegtsmux: Mux timestampless buffers immediately
...
Instead of leaving them queued indefinitely, or until we're timing out
and it's the only buffer queued.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7901 >
2024-11-15 19:19:32 +00:00
Sebastian Dröge
3afff17117
mpegtsmux: Don't time out in live mode if no timestamped next buffer is available
...
The muxer can only advance the time if it has a timestamped buffer that can be
output, otherwise it will just busy-wait and use up a lot of CPU.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3912
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7901 >
2024-11-15 19:19:32 +00:00
Jan Alexander Steffens (heftig)
b79f1a6b1a
flvmux: Mux timestampless buffers immediately
...
Instead of leaving them queued indefinitely, or until we're timing out
and it's the only buffer queued.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7902 >
2024-11-15 17:45:30 +00:00
Sebastian Dröge
39d4740cc4
flvmux: Don't time out in live mode if no timestamped next buffer is available
...
But also don't wait for a buffer on both pads, which might take forever in case
of gaps in one of the streams.
The muxer can only advance the time if it has a timestamped buffer that can be
output, otherwise it will just busy-wait and use up a lot of CPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7902 >
2024-11-15 17:45:30 +00:00
Robert Rosengren
15602d5c14
udpsrc: protect cancellable from unlock/unlock_stop race
...
Protect cancellable from simultaneous unlock and unlock_stop calls from
basesrc class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7897 >
2024-11-15 12:39:16 +00:00
Edward Hervey
2083aae9e3
ci: Don't use a massive image for the cerbero trigger
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4024
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7896 >
2024-11-15 11:19:14 +00:00
Théo Maillart
81f2488f20
mpegvideoparse: do not set delta unit flag on unknown frame type
...
When encoding an image to mpeg2 video, with something like:
gst-launch-1.0 encodebin name=e profile=mpegpsmux:video/mpeg,mpegversion=2,systemstream=false ! \
filesink location=sample.mpg filesrc num-buffers=1 blocksize=$(stat -c%s sample.png) \
location=sample/dts.png ! pngdec ! e.
The only frame's type is set to an invalid value 0
The consequence is that mpegvideoparse sets the delta unit flag on the buffer because
it is not an I frame, then decodebin3 drops this only frame because the delta
unit flag is set and the decoder receives eos before it was able to receive any
encoded data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7876 >
2024-11-12 16:30:26 +00:00
Taruntej Kanakamalla
f10c800b8e
ptp: use ip_mreq instead of ip_mreqn for macOS
...
To join a multicast the macOS still uses the interface address
from the ip_mreq instead of the ip_mreqn unlike other Linux systems.
So add a new conditional block for macOS to use ip_mreq for IP_ADD_MEMBERSHIP
and ip_mreqn for IP_MULTICAST_IF
This is similar to the fix in the glib for multicast join/leave
operation on macOS
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4333
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7864 >
2024-11-11 11:33:06 +00:00
Sebastian Dröge
6e8ecb1c1a
ccconverter: Don't override in_fps_entry when trying to take output
...
This allows to handle CDP streams where the framerate is not provided by the
caps and generally gives preference to the framerate inside the CDP packets over
the one in the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7862 >
2024-11-10 10:47:39 +00:00
Edward Hervey
7a875a0474
urisourcebin: Also use event probe for HLS use-cases
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3957
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7857 >
2024-11-08 14:49:27 +00:00
Sebastian Dröge
09179fa413
timecodestamper: Don't fail the latency query in LTC mode if we have no framerate
...
Only in LTC mode we introduce additional latency that is depending on only on a
property and not on the framerate, so waiting for the framerate is not necessary.
In all other modes no latency is introduced at all and the latency query can
simply be proxied.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7846 >
2024-11-06 15:45:02 +00:00
Stefan Riedmüller
ab91eb1ac6
v4l2object: Remove little endian marker on 8 bit bayer format names
...
There is no point in having an endian marker on 8 bit bayer format names since
it is just one byte. Thus remove it.
This also fixes an incompatibility with plugins bad where there is no endian
marker on 8 bit bayer format names as well.
Fixes : #3729
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7845 >
2024-11-06 14:52:34 +00:00
Jan Schmidt
d6a082d58a
video-converter: Set TIME segment format on appsrc
...
Combine the appsrc and appsink settings into one place and ensure that
the appsrc will output a TIME segment, to avoid incorrect segment format
criticals in some situations.
The D3D11 path was already setting the segment format correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7842 >
2024-11-06 09:57:18 +00:00
Philippe Normand
4bfd700c52
rtpfunnel: Ensure segment events are forwarded after flushs
...
gst_rtp_funnel_forward_segment() returns early when the current_pad is set.
Without clearing current_pad a critical warning would be emitted when
attempting to chain a buffer following a flush.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7835 >
2024-11-05 16:57:49 +00:00
Sebastian Dröge
ca0be08d61
avcodecmap: Use avcodec_get_supported_config() instead of struct fields
...
The struct fields are deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7833 >
2024-11-05 16:13:32 +00:00
Andoni Morales Alastruey
fac2de9e80
cocoa: fix rendering artefacts in retina displays
...
Set the correct contentsScale in the CALayer instead of using
the default (1.0) which causes rendering artefacts in retina
displays due to using a smaller bitamp than the display size.
See: https://developer.apple.com/documentation/quartzcore/calayer/1410746-contentsscale?language=objc
Fix : #3942
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7834 >
2024-11-05 14:39:28 +00:00
Matthew Waters
40fd20e7a6
ci: handle changing wrap file refs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7809 >
2024-11-05 10:21:44 +00:00
Matthew Waters
d5057c904c
ci: update macos CI to 15 Sequoia
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7809 >
2024-11-05 10:21:44 +00:00
Tim-Philipp Müller
61b9ba092c
gst-plugins-ugly: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820 >
2024-11-03 18:34:50 +00:00
Tim-Philipp Müller
a35479e418
gst-plugins-bad: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820 >
2024-11-03 18:34:50 +00:00
Tim-Philipp Müller
ce48b50278
gst-plugins-good: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820 >
2024-11-03 18:34:50 +00:00
Tim-Philipp Müller
e4022f25cd
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820 >
2024-11-03 18:34:50 +00:00
Tim-Philipp Müller
d05654f3c7
gstreamer: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7820 >
2024-11-03 18:34:50 +00:00
Tim-Philipp Müller
ff302eb1fe
ci: tag rustfmt job as placeholder job
...
Not really cpu bound and should finish quickly in any case.
Reduces wait time for initial stage and contention with the
normal job queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7815 >
2024-11-02 00:45:59 +00:00
Sebastian Dröge
377b4525d9
rtph264depay, rtph265depay: various parameter-set string handling fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7812 >
2024-11-01 16:39:02 +00:00
Albert Sjolund
6575d1de8e
appsrc: Fix use-after-free when making buffer / buffer-lists writable
...
make_writable can cause a reallocation of the buffer, meaning that obj
would point to an invalid object, both for buffer and for bufferlist.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7806 >
2024-11-01 00:56:04 +00:00
Edward Hervey
2e198d4e59
validate: Fix leaks in ssim components
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7802 >
2024-10-31 12:18:41 +00:00
Tim-Philipp Müller
5630be477f
Back to development after 1.24.9
2024-10-30 20:40:12 +00:00
Tim-Philipp Müller
b309f90bfd
Release 1.24.9
2024-10-30 20:33:30 +00:00
Sebastian Dröge
1b302d01f7
flvmux: Consider timestamps before segment start to map to segment start
...
Instead of mapping them to running time 0, which is wrong if e.g. the segment
base is not equal to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7798 >
2024-10-30 19:55:01 +00:00
Sebastian Dröge
cb6bb1a0b3
flvmux: Use first running time on the initial header instead of 0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7798 >
2024-10-30 19:55:01 +00:00
Edward Hervey
4a41f6f3fe
srt: Don't attempt to reconnect on authentication failures
...
This is a fatal issue which can't be recovered
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7797 >
2024-10-30 19:14:35 +00:00
Thibault Saunier
f408cda172
multiqueue: Do not unref the query we get in pad->query
...
We do not own any ref to queries when running them.
If we end up processing the query from the streaming thread, it means that it was
a serialized query, and the query is being waited to be processed on the sinkpad
streaming thread, thread which owns the reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7796 >
2024-10-30 18:26:38 +00:00
Johan Sternerup
041a0f9e5e
twcc: Handle wrapping of reference time
...
Previously the wrapping of the 24-bit reference time was not handled
correctly when transforming it into GstClockTime. Given the unit of 64ms
the span that could be represented by 24 bits is 12 days and depending
on the start value we could get a wrapping problem anytime within this
time frame. This turned out to be particularly problematic for the GCC
algorithm in gst-plugins-rs which tried to evict old packages based on
the "oldest" timestamp, which due to wrapping problems could be in the
future. Thus, the container managing the packets could grow without
limits for a long time thereby creating both CPU and memory problems.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7792 >
2024-10-30 14:33:54 +00:00
Emil Ljungdahl
9cde2f0927
webrtcbin: Clean up bin elements when datachannel is removed
...
When a datachannel within a session is removed after proper close,
reference to the error_ignore_bin elements of the datachannel
appsrc/appsink were left in webrtcbin.
This caused the bin-objects to be left and not freed until the whole
webrtc session was terminated. Among other things that includes a thread
from the appsrc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7791 >
2024-10-30 13:48:01 +00:00
Jordan Petridis
206cb5c8f0
ci: Set SUBPROJECTS_CACHE_DIR variable
...
It's used in the build script and it fails if it's undefined.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7789 >
2024-10-30 12:08:06 +00:00
Nicolas Dufresne
e6d95f4385
wayland: Add NV15 support
...
This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
video decoders when decoding 4:2:0 10 bit content.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7789 >
2024-10-30 10:08:06 +00:00
Seungha Yang
0d6c356dfc
ci: Update fluster VP8 result
...
Updating vp80-03-segmentation-1425 and vp80-03-segmentation-1436
results
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7787 >
2024-10-30 01:16:58 +00:00