0
0
Fork 0
mirror of https://github.com/strukturag/nextcloud-spreed-signaling.git synced 2025-04-11 14:21:18 +00:00
Commit graph

72 commits

Author SHA1 Message Date
Joachim Bauch
71ceadbf4c
Add more cases when to stop remote publishing. 2024-11-11 10:47:05 +01:00
Joachim Bauch
af7eda29b2
Add test for remote subscribing. 2024-11-11 10:26:42 +01:00
Joachim Bauch
c12addb2a8
Notify remote to stop publishing when last local subscriber is closed. 2024-11-11 10:26:42 +01:00
Joachim Bauch
e152b8dcda
Migrate to github.com/golang-jwt/jwt/v5 2024-11-05 09:59:14 +01:00
Joachim Bauch
a487afc909
Support passing codec parameters when creating publishers. 2024-11-04 13:35:03 +01:00
Joachim Bauch
73b3a9ca65
proxy: Use correct locks in tests. 2024-10-31 14:02:12 +01:00
Joachim Bauch
4dd2bbaf63
proxy: Close client connection if session is expired / closed.
This handles cases where during development the machine is suspended and
on resume, the session is expired but the connection is still open. As
for the expired session the internal context is closed, the session can
no longer be used.
2024-10-31 13:55:22 +01:00
Joachim Bauch
9aeb57d74e
Encode session ids using protobufs.
This will reduce their size and improve encoding / decoding performance.

Also fixes GO-2024-3106 (Stack exhaustion in Decoder.Decode in encoding/gob).
2024-10-28 14:47:46 +01:00
Joachim Bauch
128b506ea0
Add test for cancellation of proxy request. 2024-10-28 10:53:22 +01:00
Joachim Bauch
8077ca4104
proxy: Implement "bye" message. 2024-10-28 10:17:38 +01:00
Joachim Bauch
e1fc062464
proxy: Add timeouts to requests to Janus and cancel if session is closed. 2024-10-28 09:24:23 +01:00
Joachim Bauch
03cad99b8d
Switch to "github.com/stretchr/testify" for tests. 2024-09-03 13:50:52 +02:00
Joachim Bauch
6e1a2f6d7e
Include list of supported features in websocket response. 2024-06-03 11:14:19 +02:00
Joachim Bauch
c17882307f
proxy: Support reloading target bandwidth. 2024-05-28 13:19:58 +02:00
Joachim Bauch
c7cccc9287
Support reloading maximum stream / screen bandwidths. 2024-05-28 12:33:12 +02:00
Joachim Bauch
2a1fd2e018
Support reloading allowed stats IPs. 2024-05-28 12:18:08 +02:00
Joachim Bauch
be66d9425b
Support reloading trusted proxies. 2024-05-28 12:11:39 +02:00
Joachim Bauch
c6cbe88d0e
Pass contexts when creating / starting MCUs. 2024-05-21 09:29:23 +02:00
Joachim Bauch
d63b1cf14a
proxy: Add more token tests. 2024-05-21 09:29:22 +02:00
Joachim Bauch
7e7a6d5c09
Support bandwidth limits when selecting proxy to use. 2024-05-21 09:29:20 +02:00
Joachim Bauch
a4b8a81734
Automatically reconnect proxy connections if interrupted. 2024-05-21 09:29:19 +02:00
Joachim Bauch
3ce963ee91
Re-create publisher with new endpoint if it already exists. 2024-05-21 09:29:19 +02:00
Joachim Bauch
56f5a72f61
Get list of remote streams from offer/answer SDP. 2024-05-21 09:29:17 +02:00
Joachim Bauch
9c99129242
Make "skipverify" configurable for remote proxy requests. 2024-05-21 09:29:15 +02:00
Joachim Bauch
63c42dd84c
First draft of remote subscriber streams. 2024-05-21 09:29:15 +02:00
Joachim Bauch
aac4874e72
Make trusted proxies configurable and default to loopback / private IPs. 2024-05-16 14:44:00 +02:00
Joachim Bauch
fdc43d12cd
Use new builtin "clear" to remove map entries. 2024-05-16 13:14:56 +02:00
Joachim Bauch
bad52af35a
Validate received SDP earlier. 2024-05-16 10:04:57 +02:00
Joachim Bauch
a50d637107
etcd: Wait for server to be stopped in tests. 2024-05-14 16:13:13 +02:00
Joachim Bauch
e3a163fbe5
Support environment variables in URL / listener configuration. 2024-05-13 13:26:38 +02:00
Joachim Bauch
0eb234b24d
Run tests in parallel and catch log output from tests. 2024-04-25 15:21:54 +02:00
Joachim Bauch
2468443572
Add "HandlerClient" interface to support custom implementations. 2024-04-23 11:03:30 +02:00
Joachim Bauch
1a8444ca71
Reuse backoff waiting code for initial proxy MCU connection. 2024-02-27 16:42:06 +01:00
Joachim Bauch
8f4fc2db6d
Calculate proxy load based on maximum bandwidth.
Take maximum bandwidth of connected clients into account when calculating
load as screensharing requires more than regular audio/video.
2024-02-27 15:20:17 +01:00
Joachim Bauch
7d09c71ab9
Strongly type "StreamType". 2024-02-27 15:20:14 +01:00
Joachim Bauch
59cf86d786
Add "welcome" endpoint to proxy. 2024-01-24 10:45:49 +01:00
Joachim Bauch
e61845b086
Move common option list parsing code to own function. 2023-12-07 13:33:54 +01:00
Joachim Bauch
dddf194b48
Use dedicated port for peer listener when testing. 2023-12-01 23:33:33 +01:00
Joachim Bauch
c134883138
Switch to atomic types from Go 1.19 2023-10-30 09:32:46 +01:00
Joachim Bauch
fd29f83454
Use "struct{}" channel if only used as signaling mechanism. 2023-06-15 11:30:28 +02:00
Joachim Bauch
c11902b2f3
etcd: Use dedicated port for HTTP listener when testing to silent warning.
Follow-up to 
2023-06-12 12:06:43 +02:00
Joachim Bauch
73808f5a68
Update for changed etcd config API. 2023-06-12 11:42:13 +02:00
Joachim Bauch
be949f90b1
Add common code to handle allowed IPs. 2023-03-16 17:11:57 +01:00
Joachim Bauch
d49d3704fa
Use interface for client callbacks. 2023-02-22 08:34:17 +01:00
Joachim Bauch
156bc360ff
Add hello version "2.0" that authenticates connections using a JWT. 2022-08-03 16:33:45 +02:00
Joachim Bauch
924fce6713
Stop using deprecated "jwt.StandardClaims". 2022-07-07 17:12:21 +02:00
Joachim Bauch
8a97fa7f5e
Update to Go module version of github.com/golang-jwt/jwt 2022-07-07 17:04:34 +02:00
Joachim Bauch
f7db8a38e1
Send initial "welcome" message when clients connect.
This can be used to detect server features before performing the
actual "hello" handshake.
2022-07-07 09:57:10 +02:00
Joachim Bauch
134d22bfe7
Move common etcd code to own class. 2022-06-24 11:15:29 +02:00
Joachim Bauch
8ff62829ee
Add tests for etcd proxy tokens. 2022-05-13 14:37:21 +02:00