Sebastian Dröge
9ccf887553
mpegtslivesrc: Remove leftover debug message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2412 >
2025-08-04 16:30:55 +03:00
François Laignel
907fca2aa2
threadshare: fix regression in ts-proxysrc
...
This [MR] introduced a race condition when the `ts-proxysink` started pushing
items before `ts-prosysrc` had started.
This commit reverts the changes to `ProxySrcTask::start`: wake up the pending
queue when starting the task. Also applies this to `ts-queue` even though the
race condition is less likely to happen.
[MR]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2400
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2405 >
2025-07-30 16:24:48 +02:00
François Laignel
21578ccb83
threadshare: fix flush for ts-intersrc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2400 >
2025-07-29 20:40:48 +02:00
François Laignel
ecc198e5c2
threadshare: fix flush for ts-queue ts-proxy
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2400 >
2025-07-29 20:40:48 +02:00
François Laignel
9f4a8d3eeb
tracers: queue-levels: add support for threadshare DataQueue related elements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2399 >
2025-07-29 15:55:00 +02:00
François Laignel
2f10e6e23f
threadshare: add cur-level properties to DataQueue related elements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2399 >
2025-07-29 15:55:00 +02:00
Seungha Yang
42a72d034e
transcriberbin: Release lock before forwarding caps event
...
Don't hold lock while sending caps events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2398 >
2025-07-28 14:56:03 +00:00
Seungha Yang
37a5acc788
transcriberbin: Fix handling of upstream latency query
...
Forward latency query upstream instead of downstream.
Fix regression introduced by 4074f4c275
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2398 >
2025-07-28 14:56:03 +00:00
Matthew Waters
f55641f5ca
ceaX08overlay: support ANY caps features
...
Allows e.g. memory:GLMemory as long as meta::GstVideoOverlayCompositionMeta is
supported downstream.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/710
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2390 >
2025-07-25 01:33:57 +00:00
Mathieu Duponchelle
9451c821ae
cea708mux: expose "discarded-services" property on sink pads
...
This can be useful when muxing in an original caption stream with
a newly-created one (eg transcription / translation), in which case one
might wish to discard select services from the original stream in order
to avoid garbled captions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2389 >
2025-07-24 14:41:01 +00:00
Taruntej Kanakamalla
486a373dcb
net/webrtc/whep: add WHEP client signaller
...
Rewrite the whepsrc element with WHEP Client as a signaller
on top of webrtcsrc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1545 >
2025-07-24 14:11:35 +00:00
Taruntej Kanakamalla
6d0cdb30f2
webrtcsrc: add capability to initiate offer and handle answer
...
- add the handler for session-request signal from the signaller
to initiate an offer
- rename `handle_offer` function as `handle_remote_description` to use
if for the both remote offer and answer.
- in the function `remote_description_set` add checks to deal with answer and
offer separately
- in the session-description signal handler, call the handle_remote_description
for both offer and answer type remote description
- add a new member clock_rate in the Codec struct which is determined from the depayloader
pad templates
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1545 >
2025-07-24 14:11:34 +00:00
François Laignel
34462445e8
ts-audiotestsrc: fix non-desirable harmonics
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2392 >
2025-07-23 17:02:17 +00:00
François Laignel
00cd58a21c
ts-audiotestsrc: actually use volume & mute properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2392 >
2025-07-23 17:02:17 +00:00
François Laignel
b5af06c88b
rtpmp4apay2: fix payload size prefix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2391 >
2025-07-23 17:53:16 +02:00
Mathieu Duponchelle
0a7cbb8d59
awstranscriber2: add property for setting show_speaker_labels
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2240 >
2025-07-22 18:51:10 +00:00
François Laignel
79f5bc96d9
threadshare: udpsrc / tcpclientsrc: latency report
...
Incoming packets might be pushed up to `context-wait` late if the scheduler
just parked due to no tasks needing progress.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2387 >
2025-07-17 19:19:44 +02:00
François Laignel
10ec242460
ts-intersink: post Latency message on first buffer
...
Push a Latency message on first buffer, so as to make sure latency is properly
configured even with dynamic pipelines.
Future improvement: implement Prerolling & async state change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2387 >
2025-07-17 19:19:42 +02:00
François Laignel
3a53d857b8
ts-audiotestsrc: rework
...
This element didn't comply with usual convetions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2387 >
2025-07-17 19:18:48 +02:00
François Laignel
ff77fc0089
Update gst_plugins_cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2382 >
2025-07-17 10:32:27 +00:00
François Laignel
7781dff8e5
rtp: basepay: fix timestamp property's range
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2382 >
2025-07-17 10:32:27 +00:00
François Laignel
c9b08188f2
ts-rtpdtmfsrc: fix some property ranges
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2382 >
2025-07-17 10:32:27 +00:00
Sebastian Dröge
715a6bcd69
rtpbin2: add send / recv examples
...
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2360 >
2025-07-17 10:58:49 +03:00
Sebastian Dröge
31af6cb46b
rtprecv: Drop state lock before chaining RTCP packets from the RTP chain function
...
Otherwise the state lock is taken twice and will cause a deadlock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2381 >
2025-07-16 18:03:36 +03:00
Sebastian Dröge
71d723de48
Update CHANGELOG.md for 0.14.0
2025-07-16 14:28:41 +03:00
Sebastian Dröge
cfe5da44cb
Update versions to 0.15.0-alpha.1
2025-07-16 14:28:41 +03:00
François Laignel
96dde2d337
ts-inter: fix racy test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2380 >
2025-07-16 12:24:25 +02:00
François Laignel
716ac58a20
threadshare: src elements: don't pause the task in downward state transitions
...
The threadshare async Task doesn't cancel a currently running iteration. If the
streaming thread is blocked, the iteration will not return blocking the state
change.
This commit skips the `pause` transition for the src elements, so a blocked
iteration can be interrupted transitioning to `Stop`.
Also make sure the stop transition is called chaining the state change up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2380 >
2025-07-16 12:18:10 +02:00
Sebastian Dröge
9612655f50
Update to async-tungstenite 0.30
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2379 >
2025-07-16 11:50:17 +03:00
Sebastian Dröge
e848fb67d5
Update CHANGELOG.md for 0.13.7
2025-07-16 10:33:02 +03:00
Sebastian Dröge
3d088278da
Update CHANGELOG.md for 0.13.6
2025-07-16 10:33:02 +03:00
François Laignel
50c6e42b58
ts-intersrc: handle dynamic inter-ctx changes
...
Users can now update the `inter-context` property of a `ts-intersrc`, which will
disconnect from the `ts-intersink` associated with previous value of
`inter-context` and attempt to connect to the `ts-intersink` associated with the
new value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2378 >
2025-07-16 06:44:34 +00:00
François Laignel
858aee39b5
ts: inter: better ParamSpec Builder usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2378 >
2025-07-16 06:44:34 +00:00
François Laignel
1ce1a41ca7
rtprecv: optimize src Pad scheduling
...
This commit implements optimizations to reduce the number of threads and
context switches necessary to handle items on src Pads.
1. A single task for all src pads in a session
Instead of starting one pad task (thread) per src pad in a session, we can
spawn a single async task that dequeues all ready items out of the jitter
buffers and pushes them to their respective src pads.
2. Handle downstream-travelling items immediately when possible
It is possible to immediately handle downstream-travelling items without queuing
them in the jitter buffer:
* for an RTP packet, if the packet is the next packet that we were expecting
and the src Pad's jitter buffer is empty.
* for a downstream query or event if the src Pad's jitter buffer is empty.
Otherwise, the item needs to be enqueued in the jitter buffer.
3. Making sure the above strategies play well together
If a jitter buffer is empty because the src pad task just dequeued items,
the sink pad might push incoming items before the src pad task had time to push
the dequeued items, which would break ordering.
In order to avoid this situation, each src pad uses a semaphore which is held
from the moment when the sink pad or the src pad makes decisions regarding the
jitter buffer and hold it as long as necessary so as to guarantee ordering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2346 >
2025-07-15 15:30:08 +00:00
François Laignel
41ea936e51
rtpbin2: allow process-wide RUNTIME thread related configuration...
...
... using env vars.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2346 >
2025-07-15 15:30:08 +00:00
François Laignel
c575c93d89
rtprecv: pass RtpRecvSrcPad around instead of only the JitterBufferStore
...
This allows accessing the src pad too (e.g. to get its name), which can ease
log intepretation when multiple ssrc are involved and more will also ease
subsequent commits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2346 >
2025-07-15 15:30:08 +00:00
François Laignel
618a348b28
rtpbin2: add a bit of documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2346 >
2025-07-15 15:30:07 +00:00
Sebastian Dröge
19e92e5625
rtp: Update to rtcp-types 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2373 >
2025-07-15 14:34:51 +03:00
Sebastian Dröge
98b61b1e56
rtprecv: Improve detection of rtcp-mux RTCP packets received on the RTP sink pad
...
Most RTCP packets are also valid RTP packets and just have the marker
bit set and a payload type between 64 and 95. If we don't know RTP caps
for such packets, try parsing them as RTCP packet instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2362 >
2025-07-15 10:48:12 +00:00
Vivia Nikolaidou
20eb83367d
tttocea{6,7}08: Disallow pango markup from input caps
...
Otherwise the elements treat pango markup as plain text, making the text
appear corrupted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2367 >
2025-07-15 10:04:38 +00:00
Sebastian Dröge
f01565cd69
quinn: Remove unused once_cell dependency
2025-07-15 13:00:28 +03:00
Mathieu Duponchelle
362a1a22ce
cea708mux: fix clipping function
...
The intention of the original implementation was to clip buffers outside
the segments, but the second map was getting Some(None) in that case.
Fix by using `and_then` for a flat map
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2372 >
2025-07-15 08:38:37 +03:00
Sebastian Dröge
3a6a78d07f
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2317 >
2025-07-14 16:34:47 +00:00
Sebastian Dröge
67175f70d9
analytics: Add new analyticscombiner / analyticssplitter elements
...
These batch buffers from one or more streams into a single stream via
the GstAnalyticsBatchMeta and allow splitting that single stream into
the individual ones again later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2317 >
2025-07-14 16:34:47 +00:00
Sebastian Dröge
a6b22bc047
fmp4mux: Ignore a couple of tests that were broken by an aggregator change
...
Caused by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9320
but these are problems in the tests. GstHarness and aggregator tests are
impossible to write reliably.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2368 >
2025-07-14 18:24:25 +03:00
Sebastian Dröge
eec463ca34
dav1ddec: Use video decoder base class latency reporting API
...
And report the new latency whenever the frame rate changes during
caps negotiation so that the pipeline can configure a new latency
when receiving the latency message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2368 >
2025-07-14 17:46:13 +03:00
Sebastian Dröge
daa48f019b
dav1d: Update for GStreamer bindings API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2365 >
2025-07-14 12:12:36 +00:00
Sebastian Dröge
e85cbbaf7f
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2365 >
2025-07-14 12:12:36 +00:00
Sebastian Dröge
5656a7e4e0
rtprecv/rtpsend: Downgrade warning about incomplete RTP caps to a debug message
...
When using bundled RTP streams the clock-rate has to come from the
pt-map instead of the caps on the pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2364 >
2025-07-14 12:38:34 +03:00
Sebastian Dröge
ae2e823340
rtprecv: Drop packets for which we have no clock-rate instead of panicking
...
Panicking if some spurious packet with an unknown payload type is
received is not good behaviour.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2364 >
2025-07-14 12:38:34 +03:00