François Laignel
2ad452ee89
webrtcsink: don't panic with bitrate handling unsupported encoders
...
When an encoder was not supported by the `VideoEncoder` `bitrate` accessors, an
`unimplemented` panic would occur which would poison `state` & `settings`
`Mutex`s resulting in other threads panicking, notably entering `end_session()`,
which lead to many failures in `BinImplExt::parent_remove_element()` until a
segmentation fault ended the process. This was observed using `vaapivp9enc`.
This commit logs a warning if an encoder isn't supported by the `bitrate`
accessors and silently by-passes `bitrate`-related operations when unsupported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1534 >
2024-04-09 15:48:59 +00:00
Guillaume Desmottes
612f863ee9
webrtc: janusvrwebrtcsink: add 'use-string-ids' property
...
Instead of exposing all ids properties as strings, we now have two
signaller implementations exposing those properties using their actual
type. This API is more natural and save the element and application
conversions when using numerical ids (Janus's default).
I also removed the 'joined-id' property as it's actually the same id as
'feed-id'. I think it would be better to have a 'janus-state' property or
something like that for applications willing to know when the room has
been joined.
This id is also no longer generated by the element by default, as Janus
will take care of generating one if not provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1486 >
2024-03-07 09:34:58 +01:00
Jordan Yelloz
67b7cf9764
webrtcsink: Added sinkpad with "msid" property
...
This forwards to the webrtcbin sinkpad's msid when specified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1442 >
2024-02-12 15:04:44 +00:00
Eva Pace
80b58f3b45
net/webrtc/janusvr: add JanusVRWebRTCSink plugin/signaller
...
The JanusVRWebRTCSink is a new plugin that integrates with the Video
Room plugin of the Janus Gateway, which simplifies WebRTC communication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1362 >
2024-01-17 20:33:57 +00:00
Sebastian Dröge
16b917abb1
Update for gst::Rank
API changes
2023-11-02 14:10:59 +02:00
Taruntej Kanakamalla
de6d2e7f40
net/webrtc: rename whipwebrtcsink as whipclientsink
...
add a deprecation warning in whipsink to indicate it
should be used only for RTP content
add documentation in whipsink code regarding usage and
deprecation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1282 >
2023-08-26 10:53:30 +05:30
Olivier Crête
793ee66afa
webrtcsink: Add LiveKit WebRTC sink and signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1262 >
2023-07-05 21:43:17 +00:00
Mathieu Duponchelle
84a33ca7b9
webrtcsink: bring in signalling code from whipsink as a signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1168 >
2023-06-16 00:32:56 +02:00
Mathieu Duponchelle
64056c5527
net/webrtc: improve documentation layout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1239 >
2023-06-14 22:27:15 +02:00
Thibault Saunier
ce42723ad2
webrtc: Minor documentation enhancement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 15:31:45 +02:00
Mathieu Duponchelle
f1fd8d84c3
webrtc: extract a BaseWebRTCSink
...
For documentation purposes, AwsKVSWebRTCSink should not inherit from
another element.
+ Mark base class as plugin API and update plugin cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1178 >
2023-04-13 15:06:59 +00:00
Thibault Saunier
8236f3e5e7
webrtcsink: Port to the 'webrtcsrc' signaller object/interface
...
With contributions from:
Matthew Waters <matthew@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1141 >
2023-04-07 09:03:47 +10:00
Mathieu Duponchelle
584392049c
net/webrtc: implement AWS KVS signaller
...
And expose a wrapper webrtcsink variant, aws-kvs-webrtcsink.
This adds support in webrtcsink for processing a consumer offer, instead
of producing one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1114 >
2023-03-09 15:39:09 +00:00
Thibault Saunier
0ae637f531
webrtcsink: Move RUNTIME to the crate so it can be reused
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/932 >
2023-02-28 17:57:14 -03:00
Sebastian Dröge
560bdc4cb7
Update for glib API changes
2023-01-31 12:24:07 +02:00
Sebastian Dröge
2c386fb792
Update for various deprecated APIs
2023-01-22 20:07:26 +02:00
Zhao, Gang
9fa838e366
webrtc: Fix rustfmt errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1019 >
2022-12-27 11:12:54 +02:00
Zhao, Gang
877a9bd7f3
webrtc: Share runtime between webrtcsink and signaller crates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1019 >
2022-12-26 23:10:40 +00: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
Thibault Saunier
cbdd3a7f26
webrtc: Enhance documentation
2022-10-20 12:04:43 +00:00
Thibault Saunier
5ab7be6124
webrtc: Add SDPX license header on every file
2022-10-20 11:51:58 +02:00
Thibault Saunier
39c0dcb0d4
Plug webrtc in
2022-10-20 11:51:58 +02:00