Sebastian Dröge
c5e4181613
fmp4mux: Only allow caps-related header updates if header-update-mode=caps
...
In none mode nothing is expecting updated headers, in the other existing
modes the goal is to get an updated header at the end with the duration.
So add a new mode specifically for caps changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
f86e7e6c33
fmp4mux: Write btrt box from the bitrate tags if existing
...
Only take the tags into account that arrive before the muxer created its
streams, otherwise we would have to re-create the header every time the
bitrate changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
51987b6f1f
fmp4mux: Write prft box into each fragment with the NTP / media time mapping if possible
...
The NTP time is based on the reference timestamp meta of the buffer that
has the start media time of the fragment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
a7f7b93ca0
fmp4mux: Add new start-fragment-sequence-number property
...
This allows configuring the sequence number used in the first mfhd and
defaults to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
dd6cf65a18
fmp4mux: Add new decode-time-offset property
...
This allows shifting the decoding timeline by changing the decode time
of all streams in the tfdt box.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
6ff5b8d019
fmp4mux: Add documentation for new send-force-keyunit property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193 >
2025-04-14 13:38:20 +00:00
Sebastian Dröge
594fbfd649
Fix various new clippy warnings because of the MSRV bump
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2203 >
2025-04-14 13:35:43 +03:00
L. E. Segovia
13ea188b74
Bump MSRV to 1.83
...
To follow gtk-rs and gstreamer-rs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2203 >
2025-04-14 13:35:14 +03:00
Sebastian Dröge
b4540e465b
gtk4: Allow any windows-sys version >= 0.52 and <= 0.59
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2201 >
2025-04-11 18:03:23 +03:00
Sebastian Dröge
be16479f95
threadshare: Clean up dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2201 >
2025-04-11 18:03:23 +03:00
Sebastian Dröge
c37e0b2fa9
livesync: Notify in/out/drop/duplicate properties on change
...
And add a new silent property that defaults to false for disabling the
notifications, just like in audiorate and videorate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2200 >
2025-04-11 11:31:51 +00:00
Mathieu Duponchelle
dd0b86bf11
ts-jitterbuffer: improve scheduling of lost events
...
When we have detected that packets are equidistant and have
determined a packet spacing, we can schedule lost events "on time"
instead of pushing them at the same time as the next received
packet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/756 >
2025-04-10 10:31:27 +00:00
Mathieu Duponchelle
8dd8d67974
awstranslate: improve message posted on bus
...
* Include speaker if available
* Instead of directly using the raw string received from awstranslate,
post-process it to remove spans and include per-item timestamps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2073 >
2025-04-10 09:04:13 +00:00
Matthew Waters
4e64b63bfe
tttocea708: fix origin-row handling for roll-up in CEA-708
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2191 >
2025-04-10 04:21:07 +00:00
Mathieu Duponchelle
23afeb3258
transcriberbin: make auto passthrough work when transcriber is a bin
...
For instance, when using translation bin the source of an error message
might be the transcriber it contains, we should still go to passthrough
in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2165 >
2025-04-09 18:42:38 +00:00
Jordan Petridis
15ef826bcf
ci: Force git-fetch-with-cli on windows as well
...
We already do this on linux, do this on windows as well
We need this as git has better handling of redirects, and
we are running into issues after gitlab.freedesktop.org
switched to using a cdn proxy.
Similar to the original issue [1]
[1]: https://gitlab.freedesktop.org/gstreamer/gst-ci/-/issues/71
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2194 >
2025-04-09 10:14:11 +03:00
Sebastian Dröge
916e946bf1
fmp4mux: Add manual-split mode that is triggered by serialized downstream events
...
The chunk / fragment duration properties are only used for configuring
the latency in this mode, and split-at-running-time splits have no
effect. Similarly, no force-keyunit events are sent in this mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2182 >
2025-04-08 17:30:08 +03:00
Sebastian Dröge
1d9d6e2719
fmp4mux: Simplify code that selects force-keyunit time
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2182 >
2025-04-08 17:29:56 +03:00
Sebastian Dröge
20f25ba775
Revert "dav1ddec: Use max-frame-delay value from the decoder instead of calculating it"
...
This reverts commit 64b6661548
.
This needs more work because the decoder often does not know the correct
value in the beginning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2189 >
2025-04-08 12:15:39 +00:00
Nirbheek Chauhan
66b3857bc4
ci: Fix cerbero trigger rules for file changes
...
"if changes... never" will NOT create the pipeline if *any* of the
changes are in these files, which is not what we want. Flip the logic,
so that the pipeline is created when any Rust file is changed, or
Cargo.toml/Cargo.lock is changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2121 >
2025-04-08 11:19:13 +00:00
Sebastian Dröge
64b6661548
dav1ddec: Use max-frame-delay value from the decoder instead of calculating it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2185 >
2025-04-08 09:24:18 +03:00
Sebastian Dröge
c62139c64a
fmp4mux: Write a v0 tfdt box if the decode time is small enough
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2184 >
2025-04-07 17:36:45 +03:00
Sebastian Dröge
8ba5496563
fmp4mux: Get rid of local copy of GroupBy slice iterator
...
This was stabilized as ChunkBy in Rust 1.77
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2184 >
2025-04-07 17:32:33 +03:00
Matthew Waters
08f9565369
build: update closedcaption deps
...
cea708-types to 0.4.0
- Includes https://github.com/ystreet/cea708-types/pull/24 which fixes cea708mux
producing full DTVCCPacket's.
cdp-types to 0.3.0 (updates to cea708-types 0.4.0)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2183 >
2025-04-07 15:19:53 +10:00
Matthew Waters
6273e05395
cea708mux: Improve support for overflowing input captions
...
Input captions on multiple input pads can be bursty and may overflow an
individual output packet if naively put into an output packet leading to a
potential panic of WouldOverflow(1).
Fix by actively tracking the free space of what a generated packet would produce
and delaying output of everything that would overflow. This is in addition to
the already existing service overflow detection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2183 >
2025-04-07 15:19:53 +10:00
Sebastian Dröge
c901cdfb42
fmp4mux: Fix some comments / debug output
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2178 >
2025-04-06 14:03:03 +00:00
Sebastian Dröge
8bed1e156e
fmp4mux: Improve split-at-running-time handling
...
Recalculate the fragment end PTS more regularly to allow adding a new
split request for the currently active fragment.
Also directly discard split requests that are before the current
fragment start PTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2178 >
2025-04-06 14:03:03 +00:00
Sebastian Dröge
a49a9243ea
fmp4mux: Fix latency configuration for properties set during construction
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2179 >
2025-04-06 11:55:52 +00:00
Sebastian Dröge
a598fb2e28
fmp4mux: Add send-force-keyunit property
...
Setting this to false will cause fmp4mux to stop sending force-keyunit
events for the fragment boundaries.
By default this is enabled and keeps the existing behaviour.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2177 >
2025-04-06 10:31:35 +00:00
Sebastian Dröge
891feca253
threadshare: Update to rustix 1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2176 >
2025-04-06 12:45:24 +03:00
Sebastian Dröge
a139412126
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2176 >
2025-04-06 12:43:23 +03:00
Sebastian Dröge
a3e6baad3c
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2176 >
2025-04-06 12:38:24 +03:00
Sebastian Dröge
3a47abd0fa
fmp4mux: Use correct timescales for edit lists
...
The duration is using the movie timescale while the media time is using
the media / track timescale.
Previously both were using the track timescale.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2167 >
2025-04-05 16:43:37 +00:00
Sebastian Dröge
8a70f1617a
mp4mux: Use correct timescales for edit lists
...
The duration is using the movie timescale while the media time is using
the media / track timescale.
Previously both were using the track timescale.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2167 >
2025-04-05 16:43:37 +00:00
Sebastian Dröge
2e2bbda7ba
Update gstreamer-rs / gtk-rs dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2174 >
2025-04-05 18:14:56 +03:00
Sebastian Dröge
d1aec1e0d2
Fix various new clippy 1.86 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2174 >
2025-04-05 11:18:56 +03:00
Sebastian Dröge
b916b7db55
dav1ddec: Allow working with incomplete decoder colorimetry
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2170 >
2025-04-04 09:07:10 +00:00
Sebastian Dröge
70ad4410e1
dav1ddec: Support RGB encoded AV1
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4341
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2170 >
2025-04-04 09:07:10 +00:00
Mathieu Duponchelle
8972402b90
mpegtslivesrc: increase threshold for PCR <-> PTS DISCONT
...
Real-life streams can readily be found with > 1.5 second offsets,
increase to next reasonable random number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2171 >
2025-04-03 13:13:49 +02:00
Sebastian Dröge
380918a17c
mp4mux: Don't write composition time offsets if they're all zero
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2168 >
2025-04-01 19:47:30 +03:00
Mathieu Duponchelle
0e6413b827
aws/polly: add GstScaletempoTargetDurationMeta to output buffers
...
When a scaletempo element is placed downstream of the element, it will
be able to rescale the generated audio to the target duration of the
original input text, thus preserving synchronization.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2012 >
2025-03-27 18:57:13 +00:00
Sebastian Dröge
3a4d01d1fb
ci: Configure nextest timeout in the right place
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2159 >
2025-03-27 17:02:06 +00:00
Mathieu Duponchelle
10ed6582a9
net/aws: consolidate apostrophes with next word in span_tokenize_items
...
As the text to translate in span-based mode looks like:
<span>the</span> <span>year</span>
We may receive back from the service when translating to French:
<span>l'</span> <span>année</span>
Which in turn means we'll push out two items. It makes more sense to
push those as a single item, as this will prevent downstream elements
from inserting a space.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2126 >
2025-03-27 15:41:14 +01:00
Mathieu Duponchelle
644c10f62c
net/aws: don't insert space when joining leftover punctuation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2126 >
2025-03-27 15:41:14 +01:00
Mathieu Duponchelle
5fc0523c90
net/aws: trim spaces in span_tokenize_items
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2126 >
2025-03-27 15:41:14 +01:00
L. E. Segovia
fb4f498a02
webrtc: Port to reqwest 0.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2148 >
2025-03-27 07:13:57 +00:00
eipachte
a82a4f6d0f
hlssink3: Support NTP Timestamp in GstBuffer
...
We want to enable retrieving the segment start timestamp from the GST
buffer instead of calculating it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2017 >
2025-03-26 22:32:05 +00:00
François Laignel
eb5c8276c0
tracers: reduce legend entry font size
...
The legend entries in the matplotlib tracer graphs are a bit too big, which
tends to clutter the resulting graph when there are many pads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2149 >
2025-03-26 21:35:43 +00:00
François Laignel
76a48baa32
tracers: buffer-lateness: don't panic on add overflow
...
Better not producing logs than panicking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2149 >
2025-03-26 21:35:43 +00:00
Robert Mader
333e88012e
meson: Require gst 1.18 features for dav1d
...
Matching what the cargo file requires.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2135 >
2025-03-26 20:14:26 +00:00