Mathieu Duponchelle
0376cd2752
speechmatics: expose properties for controlling punctuation joining
...
By default the transcriber will attempt to join punctuation with the
preceding word, expose a property to control that.
As speechmatics sometimes outputs punctuation for a sentence in the
next transcript, it will sometimes arrive too late for joining. In
order to work around this behavior, a lower max-delay is used by
default, that may not always be desirable, especially if low latency is
a concern.
Expose a property to disable the hack.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1909 >
2024-12-09 17:29:47 +00:00
Mathieu Duponchelle
e3e7f55a8d
transcriberbin: expose mix-matrix property on audio sink pads
...
As the application expects to have the bin buffer the audio stream
internally and output it again unchanged, and transcribers might
expect a set number of channels, we need to expose a property to
let the user control how to downmix the audio stream teed through
the transcriber.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1969 >
2024-12-09 16:26:47 +00:00
Andoni Morales Alastruey
1ba2468a05
quinn: fix clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
b020ae6fc2
quinn: fix racy tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
2d6f084596
quinn: ignore the test using the hostname
...
Ignore the test for now, since the CI runners only resolve to
an IPv6 address which are not handled correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
fe8e9c2891
quinn: update documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
b9f7cbdb8c
quinn: update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
a791cfff2b
quinn: allow unsecure connections in WebTransport elements
...
WebTransport requires a secure connection, but certificates
can have a validity of 2 weeks. For testing, a new property
is added to allow unsecure connections.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Sanchayan Maity
be02c0e388
net/quinn: Move quinnwtclientsrc to PushSrc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Sanchayan Maity
850331699a
net/quinn: Use LazyLock instead of once_cell::Lazy
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
d80c4c4351
quinn: add tests for WebTransport
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Ruben González
6fed4acf53
quinn: add a new WebTransport server sink
...
Co-authored-by: Andoni Morales Alastruey <amorales@fluendo.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
ef21a6aa3b
quinn: add a new WebTransport client element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
62e49b3ed5
quinn: add support for Sec1 keys
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
cf8b49b257
quinn: make private key optional for clients
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Andoni Morales Alastruey
4104ebca25
quinn: cleanup transport config creation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1867 >
2024-12-09 12:26:48 +00:00
Matthew Waters
a3d114e18f
cea708overlay: fix background/foreground type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
01ef35eac8
cea708overlay: enable a black background by default
...
It is the recommended colour sceheme in CEA-608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
144a0e431c
cea708overlay: produce a slightly more CEA-608 layout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
9787b187de
deps: update cea708-types to 0.3.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
34c928e9fe
tttocea708: log the bytes and times generated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
b23a514657
tttocea708: don't incorrectly recode timestamp to frame conversion on gap events
...
Simply use the already existing generate() which will convert from a timestamp
and duration into frames for processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
fe49837107
cea708mux: handle different timestamped inputs
...
If different inputs have different framerates, then an input buffer may need
to be combined or split. Account for that in the aggregate loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
00cb3fefe9
cea708mux: output padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
c0a3b0c868
tttocea708: output CEA-X08 padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Matthew Waters
9eb3ad4412
cea708mux: forward CEA-608 data correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1942 >
2024-12-09 05:16:04 +00:00
Mathieu Duponchelle
39a8db51de
transcriberbin: register pad templates for unsynced source pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1963 >
2024-12-06 09:38:39 +00:00
Mathieu Duponchelle
4e722d6dcc
speechmatics: expose unsynced pads on transcriber
...
This can be used for storing original transcripts for editing after the
fact.
Modeled on the aws transcriber, to be usable from transcriberbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1963 >
2024-12-06 09:38:39 +00:00
Taruntej Kanakamalla
c9a0731e61
webrtc: use the nick to set enum type properties on openh264enc
...
The properties `rate-control` and `complexity` are of enum types and passing
a gint value is resulting in a panic. So pass the corresponding nick of the enum
value instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1970 >
2024-12-05 17:28:09 +05:30
Jochen Henneberg
be6074f4f4
fmp4mux: Fix state cleanup on flush
...
State cleanup was incomplete. If a flush happens we do not have any
buffers anymore so all buffer queue related settings must be cleared
on the state. Flush action has been moved into state impl.
The GstAggregatorPad flush() was implemented as well as the pad flush
handler - with different implementations. Unify it.
Fixes #636
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1945 >
2024-12-04 11:12:55 +00:00
Sebastian Dröge
050e582366
mpegtslivesrc: Reset rate to 1/1 on disconts and flush observations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1964 >
2024-12-03 10:38:48 +02:00
Guillaume Desmottes
45519a7d85
webrtc: janus: handle slowlink event
...
Fix this warning:
webrtc-janusvr-signaller imp.rs:426:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignallerU64@0x7f317009b4d0> Unknown message from server: {
"janus": "slowlink",
"session_id": 980554280060589,
"sender": 5867141593320621,
"mid": "video0",
"media": "video",
"uplink": false,
"lost": 15
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1929 >
2024-12-02 15:38:24 +00:00
Guillaume Desmottes
867c2b78b6
webrtc: janus: handle slow_link videoroom event
...
Fix this warning:
webrtc-janusvr-signaller imp.rs:426:gstrswebrtc::janusvr_signaller:👿 :Signaller::handle_msg:<GstJanusVRWebRTCSignallerU64@0x7f317009b4d0> Unknown message from server: {
"janus": "event",
"session_id": 980554280060589,
"sender": 5867141593320621,
"plugindata": {
"plugin": "janus.plugin.videoroom",
"data": {
"videoroom": "slow_link",
"current-bitrate": 0
}
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1929 >
2024-12-02 15:38:24 +00:00
Edward Hervey
4d31001c4b
cea708mux: Always pad cea708
...
Instead of pushing gaps, we should send out valid (empty) cea708 buffers
downstream, like we do in most other caption element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1946 >
2024-12-02 10:35:45 +00:00
Guillaume Desmottes
80b9d7081a
togglerecord: release rec_state before pushing buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1961 >
2024-12-02 10:36:23 +01:00
Sebastian Dröge
6ee745edee
Update for GLib signal accumulator API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 15:10:06 +02:00
Sebastian Dröge
204c4101f2
deny: Remove obsolete entries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 15:01:01 +02:00
Sebastian Dröge
f3c4a106a6
Update dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 15:00:30 +02:00
Sebastian Dröge
6aeb3f2af2
Fix / silence various new Rust 1.83 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 14:57:24 +02:00
Sebastian Dröge
9e59efd9d6
ci: Don't consider no runnable tests an error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 14:52:19 +02:00
Edward Hervey
0d4f512e8d
gitlab-ci: Don't use massive image for cerbero trigger
...
Just use a lightweight alpine:latest image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1950 >
2024-11-30 09:28:50 +00:00
Mathieu Duponchelle
9c844acba5
aws/transcriber: fix unsynced_translate_src_%u presence
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
01b3e2a8f2
transcriberbin: take synthesis latency into account
...
and factor out a method to calculate the element's internal latency, to
be shared with the code for calculating the size of the passthrough
queues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
a71fd35ebf
transcriberbin: set latencies on transcribers as soon as possible
...
Otherwise if we wait for setup_transcription(), the transcribers might
already have reached the playing state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
ee6ab26d2a
textwrap: fix text accumulating for longer than accumulate-time
...
By draining before *and* after the word wrapping loop.
We don't do that during the loop in order not to break up sentences
unnecessarily.
Also adds tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
f16f8f69d5
aws/transcriber: don't adjust late item duration
...
It makes for a better user experience to simply adjust the pts of a late
item, but to preserve its duration: for instance a speech synthesis
element might use the duration as a hint for speeding up the audio.
Future late items may also be similarly offset anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
9972c83c60
aws/transcriber: put posting of warning messages behind property
...
Repeated warning messages are fairly noisy with gst-launch, better make
this behavior opt-in.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
4d45ae0e44
aws/polly: expose ssml-set-max-duration property
...
With standard voices, AWS polly supports passing a max-duration
attribute.
When the element gets raw text passed in, it can wrap it as SSML and set
the max duration attribute, this to make sure synthesized speech
doesn't overlap.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
4406851ae7
transcriberbin: add support for speech synthesis
...
This commit adds a new "synthesis-languages" property. Users can set it
to define a map of languages (typically translations) that should then
be routed through a "synthesis" bin, with its description specifiable
as the value of the map.
The output of this bin is then exposed as a new pad on the top-level
bin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00
Mathieu Duponchelle
c57b74e269
awstranscriber: release matching unsynced pad along request pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1930 >
2024-11-29 22:09:37 +00:00