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
François Laignel
4262a8aafe
all: update due to new has_property signature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1926 >
2024-11-21 12:57:16 +00:00
Sebastian Dröge
160f08889f
mpegtslivesrc: Fix mismatch between internal / external time usage
...
Previously the internal time was stored as base offset for calculating
the external time from the PCR, which resulted in disconts being
detected wrongly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1933 >
2024-11-21 11:40:24 +00:00
Sebastian Dröge
d32d499856
mpegtslivesrc: Rename variables to make it clear which time domain they refer to
...
We have the internal time domain (monotonic clock) and the external time
domain (scaled monotonic clock in the rate of the PCR).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1933 >
2024-11-21 11:40:24 +00:00
Matthew Waters
25bb2a12f1
webrtcsink: don't block the tokio runtime while holding state lock in unprepare()
...
It is possible that in unprepare(), waiting for a task to complete while
holding the state lock, that task may be waiting to acquire the state lock and
result in a deadlock.
This is quick to reproduce when starting and stopping webrtcsink in very quick
succession.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1931 >
2024-11-21 17:15:44 +11:00
Mathieu Duponchelle
b5bd7d047c
awstranscribe: output original transcripts to separate pad
...
When the transcriber is used in a live situation, it can be useful
to save a transcript for editing after the fact when producing a
VOD.
Each source pad now gets an "unsynced_" pendant. That unsynced pad
is pushed to from the context of the "live" source pad task. Flow
returns from the unsynced pads are ignored, we simply check the
last flow return before attempting to push the next transcript.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1915 >
2024-11-18 17:30:54 +00:00
Sanchayan Maity
28e66e150f
net/quinn: Use aggregator as base class for quinnroqmux
...
While at it, also update and fix the docs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1775 >
2024-11-18 11:46:20 +05:30
Sanchayan Maity
accb6b02ea
net/quinn: Add muxer and demuxer for RTP over QUIC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1775 >
2024-11-16 11:46:13 +05:30
Sanchayan Maity
d5425c5225
net/quinn: Fix test using QUIC Stream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
5bf44b6187
net/quinn: Enable log feature
...
This is required if and when we do need to capture logs from quinn for
debugging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
324f3531be
net/quinn: Use aggregator as base class for quinnquicmux
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
5c829e6ca8
net/quinn: Add quinnquicdemux to support stream demultiplexing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
f4ecf3873b
net/quinn: Handle multiple stream connections in quinnquicsrc
...
While at it, use PushSrc as base class. quinnquicsrc never supported
seeking and only ever operated in push mode. Length and offset for
create from BaseSrc was also never really honoured. Use PushSrc as
the base class which is more appropriate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
babb6f360b
net/quinn: Support stream multiplexing in quinnquicsink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
1cc2682b55
net/quinn: Add quinnquicmux to support stream multiplexing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
0eb3f52356
net/quinn: Add helper for queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Sanchayan Maity
0e89a79727
net/quinn: Add helper for adding stream id as meta to buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1634 >
2024-11-15 23:14:13 +00:00
Jerome Colle
f88c88ddb3
webrtcsink: set rtpgccbwe min bitrate
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1896 >
2024-11-07 18:00:12 +00:00
Sebastian Dröge
ef39046e18
Update to thiserror 2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1911 >
2024-11-06 11:02:41 +02:00
Mathieu Duponchelle
5f8e8b4873
aws: add wrapper for the polly text to speech API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1899 >
2024-11-05 08:46:48 +00:00
Xavier Claessens
372c44655a
janusvr_signaller: Do not block in end_session()
...
Only stop() is allowed to block, wait there.
Fixes #603
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1848 >
2024-10-30 12:36:01 +00:00
Mathieu Duponchelle
79845fd99a
awstranscriber: post warning message with details when item is late
...
When the latency is configured to a value that is too low, items will be
pushed out with an adjusted timestamp, thus affecting synchronization.
It can be useful for the application to receive details about those
adjustments.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1793 >
2024-10-28 13:13:31 +00:00
Sebastian Dröge
41ddbd8706
mpegtslivesrc: Parse PAT/PMT and only handle PCRs from the first program
...
This matches default behaviour of tsdemux and makes sure we're not
jumping between different PCRs if there are multiple.
At a later time, program selection could be implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1887 >
2024-10-28 12:15:11 +00:00
Chris Bainbridge
5010ee872d
webrtc: Fix Python custom signaller receiving SDP offer
...
The GstWebRTC API web interface defaults to receiving an SDP offer and
generating an answer, but this can be overridden by entering "offer
options" before clicking to open the remote stream. The Python
webrtcsink-custom-signaller.py example failed in this mode as it was
coded to only generate an offer and receive an answer. Fix this by
implementing support for receiving an offer and sending an answer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1883 >
2024-10-28 11:23:32 +00:00
Chris Bainbridge
e30d80c71e
webrtc: README: add webrtcsink-custom-signaller.py
...
Document the Python webrtcsink custom signaller example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1888 >
2024-10-28 10:19:25 +00:00
Sebastian Dröge
98a87fb8f2
Update to quick-xml 0.37
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1891 >
2024-10-28 09:12:13 +00:00
Jerome Colle
0df2b72ff2
rtpbasedepay2: fix reference timestamp meta duplicates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1890 >
2024-10-25 18:23:07 +02:00
Sebastian Dröge
f73317510e
Update to quick-xml 0.36
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1881 >
2024-10-24 10:09:18 +03:00
Sanchayan Maity
af54b2396b
net/quinn: Specify crypto provider explicitly
...
rustls allows the choice of ring or aws-lc-rs as the cryptographic
library implementation. This is enabled/selected via Cargo feature
flags. We have plugins directly or indirectly depending on rustls
like quinn, aws and spotify. In the presence of multiple plugins,
selecting different implementations as the default, rustls can
panic.
The safest way to avoid this is by using builder_with_provider
and selecting a provider explicitly.
See below issues for further discussion and clarifications.
https://github.com/rustls/rustls/issues/1877
https://github.com/seanmonstar/reqwest/pull/2225
While at it, also specify features explicitly for quinn and rustls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1878 >
2024-10-23 21:24:22 +05:30
kingosticks
a81b7f380f
net/quinn: Fix test panic due to unset default crypto provider
...
If another dep in the workspace pulls in a different rustls crypto
provider then we need to explicitly specify our default provider.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1801 >
2024-10-23 12:37:05 +00:00
Benjamin Gaignard
cf757e6ad2
relationmeta: Add onvifmeta2relationmeta element
...
Add onvifmeta2relationmeta wich convert ONVIF metas
into relation metas and add them to buffer.
Used ONVIFS metas are removed from buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1464 >
2024-10-23 10:27:31 +00:00
Benjamin Gaignard
fc3cefc38c
relationmeta: Add relationmeta2onvifmeta element
...
Add relationmeta2onvifmeta which convert relation metas
to ONVIF metas and add them to buffer.
Used relation metas are removed from buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1464 >
2024-10-23 10:27:31 +00:00
Benjamin Gaignard
de153222da
onvif: Add onvifmetadataextractor element
...
onvifmetadataextractor does the opposite operation than
onvifmetadatacombiner, it extracts ONVIF metadatas from the
stream buffer and export them as buffers which could be
used by rtponvifpay element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1464 >
2024-10-23 10:27:31 +00:00
Benjamin Gaignard
43a4468263
onvif: onvifmetadataoverlay: Add support of Transformation node
...
Transformation node allows to modify the coordinate system for
individual nodes of XML tree.
Parse the XML to get translation and scaling vectors values and
apply them when computing bounding box coordinates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1464 >
2024-10-23 10:27:31 +00:00
Benjamin Gaignard
eddf443a8b
onvif: Use CustomMeta::is_registered function
...
Use CustomMeta::is_registered() to avoid registering twice
OnvifXMLFrameMeta type.
It will be useful later when adding relation meta elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1464 >
2024-10-23 10:27:31 +00:00
Sebastian Dröge
4abc5c7a48
Be stricter with Impl-trait bounds to enforce type hierarchies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1871 >
2024-10-22 13:43:12 +00:00
Sebastian Dröge
7e59c3f0fd
Remove once_cell dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1868 >
2024-10-21 17:53:18 +00:00
Sanchayan Maity
d6e7031799
net/quinn: Fix panic due to unset default crypto provider
...
Fix CI failure that we see after the upgrade of rustls from
0.23.13 to 0.23.15.
Related docs/PR
https://docs.rs/rustls/latest/rustls/crypto/struct.CryptoProvider.html#using-the-per-process-default-cryptoprovider
https://github.com/quinn-rs/quinn/pull/1882
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1865 >
2024-10-21 09:27:33 +00:00
Sebastian Dröge
0e3d019e24
aws: Don't unnecessarily clone AWS behaviour version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
00a4398aee
aws: Allow a deprecated BehaviourVersion for now
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
120c62964d
Update to bitstream-io 2.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
d057488a20
aws: Update to test-with 0.14
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
b43a778a8e
Fix a couple of type hierarchy bugs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
ec8759ae44
Fix various new clippy warnings due to MSRV bump
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Sebastian Dröge
3e040c65f1
reqwesthttpsrc: Allow a server error after a seek
...
There might be a server error because a seek would immediately close the
old connection without allowing for clean shutdown.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/527
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1861 >
2024-10-18 15:59:41 +00:00
Sebastian Dröge
54bc7a898e
webrtc: Silence two new Rust 1.82 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1860 >
2024-10-17 21:38:10 +00:00
Mathieu Duponchelle
959463ff65
webrtcsink: fix session not in place errors
...
The InPlace/Taken logic was introduced to avoid using an extra lock
around the session, but it places expectations that are not always
obvious to meet around when a session is expected to be taken or not.
Any code that expects to have access to the sessions at all times thus
needs either extra logic in the session wrapper, or to maintain the
state of the session outside of the session (eg mids).
This commit removes the logic, and wraps sessions in Arc<Mutex>>.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1852 >
2024-10-17 12:29:53 +00:00