Commit graph

3871 commits

Author SHA1 Message Date
Sebastian Dröge
826018a393 Update CHANGELOG.md for 0.13.5 2025-03-11 19:24:06 +02:00
Sebastian Dröge
5c912446a9 gtk4: Consider surface scale factor when proposing window dimensions
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/646

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2125>
2025-03-10 14:07:28 +02:00
Mathieu Duponchelle
780c724902 translationbin: expose read-only translator property on source pads
This lets users easily change the tokenization method on the translator
object for instance.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2124>
2025-03-10 10:02:58 +02:00
Mathieu Duponchelle
ebcb8f220b transcriberbin: fix cea608mux start time selection
cea608mux is set to force-live=true, which means it will not wait for a
first buffer to select a start time.

There was however a problem when manually syncing the state of its
containing bin as we do: when doing so while the state of the containing
bin is still transitioning to Playing, the element first gets a 0 base
time distributed, before its containing bin finally gets the correct
base time and redistributes it.

In this interval cea608mux could pick a start time, then end up waiting
for ever to timeout.

This commit works around the issue by simply unlocking the state of the
inner bins but not syncing it when in Paused, as the subsequent state
change to Playing, if it happens, will trigger the state change of the
elements anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2115>
2025-03-07 16:24:21 +00:00
Mathieu Duponchelle
e31e5b2c6f transcriberbin: fix caption-source selection ..
with recent enough cccombiner.

Originally, dropping transcriptions was enough to support
caption-source=inband, as cccombiner did not implement output
scheduling.

However now that it does, even if no captions arrive on the caption pad
the combiner will still output padding.

Recent-enough combiners however expose an `input-meta-processing`
property which lets us achieve the desired behavior, we thus make use of
it when available.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2115>
2025-03-07 16:24:21 +00:00
Mathieu Duponchelle
4397b1e8e1 awstranscriber2: fix PTS calculation with non-zero segment start
The time we get from AWS is a running time, and needs to be brought back
to the segment time domain before comparison with segment position and
usage as PTS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2123>
2025-03-07 13:57:08 +01:00
Carlos Bentzen
1282593420 deny: update
- Add BSD-3-Clause-Clear to allowed licenses
- Add necessary `bans.skip` for duplicates.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/jobs/72366434

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2122>
2025-03-06 14:30:23 +01:00
Carlos Bentzen
6ba49c4dce vvdec: add VVdeC VVC/H.266 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1279>
2025-03-05 20:51:44 +01:00
Sebastian Dröge
e056d9244d Revert "quinn: Update to web-transport-quinn 0.5"
This reverts commit 50c2529904.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2120>
2025-03-04 15:28:06 +02:00
Sebastian Dröge
74c7cdb2d0 deny: Update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
62c213d8a1 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
2316a19544 rtsp: Update to lru 0.13
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
873ea52138 closedcaption: Update to itertools 0.14
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
2cd3d089aa Update to m3u8-rs 6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
ceda820236 gtk4: Update to windows-sys 0.59
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
50c2529904 quinn: Update to web-transport-quinn 0.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
8b59d76b52 tracers: Update to pcap-file 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Sebastian Dröge
370c162a06 net: Update to parse_link_header 0.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 16:51:23 +02:00
Sebastian Dröge
5de05bdd65 net: Update to xmltree 0.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 16:49:46 +02:00
Sebastian Dröge
f3e8be80cb raptorq: Update to raptorq 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 16:47:39 +02:00
Sebastian Dröge
18cdcaa2e0 net: Update to sprintf 0.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 16:45:21 +02:00
Sebastian Dröge
21947c28a6 videofx: Update image-hasher to 3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 16:42:09 +02:00
Sebastian Dröge
96cb31364e ci: Ignore libwebp-sys2 updates for now as it requires Rust 1.85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 13:49:20 +02:00
Sebastian Dröge
e0fdbfa2c1 webp: Don't require default features of libwebp-sys2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-03 13:49:10 +02:00
Mathieu Duponchelle
5d83d27798 speechmatics: fix state cycling
The static source pad is added to the dynamic srcpads collection for
convenience, so when the state transitions back to NULL and state is
reset to its default, we need to make sure to re-add the static source
pad to the collection.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2072>
2025-02-26 17:00:13 +01:00
Mathieu Duponchelle
6b9e3fd772 awstranscriber2: fix initial position
Wait until we have received a first buffer before pushing gaps on
timeout, as we don't have a valid start time before that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2072>
2025-02-26 17:00:13 +01:00
Mathieu Duponchelle
d0db66d61e transcriberbin: implement dynamic language update
Previously, transcriberbin only supported updating translation languages
while playing by resetting the state of the transcriber to NULL
beforehand, as for instance the speechmatics transcriber needs to
reestablish a connection to request new languages.

Now that translationbin exists, we can request new languages without
restarting the transcriber (this commit also implements support for this
in translationbin).

There is some code duplication as the old method still needs to be
supported, and not all code was trivially factorizable, but after some
refactoring most of the code for updating languages is shared
nevertheless.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2072>
2025-02-26 17:00:13 +01:00
Brad Hards
2130c3bfbe mux/mp4: add image sequence mode
Image sequence is defined in ISO/IEC 23008-12 (HEIF), as a variant of
video. The key difference is that image sequence timing is advisory.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2101>
2025-02-26 13:56:09 +00:00
Sanchayan Maity
130e13a33e hlsmultivariantsink: Disable tests
Some of the test randomly fail in CI, disable the tests
till we can pin down the cause of CI failures.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2112>
2025-02-26 13:26:08 +05:30
Thibault Saunier
e6f4b69aa2 cargo_wrapper: Force log file to be written in utf-8
We can hit https://gitlab.freedesktop.org/HuQian/gstreamer/-/jobs/71717584
otherwise, weirdly it never happened here.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2111>
2025-02-25 07:39:46 +00:00
Thibault Saunier
50472dc22c pipeline-snapshot: Use user_cache_dir from the GLib
The 'dirs' crate doesn't behave the same leading to incompatibility

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1956>
2025-02-24 16:27:25 -03:00
Thibault Saunier
2a11f0b577 tracers: pipeline-snapshot: Add websocket support for dots-viewer
Allows connecting to a dots-viewer server instance to trigger pipeline
snapshots remotely through the web interface.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1956>
2025-02-24 16:27:25 -03:00
Matthew Waters
ccf8adb6ae closedcaption: only increase dtvcc packet sequence if we have services
Otherwise, we can produce DTVCC packets that skip sequence numbers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2103>
2025-02-24 05:35:38 +00:00
Matthew Waters
3feb4fcf51 tttocea708: don't reset the service writer for every incoming caption
This will break when using pop-on captions

It's also not needed every single time and can be relegated to only when
changing services.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2103>
2025-02-24 05:35:38 +00:00
Sebastian Dröge
3d384bff62 mpegtslivesrc: Ignore NIT programs from the PAT
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2102>
2025-02-22 10:35:12 +00:00
Arun Raghavan
a34efda201 net/webrtc: Handle concurrent POSTs to whipserversrc
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/657
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2096>
2025-02-21 16:46:08 +00:00
Thibault Saunier
bd6be75107 tracer: Add memory tracer
Requires updating gstreamer-rs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2092>
2025-02-21 15:40:59 +00:00
Sebastian Dröge
93ee2ee70d Fix various new Rust 1.85 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2104>
2025-02-21 11:16:57 +02:00
Sebastian Dröge
4fdcba449e mpegtslivesrc: Take adaptation field discontinuity flag into account
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/653

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2084>
2025-02-20 10:46:30 +00:00
Sebastian Dröge
f77962937d mpegtslivesrc: Consider the initial calibration of the clock too
Previously we assumed that the calibration is always at the origin but
this is not necessarily true.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2084>
2025-02-20 10:46:30 +00:00
Sanchayan Maity
d2aceab54b hlsmultivariantsink: Serialise tests and increase channel timeout
Serialise the tests and increase the recv_timeout as it may
not be enough on the CI to do H264/H265 encoding for 1080p
streams which are we using for testing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2083>
2025-02-20 10:28:35 +05:30
eipachte
6165b3fe08 hlssink3: Write playlists atomically
We want to try to ensure that playlist files are written completely in a
single shot, to avoid the possibility of serving up a patially written
playlist.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2093>
2025-02-19 14:07:23 +00:00
Mark-André Schadow
ead9014e78 onvifmetadatacombiner: Metadata should not have a pts/dts
Incoming onvif-data should be stripped of pts/dts, as they are not updated when attached to a frame. Pts/Dta are readded by the associated extractor element

Linked to https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/655

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2086>
2025-02-19 12:47:52 +00:00
Mark-André Schadow
514cf57c56 onvifmetadataextractor: fix missing pts/dts in metadata buffer
Segments coming from the onvifmetadataextractor-plugin's meta_src do not inherit pts/dts from the input.
This leads to strange bugs when trying to send the metadata using rtp.
Fix this by appending the pts/dts of the incoming buffers to the outgoing metadata buffers

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/655

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2086>
2025-02-19 12:47:52 +00:00
Tim-Philipp Müller
c0b801ce46 webrtcsink: chain up in signaller ::constructed funcs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2080>
2025-02-19 08:12:54 +00:00
Tim-Philipp Müller
c6ce0bca57 spotifylyricsrc: chain up in ::constructed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2080>
2025-02-19 08:12:54 +00:00
Sebastian Dröge
3c0da2518f rtp: Add thread_rng feature to rand dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2090>
2025-02-19 00:34:52 +00:00
Sebastian Dröge
acfee44f58 Update to async-tungstenite 0.29
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2088>
2025-02-18 23:57:35 +00:00
Sebastian Dröge
9b0aa9c710 ci: Remove cmake before running the meson build
The meson cmake dependency resolver is broken.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2091>
2025-02-18 14:38:24 +02:00
Matthew Waters
0a35219c90 closedcaption: add CDP service information inject element
Overwrites the service information descriptor with the value specified in the
services property.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2043>
2025-02-17 10:25:01 +00:00