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
Juliusz Chroboczek
5a91a7aae8
Reset remote connection if SetRemoteDescription fails.
...
In current versions of pion, SetRemoteDescription fails if ICE is
currently gathering. Work around the issue by resetting the connection.
2020-09-03 13:40:38 +02:00
Juliusz Chroboczek
e0a81e7f03
Add ability to limit outgoing throughput.
...
This will hopefully become unnecessary once we have better congestion
control.
2020-08-26 19:16:01 +02:00
Juliusz Chroboczek
a4b528e1e7
Implement onnegotiationcompleted callback.
2020-08-26 18:30:29 +02:00
Juliusz Chroboczek
6dc1d72438
Type global variables in sfu.js.
2020-08-24 22:37:48 +02:00
Juliusz Chroboczek
fba0dded84
Type global variables in sfu.js.
2020-08-24 22:31:22 +02:00
Juliusz Chroboczek
e4aad04f28
Fix typo in onended callback of screen share.
2020-08-24 22:24:33 +02:00
Juliusz Chroboczek
a2ab8c3686
Remove up media when closing the socket.
2020-08-23 19:07:52 +02:00
Juliusz Chroboczek
8fbd16cc8c
Minor tweaks to error handling.
2020-08-19 14:39:40 +02:00
Juliusz Chroboczek
74cab72154
Update pion/webrtc to v3 beta.2.
2020-08-15 23:25:46 +02:00
Juliusz Chroboczek
e0c10acdf0
Improve README.FRONTEND.
2020-08-14 15:29:11 +02:00
Juliusz Chroboczek
33bfb433f1
Mark async functions explicitly in protocol.js.
...
JSDoc doesn't recognise them otherwise.
2020-08-14 14:44:23 +02:00
Juliusz Chroboczek
7848822469
Minor type tightenings in protocol.js.
2020-08-14 14:36:29 +02:00
Juliusz Chroboczek
668fae29ef
Add some more typing assertions to sfu.js.
2020-08-13 20:55:13 +02:00
Juliusz Chroboczek
0067edc6eb
Fix some more Javascript typos.
...
Thanks to Rémi Nollet and Léo Stefanesco.
2020-08-13 20:54:37 +02:00
Juliusz Chroboczek
fc3ee84243
Fix typo in newUpStream.
2020-08-13 20:16:52 +02:00
Juliusz Chroboczek
0102bdc128
Fix typo in gotAbort.
2020-08-13 20:11:21 +02:00
Juliusz Chroboczek
04b0951530
Fix fetching of ICE servers.
2020-08-13 15:45:19 +02:00
Juliusz Chroboczek
240b05a660
Fix typo in renegotiation.
2020-08-13 13:48:17 +02:00
Juliusz Chroboczek
9e8a77007b
Document the protocol interface.
2020-08-13 12:21:30 +02:00
Juliusz Chroboczek
3e0bb08955
Split out the javascript protocol interface.
2020-08-13 12:21:29 +02:00
Juliusz Chroboczek
ec742eacdb
Fix typo in renegotiation.
2020-08-13 12:16:05 +02:00
Juliusz Chroboczek
52c4f1a399
Restructure offers.
2020-08-12 13:56:35 +02:00
Juliusz Chroboczek
bc7bd36ba2
Restructure user notifications.
2020-08-12 13:51:31 +02:00
Juliusz Chroboczek
b6adc0b9a8
Rename Connection to Stream in the JS code.
2020-08-12 12:50:28 +02:00
Juliusz Chroboczek
675035ab29
Restructure group and client management messages.
2020-08-12 12:40:40 +02:00
Juliusz Chroboczek
88d2a96819
Restructure error and chat messages.
2020-08-12 12:17:56 +02:00
Juliusz Chroboczek
7b51296262
Split handshake into login/join.
...
For now, join must follow login, but it will make it easier to extend
the protocol for joining multiple groups (think federation).
2020-08-12 11:50:30 +02:00
Juliusz Chroboczek
6bde5f986a
Store password in client structure.
...
No need to carry password around.
2020-08-12 11:49:23 +02:00
Juliusz Chroboczek
6a37033ca8
Allow both sides to initiate renegotiation.
...
More reliable reaction to network failures when they are detected
by just one side.
2020-08-11 15:49:33 +02:00
Juliusz Chroboczek
7aab79c4c6
Have chat messages go through the server even when sent to oneself.
2020-08-07 11:33:59 +02:00
Juliusz Chroboczek
23c4aea58f
Implement renegotiation in the up direction.
2020-08-07 11:15:58 +02:00
Juliusz Chroboczek
9506615272
Restart ICE instead of restarting down connections.
2020-08-07 11:15:58 +02:00
Juliusz Chroboczek
e724194ef6
Upgrade to pion/webrtc v3.
2020-08-07 11:15:58 +02:00
Juliusz Chroboczek
8a4d315c51
Move ice-servers.json under dataDir.
...
This makes it easier to deploy by putting all user-serviceable files
under data/.
2020-08-07 11:14:34 +02:00
Juliusz Chroboczek
4e594465cc
Remove dead code.
2020-08-04 20:52:35 +02:00
Juliusz Chroboczek
e9559d9a10
Remove unused field.
2020-08-04 20:51:07 +02:00
Juliusz Chroboczek
426c1e06d8
Remove half-baked compatibility code for old browsers.
2020-06-19 11:51:46 +02:00
Juliusz Chroboczek
9560779eb4
Move client interface to its own file.
2020-06-19 11:36:37 +02:00
Juliusz Chroboczek
1e977213d1
Check media status in setMediaStatus.
2020-06-12 21:28:35 +02:00
Juliusz Chroboczek
a4d0741704
Perform congestion control at the connection level.
...
REMB applies to the whole transport, not to individual tracks.
2020-06-12 20:17:46 +02:00
Juliusz Chroboczek
903e499dd6
Don't reduce video rate in large groups.
2020-06-12 17:27:38 +02:00
Juliusz Chroboczek
a8ca2e8559
Make stats reporting independent of the number of tracks.
2020-06-12 15:42:44 +02:00
Juliusz Chroboczek
23cceba7ba
Restart downstream connections on ICE failure.
2020-06-11 20:22:28 +02:00