1
Fork 0
Commit Graph

48 Commits

Author SHA1 Message Date
Juliusz Chroboczek 92de141b97 Rework sending of NACKs. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 4dd245712f Include jitter and delay in receiver reports. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 7961d7279b Move monotonic time to separate package, use microseconds. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 5715182978 Fix TotalLost value in receiver reports. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 100f72e76c Don't count NACK recovery as properly received packets. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek a74e4f68b5 Don't honour NACKs if we're congested. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 5a1ef1ddd7 Use a proper accessor for timestampedByterate. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 8fa68f9605 Remove track muting. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 5dd27e5067 Implement rate estimation. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek 10526d474e Add command /clear. 2020-04-30 19:13:32 +02:00
Juliusz Chroboczek f1deb84576 Increase the size of the NACK cache. 2020-04-30 19:13:32 +02:00
Juliusz Chroboczek 4996cf6931 Don't log unknown RTCP. 2020-04-30 19:13:32 +02:00
Juliusz Chroboczek 4173d6170e Ignore PLI and NACK for muted tracks. 2020-04-30 19:13:32 +02:00
Juliusz Chroboczek 6ba5315a48 Don't mute clients unless they are suffering packet loss.
Otherwise we never recover from low throughput.
2020-04-29 18:49:09 +02:00
Juliusz Chroboczek 17941fa96d Parse receiver reports, save loss rate. 2020-04-29 16:03:54 +02:00
Juliusz Chroboczek b042bed9a3 Maintain reception statistics, send receiver reports. 2020-04-29 13:27:51 +02:00
Juliusz Chroboczek e2d89c7c17 Merge packet list and window into cache. 2020-04-29 11:11:07 +02:00
Juliusz Chroboczek a813cc9ce4 Split out sending loop into a separate function. 2020-04-29 02:00:40 +02:00
Juliusz Chroboczek 81dfabbe50 Implement sending NACKs on the upstream connection. 2020-04-28 23:45:19 +02:00
Juliusz Chroboczek e5dae16da1 Rate-limit PLI. 2020-04-28 23:45:19 +02:00
Juliusz Chroboczek bfeeeb4bcd Handle NACKs arriving on down connections. 2020-04-28 23:45:19 +02:00
Juliusz Chroboczek d84604832d Don't complain on ErrClosedPipe. 2020-04-28 20:13:03 +02:00
Juliusz Chroboczek 151f37c062 Pass a track to the RTCP listener. 2020-04-28 20:13:03 +02:00
Juliusz Chroboczek d9a7f3d6c0 Avoid reallocating the list of local tracks at each packet. 2020-04-28 20:13:03 +02:00
Juliusz Chroboczek 87f70c4345 Mute clients when bitrate is too low. 2020-04-28 20:13:03 +02:00
Juliusz Chroboczek 1de42bd80e Kill obsolete function. 2020-04-28 15:07:58 +02:00
Juliusz Chroboczek 038ab46d2b Use a separate track for each down connection. 2020-04-28 14:54:50 +02:00
Juliusz Chroboczek 9c9748b888 Unmarshal RTP directly instead of using helper functions.
This avoids allocating a new header each time.
2020-04-28 14:52:36 +02:00
Juliusz Chroboczek 015699a9cd Gofmt. 2020-04-27 03:08:03 +02:00
Juliusz Chroboczek e19d704a0a Format error messages on the client side. 2020-04-26 19:15:02 +02:00
Juliusz Chroboczek c441b49d26 Send rate updates over RTCP. 2020-04-26 03:03:39 +02:00
Juliusz Chroboczek 98034c0f6f Rename streamCount to trackCount. 2020-04-26 00:39:07 +02:00
Juliusz Chroboczek 78d3b7ab40 Simplify sendPLI.
We use identical SSRC values on both sides, no need to map.
2020-04-26 00:25:22 +02:00
Juliusz Chroboczek c86b1c87d5 Add timeout for initial handshake. 2020-04-25 22:49:07 +02:00
Juliusz Chroboczek b201c3d93c Implement ping/pong exchanges and client timeouts. 2020-04-25 22:44:24 +02:00
Juliusz Chroboczek 4ea4e7c0eb Implement chat history. 2020-04-25 21:19:11 +02:00
Juliusz Chroboczek 1d90f44315 Kill Message field in clientMessage.
Having both Message and Value is confusing.
2020-04-25 20:49:21 +02:00
Juliusz Chroboczek 695cbad31c Make clientMessage.me a plain boolean. 2020-04-25 20:30:33 +02:00
Juliusz Chroboczek 78003fdc7d Disallow usernames with spaces. 2020-04-25 20:15:47 +02:00
Juliusz Chroboczek 563545bd13 Fix error handling at connection start. 2020-04-25 19:58:54 +02:00
Juliusz Chroboczek caa2264390 Close up connections when presenter permission lost. 2020-04-25 18:35:32 +02:00
Juliusz Chroboczek 3ea63c394c Implement abort message in the downstream direction.
This is not quite correct, we're sending a spurious close.
2020-04-25 18:29:44 +02:00
Juliusz Chroboczek 8bfdc2b040 Display username, rename admin to op. 2020-04-25 18:10:37 +02:00
Juliusz Chroboczek 25825e5b22 Implement kick, op and friends. 2020-04-25 17:36:35 +02:00
Juliusz Chroboczek 38e3260e77 Fix typo in bitrate setting. 2020-04-25 15:42:36 +02:00
Juliusz Chroboczek 2890d21c98 Add group permissions. 2020-04-25 14:34:47 +02:00
Juliusz Chroboczek cb1782b6b2 Allow server to push error message to client. 2020-04-25 02:41:16 +02:00
Juliusz Chroboczek f5a518a448 Initial commit. 2020-04-25 01:06:57 +02:00