Juliusz Chroboczek
7126394e65
Fix locking in group.go.
...
Also export some fields as thread-safe methods.
2020-09-13 20:33:53 +02:00
Juliusz Chroboczek
938d231b30
Make API a method of group.
2020-09-13 13:09:34 +02:00
Juliusz Chroboczek
22c6ad6b8c
Implement ranging over groups.
2020-09-13 12:24:06 +02:00
Juliusz Chroboczek
fb02c6fe1f
Move client actions to webclient.go.
...
These are specific to webclients.
2020-09-13 11:57:33 +02:00
Juliusz Chroboczek
78e9c96a53
Make SetPermissions part of the client interface.
2020-09-13 10:45:16 +02:00
Juliusz Chroboczek
0064aa6fd2
Split out statistics functions into stats.go.
2020-09-13 10:10:35 +02:00
Juliusz Chroboczek
1fe64e15f0
Remove packet pacing.
...
It's not obvious that it's useful, especially now that the writer
is split into multiple threads. Do retain the dynamically computed
delay in case of audio congestion.
2020-09-13 09:40:49 +02:00
Juliusz Chroboczek
96dbcd9dcb
Release lock early in newUpConn.
...
Otherwise recording to disk causes a deadlock.
2020-09-13 02:27:50 +02:00
Juliusz Chroboczek
fa29e50f8b
Split writer loop into multiple threads.
...
This improves both scaling and fairness in the case where a single
track is being sent to large numbers of receivers. We avoid
communication overhead by growing the number of threads as the
square root of the number of receivers.
2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
8d58571d4c
Create webserver structure in main thread.
...
Avoids a race.
2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
71022f4b58
Remove ErrWriterDead, replace with ErrClientDead.
2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
abb8b70a0d
Load toastify before its users.
2020-09-12 18:31:04 +02:00
Juliusz Chroboczek
66a721a55c
Improve typing of sfu.js.
2020-09-12 16:44:42 +02:00
Juliusz Chroboczek
6a554831a1
Sort users lexicographically.
2020-09-12 16:44:42 +02:00
Juliusz Chroboczek
c9b61ab532
Remove unused function getTimestamp.
2020-09-12 14:47:09 +02:00
Juliusz Chroboczek
6f120f0333
Make disk recording clients kickable.
...
Kick can no longer be called with groups locked.
2020-09-12 14:00:14 +02:00
Juliusz Chroboczek
e37e27036e
Implement graceful server shutdown.
...
This gives the user a friendly message when the server shuts down.
2020-09-12 13:59:55 +02:00
Juliusz Chroboczek
7707775cca
Implement user-readable message for kick.
2020-09-12 12:26:07 +02:00
Juliusz Chroboczek
5c97e739a6
Implement activity detection.
2020-09-11 23:43:30 +02:00
Juliusz Chroboczek
d35f599922
Minor fixes to sfu.js.
2020-09-11 22:46:23 +02:00
Juliusz Chroboczek
0b5416f617
Revert blurring failed media.
...
Failed media must still be usable.
2020-09-11 21:53:53 +02:00
Juliusz Chroboczek
8d9c3d7d1c
Add userdata field to ServerConnection and Stream.
2020-09-11 21:39:18 +02:00
Juliusz Chroboczek
e698e187e6
Merge branch 'design' into master
2020-09-11 19:03:23 +02:00
Juliusz Chroboczek
243e2e8823
Support custom 404 pages.
2020-09-11 17:42:09 +02:00
Alain Takoudjou
bcc0e8da5e
sfu: add 404 custom page
2020-09-11 16:51:56 +02:00
Alain Takoudjou
df0bb231af
more fixes on web interface
2020-09-11 16:51:56 +02:00
Juliusz Chroboczek
760cafe02a
Display help message after receiving permissions from server.
...
We used to display the help message too early, which caused us to
display it even if the group doesn't exist or the user doesn't have
the present permission.
2020-09-11 09:52:40 +02:00
Juliusz Chroboczek
66d352b35a
Rename Parameters to Settings, fix typo.
2020-09-11 09:52:40 +02:00
Alain Takoudjou
640fbb8107
more improvement on design
2020-09-11 09:52:40 +02:00
Juliusz Chroboczek
0ab8425025
Remove icon on mainpage.
2020-09-11 09:52:40 +02:00
Alain Takoudjou
71f5db03ad
fix display login form and video on mibile
2020-09-11 09:52:40 +02:00
Alain Takoudjou
e5ccc82204
minor fixes
2020-09-11 09:52:39 +02:00
Alain Takoudjou
efb8a71981
improve sfu design and remove some useless code
2020-09-11 09:52:39 +02:00
Alain Takoudjou
32459b4b5b
fix connexion problem with new users
2020-09-11 09:52:39 +02:00
Alain Takoudjou
788e43ba7a
add some interface improvement
2020-09-11 09:52:39 +02:00
Alain Takoudjou
382446ebcb
sfu: update layout and make video working with mobile too
2020-09-11 09:52:39 +02:00
Alain Takoudjou
76e812d00f
sfu: first working design
2020-09-11 09:52:39 +02:00
Juliusz Chroboczek
517d7edbc8
Make login work when sessionStorage is not available.
...
Thanks to Ralf Treinen for pointing out the issue.
2020-09-10 15:30:49 +02:00
Juliusz Chroboczek
4bdd7c7665
Implement group redirection.
2020-09-10 14:22:34 +02:00
Juliusz Chroboczek
c2b1723bd4
Fail early when a group doesn't exist.
2020-09-10 13:41:15 +02:00
Juliusz Chroboczek
c9865830cc
Fix screen sharing on Safari.
...
Apparently Safari requires {video: true}.
2020-09-10 10:03:14 +02:00
Juliusz Chroboczek
346f93dd16
Maintain information about whether renegotiation is permitted.
...
Renegotiation is not correct when the stream is fresh, for example
after the user has switched the camera.
2020-09-10 01:33:23 +02:00
Juliusz Chroboczek
39789dc89a
Make addSharedMedia go through newUpStream.
...
Otherwise the callbacks don't get set.
2020-09-08 03:10:45 +02:00
Juliusz Chroboczek
fc9bbf20ea
Don't close writer channel at client shutdown.
...
Closing the channel could cause a panic if a c.write was pending.
Instead, ensure we send a closeMessage to the writer, and cause the
writer to exit when it receives a closeMessage.
2020-09-08 00:29:30 +02:00
Juliusz Chroboczek
dd27cf412c
Update pion/webrtc to v3 beta4.
2020-09-05 14:15:39 +02:00
Juliusz Chroboczek
93f116021d
Clear user list upon disconnection.
2020-09-05 12:59:28 +02:00
Juliusz Chroboczek
eac7a2afc4
Display a notification when local stream fails.
...
We used to silently fail when there was a problem with camera
permissions. Display a notification.
2020-09-05 12:52:02 +02:00
Juliusz Chroboczek
9a0c830a59
Fix setting of send bitrate for Firefox.
...
Thanks to Ines Klimann.
2020-09-03 20:19:26 +02:00
Juliusz Chroboczek
c0122c069e
Implement restartIce for older browsers.
2020-09-03 20:19:26 +02:00
Juliusz Chroboczek
aa876bcd0d
Propagate CNAME.
2020-09-03 20:19:21 +02:00