Juliusz Chroboczek
d5c7a13aae
Implement abort in the client->server direction.
2020-12-25 18:51:17 +01:00
Juliusz Chroboczek
cc35931ad1
Make isKeyframe codec-agnostic.
2020-12-25 16:40:38 +01:00
Juliusz Chroboczek
d43a2b0104
Implement WallOps to send a warning to all operators.
2020-12-23 23:15:36 +01:00
Juliusz Chroboczek
4c07953ee0
Update dependencies.
2020-12-19 19:03:14 +01:00
Juliusz Chroboczek
4fde2c40e6
Run gofmt.
2020-12-19 17:38:47 +01:00
Juliusz Chroboczek
325f288189
Move to github.
2020-12-19 17:37:48 +01:00
Juliusz Chroboczek
a2f5bb82d1
Delete unrequested connections in addDownConnTracks.
...
We don't renegotiate down connections yet, but this is a latent bug.
2020-12-18 18:56:07 +01:00
Antonin Décimo
f5de94cf3e
Correct spelling of privileged.
2020-12-15 14:52:46 +01:00
Juliusz Chroboczek
da8c592232
Fix log message.
...
Thanks to Antonin Décimo.
2020-12-12 23:21:49 +01:00
Juliusz Chroboczek
4de2953037
Fix incorrect closure in pushConnsAction.
...
This was causing us to lose connections.
2020-12-09 01:05:24 +01:00
Juliusz Chroboczek
f7048e4dae
Fix codec check in rtpwriter.
2020-12-07 19:50:10 +01:00
Juliusz Chroboczek
ef1c211b7f
SFU is now called Galène.
2020-12-06 19:51:02 +01:00
Juliusz Chroboczek
2d07c5d317
Move to Pion v3 API.
2020-12-06 11:15:59 +01:00
Juliusz Chroboczek
e8c732c54c
Fix error handling at websocket close.
2020-12-05 03:07:22 +01:00
Juliusz Chroboczek
26e6ecc3bc
Fix error handling on negotiation failure.
2020-12-05 00:32:01 +01:00
Juliusz Chroboczek
0e7bf0b348
Carry group around when pushing connections.
...
This avoids a race condition if the group changes before the connections
are pushed.
2020-12-05 00:07:34 +01:00
Juliusz Chroboczek
b134bfcf13
Improve error handling on join failure.
...
Solves the issue of groups with a name ending in "/".
2020-12-04 22:56:29 +01:00
Juliusz Chroboczek
e3098899e1
Log errors from PushConn.
2020-12-04 12:15:37 +01:00
Juliusz Chroboczek
ca6c371ec4
Send chat history after joined message.
...
This was broken when we eliminated the login message.
2020-12-04 11:31:20 +01:00
Juliusz Chroboczek
120bfc92c7
Upgrade pion/rtcp, use nack.Range instead of PacketList.
2020-12-03 23:46:19 +01:00
Juliusz Chroboczek
27a2e45500
Implement /subgroups.
2020-12-02 19:47:32 +01:00
Juliusz Chroboczek
43047fc00e
Allow empty values in clientMessage.
2020-12-02 19:33:53 +01:00
Juliusz Chroboczek
2546aae7c1
Eliminate login from protocol.
...
The login message is replaced with handshake, which only carries
the client id. Username and password is now in the join message.
Permissions is replaced with joined.
2020-12-02 13:49:53 +01:00
Juliusz Chroboczek
b30d4fe537
Add delay after login failure.
2020-12-02 00:07:31 +01:00
Juliusz Chroboczek
6e5348101c
Propagate kick originators.
2020-11-30 20:04:58 +01:00
Juliusz Chroboczek
ed531cefc2
More spoofing protection.
2020-11-30 20:04:58 +01:00
Juliusz Chroboczek
74b3683cf1
Protect against chat message spoofing.
2020-11-30 20:04:58 +01:00
Juliusz Chroboczek
6040d1943c
Allow forwarding usermessages.
...
They now have the same format as chat messages; the only difference
is that they are not stored in the chat history.
Also adds userMessage method to ServerConnection.
Fix usermessages.
2020-11-30 14:39:36 +01:00
Juliusz Chroboczek
4c0fd01258
Implement hashed passwords.
2020-11-29 22:17:51 +01:00
Juliusz Chroboczek
1ed2540bd7
Don't send permissions with each client message.
...
Thanks to Antonin Décimo.
2020-11-29 15:46:22 +01:00
Juliusz Chroboczek
21361a87cd
Fix kick message.
2020-11-25 00:16:32 +01:00
Juliusz Chroboczek
7ee8cbc45a
Don't push incomplete connections.
...
If a connetion is slow to get established, this would cause it to
be pushed twice, the first time before it is complete. Thanks to
Roman Koval who noticed the issue.
2020-11-05 20:48:07 +01:00
Juliusz Chroboczek
2efb5b3cea
Improve timing of nackWriter.
2020-10-31 23:26:56 +01:00
Juliusz Chroboczek
b46da173e5
Don't log rate limited FIR.
2020-10-31 23:26:56 +01:00
Juliusz Chroboczek
aae6b460f7
Clean up keyframe handling in rtpwriter.
2020-10-27 19:15:56 +01:00
Juliusz Chroboczek
6c6b0b39c9
Copy id list in setRequested.
...
Probably not necessary, but I'm supersticious.
2020-10-27 18:24:33 +01:00
Juliusz Chroboczek
f8d2bb93e8
Avoid deadlock in DelLocal.
2020-10-27 18:24:33 +01:00
Juliusz Chroboczek
c8de6620a7
Send non-trivial bitmaps during NACK forwarding.
2020-10-12 16:18:57 +02:00
Juliusz Chroboczek
5e130122f5
Forward NACKs to sender in case of double loss.
...
We already send NACKs when a packet is missing. Under high packet loss,
however, the recovery packet might get lost two. Forward receiver NACKs
to the sender, but only after a delay and after checking that the packet
has not arrived in the meantime.
2020-10-12 13:00:59 +02:00
Juliusz Chroboczek
5e845eb493
Send FIR if initial keyframe is too old.
2020-10-11 22:56:15 +02:00
Juliusz Chroboczek
e07a98e355
Deal with reordered keyframes.
2020-10-08 17:58:58 +02:00
Juliusz Chroboczek
90ba4814c8
Discard old history entries.
2020-10-08 14:41:33 +02:00
Juliusz Chroboczek
0eb1593bb8
Delay adding tracks until connection is complete.
...
This avoids losing packets at the beginning of a connection.
2020-10-06 04:18:46 +02:00
Juliusz Chroboczek
bda58b42c6
Rename disk to diskwriter.
2020-10-04 21:08:34 +02:00
Juliusz Chroboczek
a233f10b0b
Make NACK threshold depend on the average packet rate.
2020-10-04 21:08:34 +02:00
Juliusz Chroboczek
4a8e48d146
Take next packet index into account when sending NACKs.
...
This avoids sending NACKs for packets in the future.
2020-10-04 16:07:23 +02:00
Juliusz Chroboczek
67a821ea75
Increase minimum size of packet cache.
...
Now that we cache keyframes, it is worth keeping some history
even when latency is low.
2020-10-03 16:18:28 +02:00
Juliusz Chroboczek
a50e9c6771
Buffer last keyframe.
2020-10-03 16:18:28 +02:00
Juliusz Chroboczek
28b7c6d54d
Move RTP writer to separate file.
2020-10-03 12:58:01 +02:00
Juliusz Chroboczek
3083b89db9
Reuse single buffer in RTCP listeners.
2020-10-01 22:22:17 +02:00