Sebastian Dröge
c09800b7a3
Update to quick-xml 0.38
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:22 +00:00
Sebastian Dröge
354a61f1e0
rtsp: Update to lru 0.16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:22 +00:00
Sebastian Dröge
2a9260a325
Update to socket2 0.6
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:22 +00:00
Sebastian Dröge
679835b184
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:21 +00:00
Sebastian Dröge
56b1c5503d
version-helper: Update to toml-edit 0.23
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:21 +00:00
Thibault Saunier
97f9f1fd8d
Fix build after gstreamer-rs!1747
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2356 >
2025-07-09 12:14:21 +00:00
Robert Mader
7b561354eb
video/gtk4: Copy non-contiguous sysmem buffers
...
As the texture builder only supports contiguous buffers. This follows
the gtkgstsink implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2271 >
2025-07-09 11:02:44 +00:00
Robert Mader
d2308a964e
video/gtk4: Add YCbCr memory texture formats
...
In order to match gtkgstsink. GTK only handles contiguous buffers,
thus adapt the texture builder part accordingly.
TODO: fall back to a copy for non-contiguous buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2271 >
2025-07-09 11:02:44 +00:00
Robert Mader
51b8d3dc0e
video/gtk4: Improve color-state fallbacks for unknown values
...
Colorimetry is partially or fully absent in many cases and GTK
sometimes doesn't handle that well.
Follow the example of gtkgstsink and always set defined values
while falling back to defaults otherwise. For the later case
differentiate between RGB and YCbCr formats to avoid the worst
pitfalls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2349 >
2025-07-09 10:14:25 +00:00
Taruntej Kanakamalla
e7790cb997
whipclient: emit shutdown after DELETE request
...
A shutdown signal to the base object i.e. webrtcsink will
make sure the client is closed gracefully, especially when
the ICE connection with the WHIP server peer is lost in an
unexpected way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2358 >
2025-07-09 15:03:10 +05:30
Taruntej Kanakamalla
93cd202578
whipserver: example: fix leak in the session teardown
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2358 >
2025-07-09 15:03:10 +05:30
Sebastian Dröge
93f0bbfbe9
mccparse: Convert "U" to the correct byte representation
...
It's supposed to be E1 00 00 00 and not E1 00 00.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/705
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2357 >
2025-07-09 11:07:43 +03:00
Philippe Normand
ad027bd05d
webrtc-api: Set default bundle policy to max-bundle
...
Otherwise the default is "balanced" and GstWebRTC-based browser engines don't
support this very well. Max bundle is already un-conditionally enabled by
default in webrtcsink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2352 >
2025-07-08 13:48:35 +00:00
Thibault Saunier
b305102a28
meson: Try to build skia by default
...
Now that we can use subprojects and we check dependencies, it should work
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2300 >
2025-07-08 13:19:30 +00:00
Thibault Saunier
e5afe39be4
meson: skia: Add harfbuzz, freetype and fontconfig as dependencies
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/692
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2300 >
2025-07-08 13:19:30 +00:00
Thibault Saunier
4f7bcf3c1e
skia: Update to 0.87 which supports using pkg-config
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2300 >
2025-07-08 13:19:30 +00:00
François Laignel
836045e945
rtprecv: fix SSRC collision event sent in wrong direction
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2351 >
2025-07-07 13:10:59 +02:00
Mathieu Duponchelle
464d8b6fbb
elevenlabssynthesizer: fix running time checks
...
The deadline for pushing a buffer out of the element is not its running
time, but its running time added to the upstream latency + the element
latency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2348 >
2025-07-04 19:12:51 +00:00
Mathieu Duponchelle
6c1b331129
elevenlabssynthesizer: remove stray progress message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2348 >
2025-07-04 19:12:51 +00:00
Robert Ayrapetyan
e82e5fe5ae
webrtc: fix Safari addIceCandidate crash
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2039 >
2025-07-03 11:50:19 +00:00
Brad Hards
06939540a1
mp4mux: add TAI timestamp muxing
...
This is an implementation of the TAI timestamp functionality described in ISO/IEC 23001-17 Amendment 1 Section 8.1.2 and 8.1.3.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2280 >
2025-07-03 21:07:35 +10:00
Arun Raghavan
efaab53ab3
aws: s3hlssink: Write to S3 on OutputStream flush
...
It is quite brittle to try to depend on signal order from splitmuxsink
or hlssink3 (or worse, when S3Upload gets drop()ed). We implement
flush() on the stream instead, with a simple check to make sure there's
new data to avoid duplicate uploads.
If we get the ordering wrong, we upload new segments _after_ the
corresponding playlist update referencing that segment, which outside of
being wrong, could break players.
I had done this in the initial implementation, but iirc the flush() was
insufficient for reasons I don't fully recall. Doing a flush in both
flush() and drop() should hopefully cover all the cases that I found to
not work. In addition, since this is an append-only stream, we can do a
simple length check to avoid redundant uploads.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2330 >
2025-07-02 14:50:48 +00:00
Robert Mader
b271edc3f8
gtk4: Promote set_caps debug log to info
...
As that info is very helpful for debugging and can get easily get
lost in debug noise.
This matches the behavior of glupload and gtkgstsink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2341 >
2025-07-02 14:38:42 +02:00
François Laignel
096987a31c
rtpbin2: sync: fix race condition
...
Under some circumstances, the `ssrc` could be added to the `ssrcs` map without
the `clock_rate` being defined. When `rtprecv` would check wether the ssrc
`has_clock_rate()`, it would return `true` spuriously, which would then cause a
panic in `calculate_pts()`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2337 >
2025-07-02 13:33:34 +02:00
Jochen Henneberg
594a0152ba
gopbuffer: Push GOPs in order of time on EOS
...
GOPs are internally ordered with latest GOP first so they have to be
pushed in reverse order on EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2335 >
2025-07-02 09:48:22 +02:00
Jerome Colle
388b442891
webrtcsink: add signal to configure mitigation modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2279 >
2025-07-01 19:25:09 +02:00
François Laignel
0be4cd8b32
rtpbin2: fix race condition on serialized Queries
...
If a serialized Query was pushed after the src Pad Task had already started
waiting for next item, the Query was not processed, blocking the stream.
This commit wakes the `JitterbufferStore` if a `Waker` was pending.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2332 >
2025-07-01 17:26:27 +02:00
Taruntej Kanakamalla
fc0b433e29
webrtcsink: fix deadlock on error setting remote description
...
Avoids another attempt to lock the sesion mutex recursively.
Take a copy of the session id string to be passed to the signaller and
drop the session mutex after removal of session from the hashmap
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2331 >
2025-07-01 13:36:38 +05:30
Matthew Waters
f835e075ea
livekit: add room-timeout
...
Produces an error message and disconnects when there is no other participant
in the room for room-timeout milliseconds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2307 >
2025-07-01 00:30:47 +00:00
Arun Raghavan
a5f0b5947b
net: hlssink3: Fix a comment typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2329 >
2025-06-30 10:01:49 -04:00
Arun Raghavan
5d4b23eb2c
net: hlssink3: Use closed fragment location in playlist generation
...
Currently, we incorrectly use the last location we generated, which is
the current in-flight fragment while generating a new playlist. Instead,
the playlist should use the fragment that was just close (i.e. the
previous fragment), so it does not refer to a fragment we have not yet
uploaded.
This is a bug that was copied over from how hlssink2 does things.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2324 >
2025-06-30 12:09:58 +00:00
Taruntej Kanakamalla
ab50ef2fb7
webrtc: sink: avoid recursive locking of the session
...
Drop the session lock before calling end_session and finalize session
if the consumer refuses the media or the provided payload in not valid
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2322 >
2025-06-30 11:09:55 +00:00
Sebastian Dröge
77e45a6f00
Update gstreamer-rs / gtk-rs dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2323 >
2025-06-27 12:15:30 +03:00
Sebastian Dröge
2d61a4cc06
Fix various new clippy 1.88 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2323 >
2025-06-26 22:51:42 +03:00
François Laignel
ff2b71cbbd
ts: add ts-rtpdtmfsrc
...
This commit adds a `ts-rtpdtmfsrc`, similar to `rtpdtmfsrc`, but taking
advantage of the threadshare runtime, allowing reduced number of threads and
context switches when many elements are used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2319 >
2025-06-26 17:21:10 +02:00
Mathieu Duponchelle
6061ddbb5b
audio/elevenlabs: new speech synthesis element around ElevenLabs API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2313 >
2025-06-25 22:46:37 +00:00
Mathieu Duponchelle
c269ef50dd
transcriberbin: fix naming of subtitle pads
...
When subtitle pads are added dynamically, the suffix used was
"synthesis" instead of the expected "subtitle".
This fixes it by refactoring the code to define a new enum with a name()
parameter for the types of custom output channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2318 >
2025-06-25 21:55:01 +00:00
Sebastian Dröge
efb0ae5e1f
webrtcsink: Also ignore H265 sprop-{vps,pps,sps} RTP caps fields from discovery
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2315 >
2025-06-24 08:16:09 +00:00
Sebastian Dröge
7cd277e56b
webrtcsink: Don't reject caps events if the codec_data changes
...
We only care if actually incompatible changes are happening, which would
be reflected by other caps fields.
Use the same codec caps cleanup function as elsewhere for this purpose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2315 >
2025-06-24 08:16:09 +00:00
Sebastian Dröge
88dbe2dc4e
Rename relationmeta plugin to analytics
...
It's basically dependency-less and there are going to be more
analytics-related utility elements in the future, so moving them
all to a single plugin simplifies things.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2314 >
2025-06-23 13:54:09 +03:00
Matthew Waters
d80f91da51
cea708mux: support configuring a limit to how much data will be pending
...
Can prevent a build up of data and reduce the amount of delayed captions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2311 >
2025-06-22 00:05:10 +00:00
François Laignel
6ae07945ac
threadshare: add inter elements
...
These threadshare-based elements provide a means to connect an upstream pipeline
to multiple downstream pipelines while taking advantage of reduced nb of threads
& context switches.
Differences with the `ts-proxy` elements:
* Link one to many pipelines instead of one to one.
* No back pressure: items which can't be handled by a downstream pipeline are
lost, wherease they are kept in a pending queue and block the stream for
`ts-proxysink`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2293 >
2025-06-20 17:11:07 +02:00
François Laignel
b48ab031a0
ts: move flume to dev dep (used in examples)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2293 >
2025-06-20 17:11:07 +02:00
L. E. Segovia
7d3668a08a
audiofx: Fix Nightly dangerous_implicit_autorefs, part 2
...
Skip using raw pointers altogether.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 18:45:32 -03:00
L. E. Segovia
c74d859490
quinn: Fix Nightly mismatched_lifetime_syntaxes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 14:38:56 -03:00
L. E. Segovia
eb91bd7bf4
json: Fix Nightly mismatched_lifetime_syntaxes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 14:38:56 -03:00
L. E. Segovia
0bdf3c1b87
audiofx: Fix Nightly dangerous_implicit_autorefs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 14:38:56 -03:00
L. E. Segovia
eeb811115f
ndi: Fix Nightly mismatched_lifetime_syntaxes lint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 14:38:56 -03:00
L. E. Segovia
b2d6c53ac1
audiofx: Fix Nightly mismatched_lifetime_syntaxes lint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2291 >
2025-06-19 14:38:56 -03:00
Sebastian Dröge
f1b6cd541b
threadshare: Update to getifaddrs 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2308 >
2025-06-19 10:01:30 +03:00