1
Fork 0
Commit Graph

509 Commits

Author SHA1 Message Date
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 bbd5ce0c75 Remove dead code (cache.GetLast). 2020-10-03 13:15:30 +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
Juliusz Chroboczek 0a49dc4569 Store HTTP server in atomic.Value.
Keeps the race detector from complaining.
2020-10-01 19:47:04 +02:00
Juliusz Chroboczek 4ff1151fef Update dependencies.
This should fix the deadlock on pc.Close that we have been seeing
(and that was worked around in a previous commit).
2020-10-01 19:25:45 +02:00
Juliusz Chroboczek 66dd71678e Implement private messages. 2020-10-01 16:59:09 +02:00
Juliusz Chroboczek bd5cd7c1a2 Avoid calling pc.Close under a lock.
Apparently Close can take unbounded amounts of time.
2020-10-01 16:08:12 +02:00
Juliusz Chroboczek 13d6b7ad1f Don't disconnect clients when negotiation fails.
This may happen if we receive an answer for a connection that has been
closed in the meantime.
2020-10-01 15:35:35 +02:00
Juliusz Chroboczek 9ce591e4c5 Override permissions for disk recording. 2020-10-01 13:40:15 +02:00
Juliusz Chroboczek 3bd9a1db4e Timestamp chat messages. 2020-09-30 00:54:12 +02:00
Juliusz Chroboczek 480922268e Some more tweaks to JS typing. 2020-09-29 18:16:54 +02:00
Juliusz Chroboczek f2c8116559 Fix typo in README. 2020-09-24 23:21:05 +02:00
Juliusz Chroboczek 8399ee2c4a Implement group description. 2020-09-24 22:03:41 +02:00
Juliusz Chroboczek 7183730a68 Make the default list of ICE servers empty, update docs. 2020-09-24 19:38:59 +02:00
Juliusz Chroboczek 6a4784da44 Hide share button if getDisplayMedia doesn't exist. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek 2e63c0f305 Error handling when attempting chat on closed connection. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek 667412e6ae Implement /set command. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek cca19444d6 Mark paths in recordings server as relative.
Since paths may contain colons, they could otherwise be mistaken for
URLs with a scheme.
2020-09-21 23:03:03 +02:00
Juliusz Chroboczek 0aa77441bd Improve typing of javascript code.
We now enable typing of sfu.js.
2020-09-20 17:25:41 +02:00
Juliusz Chroboczek 4e14c29fbb Rework recordings server.
Simplifies the code, makes the files cachable, fixes permission issues.
2020-09-19 14:54:17 +02:00
Juliusz Chroboczek eab848f2cf Add ability to receive nothing. 2020-09-18 20:09:52 +02:00
Juliusz Chroboczek 8a4b2f5d3f Implement studio and blackboard mode. 2020-09-18 19:58:05 +02:00
Juliusz Chroboczek b8011371cf Rework settings handling in sfu.js.
There is now a data structure that contains the ultimate truth
about the user's preferences.  We no longer grovel through the
UI components.
2020-09-18 19:58:05 +02:00
Juliusz Chroboczek f5cb2ff328 Rework synchronisation between webserver and main.
We now exit with an error code if the webserver couldn't start.
2020-09-18 14:47:33 +02:00
Juliusz Chroboczek aeb8540ad4 Fix kickability. 2020-09-18 14:47:33 +02:00
Juliusz Chroboczek 6e84b641e6 Improve cachability of the web server. 2020-09-18 14:47:33 +02:00
Juliusz Chroboczek 4d79d10d6e Reimplement http.FileServer.
http.FileServer is inflexible, it is better to reimplement it
rather than trying to work around its limitations.
2020-09-18 13:40:37 +02:00
Juliusz Chroboczek 6d3932b491 Move webserver into its own package. 2020-09-18 13:11:21 +02:00
Juliusz Chroboczek 211845564e Increase the saved chat history. 2020-09-18 11:48:21 +02:00
Juliusz Chroboczek f8ae908d7a Implement message for locked groups. 2020-09-18 11:40:00 +02:00
Juliusz Chroboczek e824b93584 Improve error handling in ServerConnection.connect. 2020-09-18 11:28:13 +02:00
Juliusz Chroboczek b2f01a528e Fix URL in ServerConnection.connect. 2020-09-18 11:24:33 +02:00
Juliusz Chroboczek 5a4db62873 Call context cancel function after shutdown.
Keeps go vet from complaining.
2020-09-18 10:36:05 +02:00
Juliusz Chroboczek 2347417f83 Merge branch 'modular' into master 2020-09-18 10:33:17 +02:00
Juliusz Chroboczek 709a6857d3 Update .gitignore. 2020-09-18 10:31:42 +02:00
Juliusz Chroboczek 6f5ae12f14 Move RTP-specific code into its own package. 2020-09-18 10:28:05 +02:00
Juliusz Chroboczek 98245cbd24 Draw recorder ids randomly. 2020-09-18 10:26:00 +02:00
Juliusz Chroboczek 7ce61a1100 Move stats code into its own module.
Move RTP-specific code into its own file.
2020-09-18 10:26:00 +02:00
Juliusz Chroboczek 714a0939d6 Fix formatting of /me. 2020-09-16 01:47:36 +02:00
Juliusz Chroboczek 77179c3db9 Allow usernames with spaces.
This requires a proper parser for commands.
2020-09-16 01:42:39 +02:00
Juliusz Chroboczek 1672f13230 Don't login automatically.
Users find it confusing, especially when the browser disables autoplay.
2020-09-16 01:02:46 +02:00
Antonin Décimo 5ad4df5a45 Add missing semicolons. 2020-09-14 17:23:06 +02:00
Antonin Décimo c6d065aa20 Println doesn't support formats. 2020-09-14 17:22:22 +02:00
Juliusz Chroboczek aa3e094f65 Fix checkbox for activity detection, increase interval to 200ms. 2020-09-14 17:15:44 +02:00
Juliusz Chroboczek 813d89b60d Move disk writer to its own package. 2020-09-13 20:51:18 +02:00
Juliusz Chroboczek c608723394 Move group and client to their own package. 2020-09-13 20:51:15 +02:00