1
Fork 0
Commit Graph

487 Commits

Author SHA1 Message Date
Alain Takoudjou 2e0b195964 fix resizing when we have only 2 videos 2020-10-28 16:58:14 +01:00
Alain Takoudjou 31deef47f5 fix video resizing, add a button to close chat 2020-10-28 16:58:14 +01:00
Alain Takoudjou fc152d4377 allow to hide chat, improve settings bar and others 2020-10-28 16:58:14 +01:00
Alain Takoudjou fa694e67bf improve html interface, add custom controls for video 2020-10-28 16:58:14 +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 0c8df661b2 Don't drop first frame when recording to disk. 2020-10-12 16:18:57 +02:00
Juliusz Chroboczek c8de6620a7 Send non-trivial bitmaps during NACK forwarding. 2020-10-12 16:18:57 +02:00
Juliusz Chroboczek 9f6e23aaf3 Implement ToBitmap. 2020-10-12 14:43:28 +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 962c675ded Packetcache: implement KeyframeSeqno and Get(nil). 2020-10-12 12:14:19 +02:00
Juliusz Chroboczek 2a516674f2 Request a keyframe every 10s when saving to disk. 2020-10-11 22:56:15 +02:00
Juliusz Chroboczek 5e845eb493 Send FIR if initial keyframe is too old. 2020-10-11 22:56:15 +02:00
Juliusz Chroboczek a189e0ad46 Implement packetcache.Last. 2020-10-11 22:08:03 +02:00
Juliusz Chroboczek e6bf9338dd Document packetcache. 2020-10-08 18:46:52 +02:00
Juliusz Chroboczek e07a98e355 Deal with reordered keyframes. 2020-10-08 17:58:58 +02:00
Juliusz Chroboczek 69540e23af Allow anonymous users to chat. 2020-10-08 15:19:29 +02:00
Juliusz Chroboczek 2b4372ad87 Sort usernames case-insensitively in user interface. 2020-10-08 15:11:52 +02:00
Juliusz Chroboczek 90ba4814c8 Discard old history entries. 2020-10-08 14:41:33 +02:00
Juliusz Chroboczek 865848c7bc Sort files in web interface. 2020-10-08 13:32:50 +02:00
Juliusz Chroboczek 31efabbefc Disable mDNS gathering by default. 2020-10-06 06:08:29 +02:00
Juliusz Chroboczek 86f7594626 Discard old keyframes.
Avoids seqno wraparound.  Unlikely, but I'm supersticious.
2020-10-06 05:02:58 +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 aa65164edd Update dependencies to beta.7.
This fixes corruption of the first keyframe of every stream.
2020-10-06 04:18:46 +02:00
Juliusz Chroboczek 179b57a986 Display destination in private messages. 2020-10-05 20:48:44 +02:00
Juliusz Chroboczek bda58b42c6 Rename disk to diskwriter. 2020-10-04 21:08:34 +02:00
Juliusz Chroboczek 44ae9f82d3 Remodularise packet cache. 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 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