Thibault Saunier
794df19122
Add a new 'get-consumers' action signal
...
So user can get the list of currently avalaible consumers (by ID).
2022-02-08 15:12:45 +01:00
Thibault Saunier
4e0e8d1cc3
Rename the new-webrtcbin
signal to consumer-added
...
For symmetry with the new `consumer-removed` signal.
2022-02-08 15:12:45 +01:00
Thibault Saunier
36eb00121c
Add a consumer-removed
signal to notify the application
2022-02-08 15:12:45 +01:00
Sebastian Dröge
1983041770
Update to gstreamer-rs 0.18 instead of using it from git
...
And update all other dependencies.
2022-01-25 20:12:23 +01:00
Mathieu Duponchelle
b185819140
webrtcsink: don't add video elements to audio discovery pipeline
2022-01-20 20:37:27 +01:00
Thibault Saunier
689bd93055
Implement the GstNavigation interface using a dedicated DataChannel protocol
...
This allows interacting with the source element from within the browser
very easily
2022-01-03 22:30:44 +01:00
Thibault Saunier
cf176bdd93
Update plugins/src/webrtcsink/imp.rs
...
Co-authored-by: Sebastian Dröge <slomo@coaxion.net>
2022-01-03 18:29:45 +01:00
Thibault Saunier
300adda41b
Dot 'caps inspection' pipelines
2022-01-03 18:29:45 +01:00
Thibault Saunier
85fd7175de
Add support for cuda and GL memory
...
This way we don't need to download/upload when unnecessary
2022-01-03 18:29:45 +01:00
Sebastian Dröge
d6ba009742
Fix various clippy warnings
2021-12-28 18:28:09 +01:00
Thibault Saunier
d15c32e3e6
stat-frontend: Allow passing a URL to the stat producer
2021-12-28 17:09:52 +01:00
Thibault Saunier
da0a934307
nvh264enc: Do not wrongly set vbv-buffer-size and use the cbr-ld-hq rc-mode
...
vbv-buffer-size which is in kbits can't be set while playing so we
can't really use it for our use case.
2021-12-23 17:02:50 +01:00
Mathieu Duponchelle
8128c14fa9
API: refactor error signalling
...
* Expect Box<dyn Error> from custom signaller
* Use thiserror to define the error codes returned to custom
signallers
2021-12-21 23:37:29 +01:00
Mathieu Duponchelle
a4df10b112
webrtcsink: reset default values when disabling congestion control
2021-12-10 03:33:02 +01:00
Mathieu Duponchelle
d230345d90
webrtcsink: make sure we always scale to multiple of 2 dimensions
...
Some encoders do not like odd widths or heights
2021-12-10 01:16:10 +01:00
Mathieu Duponchelle
1826111278
Implement support for FEC / retransmission
2021-12-10 01:12:19 +01:00
Mathieu Duponchelle
7bd7c4e960
webrtcsink: tune homegrown CC algorithm
...
Make control decisions based on packet loss closer in intent to
the algorithm described in gcc section 6., and raise the threshold
for decreasing the bitrate based on delay_factor
2021-12-08 22:31:03 +01:00
Thibault Saunier
b12d91775d
Respect user provided max-bitrate when congestion controler is disabled
2021-12-08 22:30:37 +01:00
Thibault Saunier
5904e1ccb4
Allow changeing Congestion control algorithm at runtime
2021-12-08 22:30:37 +01:00
Thibault Saunier
57f459f43b
Dot consumer pipelines when finalizing the pipeline
2021-12-03 16:22:11 +01:00
Mathieu Duponchelle
f9fb18ae1b
examples: implement stats client
2021-11-30 22:55:28 +01:00
Mathieu Duponchelle
5f98e61c91
examples: implement webrtcsink-stat-server
2021-11-30 22:55:28 +01:00
Mathieu Duponchelle
921ca7fbab
webrtcsink: expose stats property
2021-11-30 22:55:28 +01:00
Thibault Saunier
40a4b745e3
Add properties to configure min/max bitrate values
2021-11-24 15:27:06 +01:00
Thibault Saunier
ee64d53cf4
Update dependencies
2021-11-24 15:27:06 +01:00
Mathieu Duponchelle
7ce0ef5b88
webrtcsink: change method for constraining final caps
...
See discussion at:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278#note_1154282
2021-11-23 14:52:40 +01:00
Sebastian Dröge
e7a9c2b054
Update dependencies
...
This involves removing lots of unnecessary `unwrap()`s and simplifies
the `lookup_codecs()` function a bit.
2021-11-21 18:44:00 +01:00
Sebastian Dröge
ac60e7b101
Remove needless to_value()
calls
2021-11-20 14:56:34 +02:00
Thibault Saunier
63337c7df1
sink: Add a new-webrtcbin
signal
...
Allowing user to add a data channel for example
2021-11-19 12:58:57 +01:00
Thibault Saunier
444ee40f09
sink: Dot comsumer pipeline on state changes
2021-11-19 12:57:39 +01:00
Thibault Saunier
ac0f9f41df
sink: Add properties to set stun and turn servers
2021-11-19 12:57:39 +01:00
Mathieu Duponchelle
8c6ff24052
webrtcsink: Initial congestion control implementation
...
Naive heuristic lifted from an earlier proof of concept,
augmented with logic from
https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02#section-5.5
A property is exposed to disable congestion control for
testing purposes, it can be extended in the future to allow
selecting a different congestion control scheme.
+ Update the documentation
2021-11-10 02:55:46 +01:00
Mathieu Duponchelle
79fb66f338
Initial commit
2021-10-28 05:14:41 +02:00