Sebastian Dröge
5dc52975ff
webrtchttp: Fix formatting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 12:07:09 +02:00
Sanchayan Maity
40680a47ab
webrtchttp: Use tokio runtime for spawning thread used for candidate offer
...
While at it, we had a bug in whepsrc where for redirect we were
incorrectly calling initial_post_request instead of do_post. Fix
that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 12:27:07 +05:30
Sanchayan Maity
d18761892e
webrtchttp: Use a proper Rust type name for ICE transport policy
...
We don't need to namespace here but can just use the Rust namespaces.
Only the GType name has to stay like it is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
2eba3b321e
webrtchttp: Do not import element_imp_error
...
element_imp_error and such macros should not be imported but rather
only be accessed via gst namespace.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
0b1b8b91b9
webrtchttp: Do not block webrtcbin signal handlers for sending candidates
...
While at it, drop the OPTIONS request in WHIP sink. This was not really
required. See section 4.4 of the spec
https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html#name-stun-turn-server-configurat
Also introduce a new error type and distinguish between a future being
aborted or returning an error.
We call abort only during shutdown and hence except for the DELETE
resource request being aborted, other waits on future should not
be fatal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Alba Mendez
db39370701
webrtchttp: whipsink: construct TURN URL correctly
...
Right now the code manually pieces together the components
in a String for efficiency. When credentials contain special
characters this can result in invalid URLs, so do it the proper
way (with Url::parse + format) to make sure components are escaped
as needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
9fb058d5bc
webrtchttp: Drop unused dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
b5daa92c9d
webrtchttp: Implement timeout for waiting on futures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
cc7419308b
webrtchttp: whipsink: Add candidates when sending the offer
...
WHIP endpoint providers like Cloudflare do not support Trickle ICE
and need candidates to be send along with the initial offer. Instead
of sending the offer in create-offer promise, send it once the ICE
candidates have been gathered.
While at it add properties to set STUN and TURN server along with the
ICE transport policy as at least when testing the Cloudflare WHIP
endpoint seems unreachable without it. This has also been observed
with Cloudflare provided demos.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
b992596236
webrtchttp: whipsink: Miscellaneous clean up
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
b427cb6a3d
webrtchttp: Factor out the common bits for WHIP and WHEP
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Sanchayan Maity
6be5796888
Add a WebRTC WHEP source element
...
This implements WHEP specification based on
https://datatracker.ietf.org/doc/html/draft-murillo-whep-00
and has been tested with Cloudflare.
Server offers are likely to be removed from the WHEP specification
in upcoming revisions, to avoid compatibility issues. None of the
commercial services implementing WHEP support server initiated offers.
So we only support client side initiated offers.
Follows session setup and tear down as covered in Figure 1, Section 3
of the specification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949 >
2022-12-05 11:04:45 +05:30
Raphael Dürscheid
aa2abc50bf
webrtcsink: Support nvv4l2vp9enc
...
Naive support for nvv4l2vp9enc by assuming configuration is equivalent
to existing nvv4l2vp8enc. Validated to have relevant properties.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/983 >
2022-12-02 10:18:27 +00:00
Jordan Petridis
821c23e202
net/ndi: fix build with --no-default-features
...
doc_show_default() is only available with gst/v1_18
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:06:12 +02:00
Vivia Nikolaidou
5bbe0eab25
ndisrc: Use actual number of channels in positions_from_mask
...
Otherwise it fails for mono and stereo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/991 >
2022-11-29 12:19:45 +02:00
Vivia Nikolaidou
73ce616bd9
ndisrc: Use default channel mask for audio output
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/988 >
2022-11-28 17:06:07 +02:00
Sebastian Dröge
fceacf7081
Update for gst::Array / gst::List API improvements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/985 >
2022-11-27 01:12:46 +02:00
Sebastian Dröge
0e2a00cbc8
aws: Update to env_logger 0.10 for the tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/984 >
2022-11-25 11:08:19 +02:00
Sebastian Dröge
456fb276d6
Revert "Update for pango API changes"
...
This reverts commit 6e54d3cea9
.
The change was wrong and the pango bindings work the same as before
again.
2022-11-18 10:58:41 +02:00
Sebastian Dröge
6e54d3cea9
Update for pango API changes
...
pango::Language::from_string() can fail and also can accept None as
argument.
2022-11-18 09:46:50 +02:00
Thibault Saunier
6b11284e8a
webrtcsink: Make the turn-server prop a turn-servers
list
...
So that we can simply specify several turn servers at once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/973 >
2022-11-16 14:48:16 +00:00
Arun Raghavan
3abd13e57b
aws: s3sink: Treat stopping without EOS as an error for multipart upload
...
This allows us to try to clean up based on configuration (abort /
complete / do nothing) if the pipeline is shut down without an EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/970 >
2022-11-15 02:28:35 +00:00
Guillaume Desmottes
37cb636140
webrtc: README: fix couple of links
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/975 >
2022-11-11 14:51:46 +01:00
Mathieu Duponchelle
66e7b314f7
webrtcsink: improve debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/972 >
2022-11-10 15:00:19 +00:00
Sebastian Dröge
a5f3197651
Add missing doc
features to WebRTC plugins
2022-11-07 18:06:29 +00:00
Jan Beich
9aeaac5a96
ndi: provide Unix fallback after 3fe9e4a207
...
error[E0425]: cannot find value `LIBRARY_NAME` in this scope
--> net/ndi/src/ndisys.rs:336:23
|
336 | path.push(LIBRARY_NAME);
| ^^^^^^^^^^^^ not found in this scope
error[E0425]: cannot find value `LIBRARY_NAME` in this scope
--> net/ndi/src/ndisys.rs:339:33
|
339 | path::PathBuf::from(LIBRARY_NAME)
| ^^^^^^^^^^^^ not found in this scope
2022-11-05 02:51:28 +00:00
Arun Raghavan
54c84a7211
aws: Skip s3 test on Windows until we figure out why it times out
2022-11-02 13:14:08 -04:00
Sebastian Dröge
a8250abbf1
Fix various new clippy warnings
2022-11-01 10:27:48 +02:00
Sebastian Dröge
976ae5707e
webrtc: Update to human_bytes 0.4
2022-10-31 14:11:29 +02:00
Sebastian Dröge
6ceeadc0f0
aws: Update to aws 0.21/0.51
2022-10-31 14:11:29 +02:00
Sebastian Dröge
ce166b4d8f
whipsink: Add object to debug logs
2022-10-26 16:20:26 +03:00
Guillaume Desmottes
d46857d3b1
aws: fix title in README
...
The title was not matching the actual plugin name which was confusing.
2022-10-26 11:13:47 +02:00
Sebastian Dröge
bf6bdab80c
webrtc: Remove version requirement from internal crate dependencies
2022-10-24 19:50:24 +03:00
Sebastian Dröge
f2223cf2cb
Update versions to 0.10.0-alpha.1
2022-10-24 19:31:19 +03:00
Sebastian Dröge
b64f951160
Update to async-tungstenite 0.18
2022-10-24 18:03:33 +03:00
Sebastian Dröge
9a68f6e221
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:08:46 +03:00
François Laignel
86776be58c
Remove &
for obj
in log macros
...
This is no longer necessary.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1137
2022-10-23 21:22:31 +02:00
Sebastian Dröge
f045099fc1
Fix GObject type names, GStreamer debug category names and element factory names
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/198
2022-10-23 20:46:08 +03:00
Sebastian Dröge
5d44e0eb3c
rtp: Move GCC bandwidth estimation element from webrtc to rtp plugin
2022-10-23 20:25:08 +03:00
Sebastian Dröge
20ad9175d8
Make GStreamer plugin/crate/library/directory names and descriptions consistent
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/238
2022-10-23 20:25:08 +03:00
Sebastian Dröge
45168639e9
Rename rtpav1 plugin to just rtp
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/243
2022-10-23 20:04:43 +03:00
Sebastian Dröge
f058a5e229
Various minor cleanups
2022-10-22 19:50:24 +03:00
François Laignel
6319d104a8
Take advantage of Into<Option<_>>
args
...
Commit 24b7cfc8
applied changes related to nullability as declared
by gir. One consequence was that some functions signature ended up
requiring users to pass `Some(val)` when they could use `val`
before.
This commit applies changes on `gstreamer-rs` which, will honoring
the nullability stil allow users to pass `val` for the few affected
functions.
This commit also fixes the signature for `Element::request_new_pad`
which was updated upstream.
2022-10-21 11:54:24 +02:00
Sebastian Dröge
7b5d887c5b
onvifmetadatacombiner: On timeout don't wait for metadata to arrive anymore but output the current video frame
...
Otherwise it will be too late downstream.
2022-10-21 07:08:46 +00:00
Sebastian Dröge
09ffeaf04e
onvifmetadatacombiner: Add a lot of trace debug output
2022-10-21 07:08:46 +00:00
Thibault Saunier
5c89c3db69
webrtc: Rename and add to meson build the signalling server
...
The binary was only called `server` it has been renamed to
`gst-webrtc-signalling-server` and is installed in meson.
2022-10-20 18:20:15 +00:00
Thibault Saunier
cbdd3a7f26
webrtc: Enhance documentation
2022-10-20 12:04:43 +00:00
Sebastian Dröge
c0bf05d4bb
webrtc: Minor cleanup
2022-10-20 13:20:32 +03:00
Thibault Saunier
71ed04d89b
webrtc: Rename signaller and protocol crates
2022-10-20 13:32:31 +02:00
Thibault Saunier
25bda89ac8
webrtc: Update an unify rust-version and edition
...
So it all matches the rest of the plugins
2022-10-20 13:32:31 +02:00