Matthew Waters
0c4ea45548
cea708overlay: also reset the output size on flush stop
...
Otherwise, a flushing seek may cause no captions to be displayed.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/695
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2270 >
2025-06-03 10:01:22 +10:00
L. E. Segovia
e860627092
webrtc: android: Migrate to FindGStreamerMobile
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2266 >
2025-05-30 03:30:28 +00:00
L. E. Segovia
97bded80c6
webrtc: android: Update Gradle to 8.11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2266 >
2025-05-30 03:30:28 +00:00
Brad Hards
0826007d97
mux/mp4: test the trak structure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2268 >
2025-05-28 18:23:01 +09:30
Piotr Brzeziński
1e243add0c
webrtc: Make older peers less likely to crash when webrtcsrc is used
...
Commit abf97ba2
introduced an API break by adding a new Consumer peer
role and adding a new field to the existing List message.
This caused older clients to crash as soon as a 'new' webrtcsrc
registered due to their inability to parse the new role.
This fix consists of two parts:
- makes webrtcsrc only register as a Consumer when it's actually waiting
for a producer session request, instead of doing that in all cases
- Reverts the List message to the old version, and instead adds a
ListConsumers message for the purpose of retrieving the list of
'awaiting' consumers
This is still technically an API break, and older clients will *still*
crash if a webrtcsrc registers as a Consumer. However, if ran the 'old'
way - either with a peer ID set or with connect-to-first-producer=true -
it won't do that anymore.
It's a band-aid fix to not break too many things while GStreamer 1.26
still follows the main branch here. After gst-plugins-rs 0.14 branches
away we'll be able to do a proper API break, aimed at making similar
changes possible in the future without causing old clients to crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2259 >
2025-05-27 11:38:47 +00:00
Guillaume Desmottes
3c830e7ea8
ci: fix check-documentation-diff curl command
...
Need to pass -L to follow the moved location.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2262 >
2025-05-27 06:44:41 +00:00
Daniel Morin
448edec0ee
webrtcsink: Use seq number instead of Uuid for discovery
...
- At startup the system might not have enough entropy to generate a
Uuid and attempting to create one block till enough entropy has been
accumulated. This cause delay to start discovery after system reboot.
- Uuid is not required, we only need uniqueness between local
discoveries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2260 >
2025-05-27 06:19:24 +00:00
Eva Pace
999d08c5bc
net/webrtc/janusvr: add new source element
...
Co-authored-by: Guillaume Desmottes <guillaume.desmottes@onestream.live>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1473 >
2025-05-27 05:56:06 +00:00
Brad Hards
34f16e0567
mux/mp4: migrate to mp4-atom to check muxing
...
This avoids implementing parsing logic for tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2258 >
2025-05-26 10:30:12 +00:00
Guillaume Desmottes
bd7cc01377
webrtc: janus: inline JsonReply members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:09 +00:00
Guillaume Desmottes
8147ed59ad
webrtc: janus: inline VideoRoomData members
...
No need to have explicit extra structs. Make the Janus API easier to read.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:09 +00:00
Guillaume Desmottes
1000035974
webrtc: janus: log signaller state changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:09 +00:00
Guillaume Desmottes
e2ab2ea9ff
webrtc: janus: decrease level of some info debug logs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Guillaume Desmottes
9742381508
webrtc: janus: define mutexes ordering
...
Should help preventing dead locks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Guillaume Desmottes
6082597a56
webrtc: janus: do not re-use the same transaction id
...
Each request is supposed to have its own transaction id as it is used to
identify the reply from the server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Guillaume Desmottes
063849f458
webrtc: janus: use serde tag to describe Janus API
...
Makes the API clearer and less prone to errors by relying on enums
rather than strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Guillaume Desmottes
deb7325e7c
webrtc: janus: log message sent as TRACE
...
The messages received are already logged as TRACE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Guillaume Desmottes
2fb92cf188
webrtc: janus: use 'member' when defining janus-state property
...
It actually works when passing the type as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2244 >
2025-05-26 08:12:08 +00:00
Brad Hards
8cf0784730
mux/mp4: avoid dumping test output into build directory
...
This makes it slightly more difficult to debug failing tests, but is way
cleaner for the common case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2257 >
2025-05-26 11:58:15 +09:30
dukesook
6b54566a85
mp4mux: add extra brands
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2245 >
2025-05-23 17:47:42 +03:00
Sebastian Dröge
befe818a3f
gtk4: Use window.present()
instead of window.show()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2252 >
2025-05-22 17:44:29 +03:00
Sebastian Dröge
bb8393a5a3
ci: Update fdo ci templates version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2252 >
2025-05-22 17:12:53 +03:00
Sebastian Dröge
8a0b255504
ci: Update base image from Debian bookworm to trixie
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2252 >
2025-05-22 17:12:53 +03:00
Sebastian Dröge
b511beaf2c
gtk4: Update default GTK4 target version to 4.10
...
If necessary, support for older versions can still be enabled by
disabling the default but like this it will at least work correctly
(even if less efficient as it could) with newer GTK versions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2252 >
2025-05-22 17:12:53 +03:00
L. E. Segovia
3df88075f5
Update Cargo.lock to fix duplicated target-lexicon
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2254 >
2025-05-22 07:53:38 +00:00
Sebastian Dröge
860bebcdef
Fix or silence various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2253 >
2025-05-22 10:02:21 +03:00
Robert Mader
6450381017
video/gtk4: Initial colorimetry support
...
Similar to GtkGstSink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2022 >
2025-05-20 15:35:00 +02:00
Robert Mader
85455c937f
Cargo.lock: Update GTK4
...
In order to pull in an API fix before we start using said API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2022 >
2025-05-20 13:46:24 +02:00
Robert Mader
7db44376db
gtk4: Update and adapt to texture builder API changes
...
See https://github.com/gtk-rs/gtk4-rs/pull/2046
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2247 >
2025-05-20 11:18:11 +00:00
Alicia Boya García
c29841dc1e
cea608tott: make test less shocking by having more cues as context
...
The contents of the current test for cea608tott can be a bit shocking
without context about the source.
This patch adds more cues to the test so that a reader just trying to
understand the elements has more context that this is a news program.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2249 >
2025-05-18 13:07:36 +02:00
Sebastian Dröge
236608f48e
webrtc: Stop using deprecated API and require GStreamer 1.22 or newer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2243 >
2025-05-14 08:40:39 +03:00
Sebastian Dröge
d8d988427f
Update plugins docs cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2243 >
2025-05-13 20:14:33 +03:00
Sebastian Dröge
8366311a42
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2243 >
2025-05-13 20:03:56 +03:00
Sebastian Dröge
6db8c1806c
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2241 >
2025-05-13 14:49:19 +03:00
Sebastian Dröge
8df3fbe4ed
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2241 >
2025-05-13 14:47:45 +03:00
Christoph Reiter
2079f23dde
aws-lc-rs: Update to 1.13.1
...
This is required to fix the build with clang+mingw on Windows,
see https://github.com/aws/aws-lc/pull/2381
Updated via "cargo update -p aws-lc-rs --precise 1.13.1"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2237 >
2025-05-12 07:30:09 +00:00
Mathieu Duponchelle
d99e8a7e7f
awstranslate: output buffer lists
...
This means we can still output sentences as a single unit, even when
using span-based mode.
Update `awspolly` to concatenate buffer lists together before sending
them out for synthesis, and remove the now-useless textwrap element from
transcriberbin's synthesis channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2235 >
2025-05-06 13:35:32 +02:00
L. E. Segovia
4ee38b6cf9
deny: Allow webpki-root-certs license
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2233 >
2025-05-05 16:15:41 +00:00
Mathieu Duponchelle
2e03d4f693
awstranslate: expose new accumulator-lateness property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2221 >
2025-05-05 15:41:09 +00:00
Mathieu Duponchelle
9a784d5979
awstranslate: fix docstring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2221 >
2025-05-05 15:41:09 +00:00
Mathieu Duponchelle
492ef81010
awstranslate: unit test accumulator logic
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2221 >
2025-05-05 15:41:09 +00:00
Sebastian Dröge
144aeb615a
fmp4mux: Fix handling of negative DTS in composition time offset
...
Actually negative DTS (i.e. < 0) was handled correctly before when
queueing buffers, but this didn't handle the case correctly where the
very same stream has DTS/PTS shifted to be positive (i.e. start DTS is
before earliest PTS).
To solve this, pass through all DTS as signed values and at the very end
for every fragment calculate the offset between the two in addition to
the PTS/DTS offset of each buffer, and adjust the composition time
offsets accordingly.
This way the final PTS of each buffer after demuxing is equal to the
actual running time of the very same buffer before muxing. Previously
all PTS would've been shifted forwards by a couple of frames, which then
broke A/V synchronization.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2232 >
2025-05-05 16:47:34 +03:00
Sebastian Dröge
8f8a663555
fmp4mux: Add explanatory comment why tfdt is mapped to the earliest PTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2232 >
2025-05-05 16:46:51 +03:00
Sebastian Dröge
a9a3a7a435
dav1ddec: Implement hack to finish output buffer with a reference count of 1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:53 +00:00
Sebastian Dröge
2166befce7
dav1ddec: Set output frame duration via the codec frame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:53 +00:00
Sebastian Dröge
9012099e62
dav1ddec: Directly decode into downstream allocated buffers if possible
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/670
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:53 +00:00
Sebastian Dröge
0afd415bcb
dav1ddec: Simplify LATENCY query handling
...
And don't keep state locked while querying upstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:53 +00:00
Sebastian Dröge
6ee63a465d
dav1ddec: Allocate output buffers from an internal buffer pool
...
In the best case we can directly output them without copying now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:52 +00:00
Sebastian Dröge
ebaf8ce8a5
dav1ddec: Move more video format mapping logic into functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:52 +00:00
Sebastian Dröge
6ae34b751a
dav1ddec: Keep state unlocked while calling into the decoder
...
This is a preparation for handling allocations ourselves from the
element as that would call back from the decoder into the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2190 >
2025-05-03 15:36:52 +00:00