1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-23 09:05:59 +01:00
Commit graph

1243 commits

Author SHA1 Message Date
Juliusz Chroboczek
183ab4fed7 Use an unbounded buffer for client actions.
We no longer risk deadlocking when sending actions, which in turn
enables pushing connections synchronously.
2021-02-14 17:24:42 +01:00
Juliusz Chroboczek
3b505a89fe Factor out handling actions. 2021-02-14 16:47:36 +01:00
Juliusz Chroboczek
fa625c693e Push clients synchronously.
Doing this asynchronously was racy -- under extreme circumstances, a
client could be deleted before it was added.
2021-02-14 16:46:15 +01:00
Juliusz Chroboczek
3c7b32056b Reduce writer timeout, increase amount of buffering.
If the writer gets congested, the whole group might be delayed.  Better
to drop the slow client in that case.
2021-02-14 16:26:56 +01:00
Juliusz Chroboczek
fe83f61998 Don't complain about ErrClosedPipe in RTCP receiver.
This simply indicates that the server closed the connection
before we received the close indication from the client.
2021-02-11 16:19:36 +01:00
Juliusz Chroboczek
8f89ac0bcf Clean up path handling in webserver. 2021-02-07 01:43:40 +01:00
Juliusz Chroboczek
c4e26b65b7 Tighten user check.
Don't allow a user with a wildcard password entry to use the same
username as a user with a specific entry even at the same privilege
level.
2021-02-06 23:32:42 +01:00
Juliusz Chroboczek
91c161e548 Don't cache group files for 5s.
A stat of a cached file is cheap, no need to micro-optimise.
2021-02-06 21:44:14 +01:00
Juliusz Chroboczek
0261558e07 Protect against empty ids. 2021-02-05 16:07:58 +01:00
Juliusz Chroboczek
c3a19c9128 Avoid race between closing connections and terminating client.
We need to terminate all down connections synchronously, otherwise
we risk leaving open connections lying around.
2021-02-05 12:20:33 +01:00
Juliusz Chroboczek
66de0d16e7 Fix closing of replaced connections. 2021-02-04 23:51:51 +01:00
Juliusz Chroboczek
fe9b89257a Set buttons visibility when disconnecting. 2021-02-04 23:11:40 +01:00
Juliusz Chroboczek
0ce509c62c Revert "Log client errors."
We're already logging in the caller.

This reverts commit f4811e8cf5.
2021-02-04 22:44:14 +01:00
Juliusz Chroboczek
c72cbe8f27 Don't attempt to replace empty connection in disk writer. 2021-02-04 22:01:41 +01:00
Juliusz Chroboczek
b4240c4505 Don't reuse API between peer connections.
This turns out to be incorrect when a MediaEngine is attached.
2021-02-04 21:03:17 +01:00
Juliusz Chroboczek
6054ae6cc6 Update client code for renegotiation.
We now need to deal with the case where a track disappears from the
labels array.
2021-02-03 20:26:05 +01:00
Juliusz Chroboczek
263258a0c1 Implement renegotiation of down streams.
We used to destroy and recreate down streams whenever something changed,
which turned out to be racy.  We now properly implement renegotiation,
as well as atomic replacement of a stream by another one.
2021-02-03 19:15:40 +01:00
Juliusz Chroboczek
368da133fd Update dependencies.
Webrtc 3.0.5 includes a fix for a hang in CreateOffer that may be
triggered by incorrect SDP.
2021-02-03 18:37:02 +01:00
Juliusz Chroboczek
6c4a71fda0 Increase timeout for connection completion. 2021-02-02 23:12:52 +01:00
Juliusz Chroboczek
f34ec0ab66 Don't hide mismatches in the PeerConnection state automaton.
The previous behaviour led to silent failures, which was confusing.
2021-02-02 22:57:56 +01:00
Juliusz Chroboczek
f4811e8cf5 Log client errors. 2021-02-02 22:46:54 +01:00
Juliusz Chroboczek
d9e72f4fd0 Return an error when adding a duplicate down track. 2021-02-02 22:46:48 +01:00
Juliusz Chroboczek
73f72c45fc Fix race in pushConn. 2021-02-02 22:46:40 +01:00
Juliusz Chroboczek
36d6845dc1 Fix closing of replaced connections. 2021-02-01 14:08:54 +01:00
Juliusz Chroboczek
f63ecb3078 Support file playback on Mozilla. 2021-02-01 01:08:39 +01:00
Juliusz Chroboczek
14a4303664 Rework connection replacement.
We used to signal connection replacement by reusing the same connection
id.  This turned out to be racy, as we couldn't reliably discard old
answers after a connection id was refused.

We now use a new id for every new connection, and explicitly signal
stream replacement in the offer message.  This requires maintaining a
local id on the client side.
2021-01-31 23:59:17 +01:00
Juliusz Chroboczek
9d9db1a920 Tweak README. 2021-01-26 23:07:07 +01:00
Juliusz Chroboczek
ea0ae7669a Update dependencies. 2021-01-26 22:53:48 +01:00
Juliusz Chroboczek
2bda3af416 Add section about cross-compiling to README. 2021-01-25 17:47:59 +01:00
Juliusz Chroboczek
aa69538057 Minor typos and tweaks in galene.html. 2021-01-25 13:06:09 +01:00
Juliusz Chroboczek
98d43e67b5 Add links to galene.org to README. 2021-01-24 16:57:26 +01:00
Juliusz Chroboczek
8e395e38ac Add option to disable mirror view. 2021-01-23 01:15:53 +01:00
Juliusz Chroboczek
8a44726f89 Save blackboard mode and activity detection across reloads. 2021-01-23 01:13:27 +01:00
Juliusz Chroboczek
fb17778ba6 Increase receiver report timeout. 2021-01-21 21:19:07 +01:00
Juliusz Chroboczek
f0dcd0b1d9 Rework locking of tracks.
We now add tracks after the stream has been pushed, so we need a lock
on down streams.  Also rework sendUpRTCP to reduce locking.
2021-01-19 23:55:33 +01:00
Juliusz Chroboczek
9a5c8b6b43 Handle answers in stable state.
Don't break the stream, just ignore the SDP.
2021-01-19 23:30:01 +01:00
Juliusz Chroboczek
14e99aa125 Document estimator.go. 2021-01-19 20:40:19 +01:00
Juliusz Chroboczek
48de81d8a4 Update CHANGES. 2021-01-19 19:11:28 +01:00
Juliusz Chroboczek
c103d1cfb0 Rework configuration of built-in TURN server.
The default configuration is now defined by an explicit value
"auto", which is easier to check and to explain.
2021-01-19 18:04:39 +01:00
Juliusz Chroboczek
c1b689bccf Don't start TURN server by default if ice-servers.json exists.
This can be overridden by explicitly specifying the -turn option.
2021-01-19 01:24:07 +01:00
Juliusz Chroboczek
5a7937b198 Add built-in TURN server. 2021-01-18 22:18:16 +01:00
Juliusz Chroboczek
a15915e8fc Tweak the autokick code. 2021-01-17 21:52:26 +01:00
Juliusz Chroboczek
c769a4aad4 Add autokick option. 2021-01-17 21:29:07 +01:00
Juliusz Chroboczek
7d216f650c Add replace parameter to onclose stream callback.
This indicates that the stream is being replaced by another one with
the same id.  This avoids moving videos around when they are being
renegotiated.
2021-01-17 20:20:35 +01:00
Juliusz Chroboczek
f7b1ec73f1 Update dependencies. 2021-01-16 01:01:00 +01:00
Juliusz Chroboczek
2380e2e183 The up streams rework broke renegotiation. Don't attempt to
renegotiate, just close the stream and open it again.
2021-01-15 22:41:40 +01:00
Juliusz Chroboczek
e623442b99 Remove left-over debugging messages. 2021-01-15 00:13:47 +01:00
Juliusz Chroboczek
8168c2a9e6 Rework the up connection state machine.
It is now more similar to the down connection, using the onclose
callback for resource management.
2021-01-14 23:50:40 +01:00
Juliusz Chroboczek
10ebe0e433 Add sample coturn configuration to README. 2021-01-14 19:37:35 +01:00
Juliusz Chroboczek
6098d4af9d Implement autolock. 2021-01-14 03:56:37 +01:00