Sebastian Dröge
47ea36be9d
mpegtslivesrc: Drop state mutex before sending buffers/bufferlists downstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2128 >
2025-03-14 10:14:19 +00:00
Sebastian Dröge
83200db4c2
mpegtslivesrc: Use a separate mutex for the properties
...
Otherwise applications reading the properties would potentially block
on the streaming thread unnecessarily.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2128 >
2025-03-14 10:14:19 +00:00
Piotr Brzeziński
91f3472bad
gstwebrtc-api: Update ESLint, use JSDoc @import for types from docs
...
ESLint no longer supports the old type of config, it was automatically
migrated.
jsdoc/no-undefined-types has been raised to an error since it's been
found to hide other issues that only show up once that warning is
disabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2049 >
2025-03-14 07:42:40 +00:00
Piotr Brzeziński
d25c58ea6b
gstwebrtc-api: Add ESM build artifact, fix compatibility with module-based environments
...
This lib was only being built for direct usage as a <script>, and so it
refused to work under any module-based approach, e.g. in a React
project.
Webpack will now build an ESM bundle alongside the old browser-only one.
This ensures broader compatibility, and has been tested in an Angular
project where this lib wasn't easily usable previously.
As a sidenote, the 'browser' field was broken because the string is
never interpolated. That was breaking build e.g. when trying to use our
lib with Angular. This has been replaced with a hardcoded string under
the 'module' field (because we don't ship separate browser/non-browser
bundles, the 'browser' field isn't necessary).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2049 >
2025-03-14 07:42:40 +00:00
Piotr Brzeziński
f22e1f26ca
gstwebrtc-api: Patch 'sdp' to ESM instead of CommonJS
...
Using non-ESM libs in some environments (e.g. Angular) can prevent some
optimizations from taking place. Doesn't hurt to change, considering ESM
seems like the current 'correct' way of building things.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2049 >
2025-03-14 07:42:40 +00:00
Piotr Brzeziński
35a238b66f
gstwebrtc-api: Improve JSDocs, add TypeScript type definitions
...
* Moves some parts of the docs around to make them better parseable by
JSDoc (e.g. @classdesc moved to the constructor gets rid of duplicated
doc page for the entire class)
* Gets rid of unnecessary manual assignment of methods/properties
example: @method GstWebRTCAPI#createConsumerSession
Due to a bug in JSDoc, it doesn't automatically pick up docs in classes
marked with 'export default class ...'. Just making the export separate
is enough to fix this. I suppose this bug was why every documented part
was manually assigned to each class, and this is no longer necessary.
* Removes forced GstWebRTCAPI namespace from docs
I'm not sure why things were left this way, but at least since
563eff1193
our classes aren't actually in
any namespace (well, maybe apart from SessionState?), you can import
them one by one and no such namespace is present anywhere. I removed
that, kind of as a byproduct of the point above.
* Removes external: from type references
This is problematic because JSDoc handles this fine, but any IDE I've
tried couldn't parse those references correctly from the JSDocs, and
neither could the TypeScript compiler when autogenerating type
definitions. After removing the external: prefix, all tooling is picking
those types up fine, but JSDoc's docs end up losing links when refering
to said types. I left the definitions in index.js, so that they still
show up in the sidebar and can be easily referred to.
* Adds TypeScript type definitions (d.ts)
Those are autogenerated by running `npx tsc` in the main dir and then
manually corrected by 1) removing all undocumented ('private') functions
and 2) writing definitions for the Listener interfaces which TS can't
automatically infer from JSDocs. This makes it much easier to use our
library in TypeScript-based projects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2049 >
2025-03-14 07:42:40 +00:00
Sanchayan Maity
23c9b28ec7
hlsmultivariantsink: Allow specifying playlist/segment location for rendition & variants
...
Prior to this, the segment location was derived from the
multivariant playlist location and the template for the
segment was hard coded. Remove this restriction but note
that this also now requires users to specify the segment
and CMAF init track location per variant or rendition.
Do the same for media playlist location as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2062 >
2025-03-13 15:42:32 +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
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
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
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
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
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
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
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
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
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
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
Matthew Waters
5ada3da580
tests/rtpbin2: improve performance of receive_list_benchmark
...
Instead of receiving each output buffer through GstHarness individually,
process the received buffer lists directly by prociding our own pad and
chain/chain_list handlers. Reduces test time locally from 30+s to <2s.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2081 >
2025-02-17 09:21:15 +00:00
Sebastian Dröge
9d6272b8e0
Update to rand 0.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2082 >
2025-02-17 09:26:35 +02:00
Sebastian Dröge
812d4fdc9d
webrtcsink: Close data channel and disconnect signal handler when dropping them
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2078 >
2025-02-14 15:30:31 +00:00
Sebastian Dröge
63b6fe5edc
webrtcsink: Store navigation events / control request handlers per session
...
Otherwise only the one from the last established session will be stored
and e.g. metas are only sent to that one session.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2078 >
2025-02-14 15:30:31 +00:00
François Laignel
50b0ad95e4
webrtc: precise-sync-recv: add media details log
...
This commit adds the ability to log details about the media being received by
the webrtc-precise-recv example. Among others, the log shows whether RFC7273 is
active. This uses the 'rfc7273-active' property from rtpjitterbuffer which was
introduced in GStreamer1.26.
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7829
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1908 >
2025-02-14 12:40:06 +00:00
Mathieu Duponchelle
2ac9e584d8
webrtc: disable "heavy" dependencies by default (aws, livekit)
...
This cuts down rebuild times by a third
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1806 >
2025-02-13 17:22:14 +00:00
Mathieu Duponchelle
f08b99dcd3
aws/transcriber*: log all debug details from AWS errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
71121a2380
aws: reimplement two separate wrappers for translate and transcribe
...
The original awstranscribe element has grown too complex when
integrating translations for reasons that in retrospect were wrong:
As awstranscribe outputs words one by one, I decided we wanted to
perform translations there with larger sentences if available, but an
alternative design where a separate translation element is composed
downstream is also possible, as long as that element accumulates words
and enough latency is set on the transcriber.
An important difference is that the new elements do not expose unsynced
pads, this use case is instead now served by simple messages on the bus.
The elements should otherwise be at feature parity with the original
element.
A higher-level bin is also provided for convenience (and usage within
transcriberbin): translationbin.
A transcriber element can be provided to this bin, which exposes an
always audio sink pad, and an always text sink pad (for the
transcripts).
Additional source pads can be requested for translations, for now the
bin always uses `awstranslate` as the translator, but this can be made
configurable.
This element is usable as a transcriber in `transcriberbin`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Sanchayan Maity
ef4fd6059d
net/hlsmultivariantsink: Add test for MPEG-TS with H265
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-31 15:24:16 +05:30
Sanchayan Maity
6911e865c9
net/hlsmultivariantsink: Drop cros-codecs as a dependency
...
This copies over the required bits of code from cros-codecs
and drops the dependency on cros-codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-31 15:24:16 +05:30
Sanchayan Maity
e3049e272c
net/hlsmultivariantsink: Update cros_codecs to v0.0.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-30 18:43:48 +05:30
Sanchayan Maity
5639a0640e
net/hlsmultivariantsink: Add since marker to fix doc build failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
05b5aa939f
hlsmultivariantsink: Add hlssink3 and cmafmux as dev dependencies
...
This is required for the hlsmultivariantsink tests to work. Also
register the plugins before running the test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
362898cd54
hlsmultivariantsink: Enable MPEG-TS codec string support only for Linux
...
For the MPEG-TS case, we depend on cros-codecs for parsing SPS to get
the relevant information for building codec strings. Do not compile it
for non-linux platforms. Users needing MPEG-TS on non-linux platform
need to set codec string manually as a workaround.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
4218e88fce
Add HLS sink with multi-variant playlist support
...
`hlsmultivariantsink` adds support for the following as per RFC 8216
- Multivariant/master playlist
- Alternate Renditions
- Variant Streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Yaakov Selkowitz
f7ba4c40a7
Add missing copies of license files
...
This should fix the crates that are missing license files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2050 >
2025-01-27 19:26:53 -05:00
Sebastian Dröge
aa06572e42
mpegtslivesrc: Handle zero-byte adaption fields
...
Simply skip over them instead of handling them as parse error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2047 >
2025-01-21 14:22:54 +02:00
Tim-Philipp Müller
74760e1b42
rtp: ac3: validate depayloaded AC-3 data in unit tests
...
Check for valid frame header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2044 >
2025-01-20 18:32:50 +00:00
Tim-Philipp Müller
f6d21810ff
rtp: tests: add run_test_pipeline variants with data validation
...
So we can actually check the content of depayloaded buffers too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2044 >
2025-01-20 18:32:50 +00:00
Tim-Philipp Müller
5ccef7a453
rtpac3depay2: fix handling of non-fragmented payloads
...
The frames of a non-fragmented payload would contain
an extra two bytes before the frame sync and then
missing two bytes at the end which which would cause
decoding errors on the last block and/or frame crc
check failures.
This happened because we didn't take into account
the 2-byte packet payload header when creating output
sub-buffers, as the offsets we were using were in
relation to the payload data after the headers.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/645
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2044 >
2025-01-20 18:32:50 +00:00
Mathieu Duponchelle
c51a65d973
awstranscriber, speechmatics: store language tags on translation source pads
...
In order to do so we need to activate the pad as soon as it is added,
which means we can no longer start the task at this point, instead wait
for stream-start to do so now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2029 >
2025-01-20 14:27:05 +00:00
Sebastian Dröge
8e62e54cc9
rtp: basepay: Only forward buffers if we have a segment
...
If there are pending buffers without a segment then they must come from
the caps only and should be forwarded at a later time, if any.
Also reject any incoming buffers if no segment was received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2037 >
2025-01-15 09:43:12 +00:00
Sebastian Dröge
536f4db5c1
rtp: basedepay: Only forward buffers if we have a segment
...
If there are pending buffers without a segment then they must come from
the caps only and should be forwarded at a later time, if any.
Also reject any incoming buffers if no segment was received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2037 >
2025-01-15 09:43:12 +00:00
Sebastian Dröge
7b4665c793
Fix some new clippy 1.84 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2032 >
2025-01-10 10:08:38 +02:00
Sebastian Dröge
81ff664666
rtp: Add AMR NB/WB RTP payloader/depayloader
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2016 >
2025-01-02 16:42:14 +00:00
Sebastian Dröge
38e8134edd
Update to itertools 0.14
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2018 >
2025-01-01 12:46:07 +02:00
Sanchayan Maity
3aa1fa81b5
net/quinn: Update QUIC multiplexing examples for WebTransport
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Sanchayan Maity
59cc4af3ba
net/quinn: Support stream multiplexing in quinnwtclientsrc
...
While at it, drop the use-datagram property since the data handler
thread receives data for both streams and datagram irrespective of
the property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Sanchayan Maity
a02296eb95
net/quinn: Support stream multiplexing in quinnwtserversink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Ruben Gonzalez
ebfa0fb890
deps: update itertools to 0.13
...
same used in gstreamer-rs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2002 >
2024-12-20 16:23:52 +00:00
Sanchayan Maity
e21e07c46a
net/quinn: Fix ChildProxy implementation for muxer & demuxer
...
The demuxer did not need the ChildProxy implementation while
the muxer was missing the call to child_added, child_removed
and the interface entry in ObjectSubclass.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1998 >
2024-12-20 17:45:50 +05:30
Thibault Saunier
1e3eef253b
webrtcsrc: Add a 'connect-to-first-producer' property
...
This is an helper property which allows to avoid requiring to know
peer IDs, which is very useful during development.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1996 >
2024-12-19 14:32:16 +00:00
Sebastian Dröge
7d4ddc7eb9
webrtc: Specify to use playbin3 instead of playbin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1995 >
2024-12-18 07:31:17 +00:00
Sebastian Dröge
248b7ac059
webrtcsink: Configure custom host/port on the signaller when running signalling server internally
...
Otherwise it just tries connecting to the default URL, which doesn't
work if either the host or the port are changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1994 >
2024-12-17 16:22:41 +02:00
Sebastian Dröge
6a8f1bdc61
mpegtslivesrc: Parse PES packets and check for reasonable PTS/DTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1977 >
2024-12-13 13:11:16 +00:00
Sebastian Dröge
44978159a3
mpegtslivesrc: Refactor section parser
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1977 >
2024-12-13 13:11:16 +00:00
Mathieu Duponchelle
8886cceaf0
webrtcsink: add nvh265enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1980 >
2024-12-11 08:07:15 +00:00
Mathieu Duponchelle
be00ae7999
aws/polly: expose property for overflow control
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1965 >
2024-12-10 14:19:30 +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
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
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
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
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
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
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
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
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
Mathieu Duponchelle
4720b575b6
webrtscink: fix deadlock when answering
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/637
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1955 >
2024-11-29 18:52:41 +01:00
Ruben Gonzalez
f646504fce
webrtcsink: add openh264enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1948 >
2024-11-29 13:44:11 +00:00
Sebastian Dröge
f4d2bd1a5d
webrtcsink: Set caps-change-mode=delayed on encoder capsfilter
...
Otherwise when changing the target caps (e.g. for reducing quality)
there is a race condition between buffers between the converter elements
and renegotiation.
For example, videoconvertscale might've output a 1920x1080 buffer, then
the capsfilter is configured to 1280x720, the buffer arrives in
videorate, videorate notices that renegotiation is pending, tries to
renegotiate and ends up with EMPTY caps because it can only change the
framerate but not the resolution.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1949 >
2024-11-28 21:14:43 +00:00
Sanchayan Maity
c3de9e5927
net/quinn: Add examples for QUIC multiplexing & RoQ
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1937 >
2024-11-28 17:52:18 +00:00
Xavier Claessens
e5f3ab4053
webrtcsink: Ignore more fields in caps change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1838 >
2024-11-26 15:49:21 -05:00
Diego Nieto
362216f40b
net/webrtc: add whipclient example
...
Add a simple example producing both audio and video to make it
work with the whipserver example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1938 >
2024-11-25 20:29:43 +01:00
Diego Nieto
0135aea9e4
net/webrtc: whipserver example
...
extend the example to support both audio and video conversions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1938 >
2024-11-25 20:29:43 +01:00
Sebastian Dröge
347bee16d4
Update for GLib signal API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1936 >
2024-11-22 15:52:41 +02:00
François Laignel
a8146f333f
all: use builder conditional setters where applicable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1926 >
2024-11-21 12:57:16 +00:00