1
Fork 0
Commit Graph

692 Commits

Author SHA1 Message Date
Juliusz Chroboczek 4911b7ad38 Buffer local ICE candidates.
Apparently, it is possible for an ICE candidate to be generated
before onnegotiationneeded triggers.  Avoid losing a candidate
in that case.
2020-10-30 00:35:36 +01:00
Alain Takoudjou 358cdd918d make video control buttons more visible 2020-10-29 09:55:32 +01:00
Juliusz Chroboczek 56641b8d84 Allow 1s slack for long time display. 2020-10-28 18:00:48 +01:00
Alain Takoudjou 5a526c24f6 sfu.js: fix display message time in chat box 2020-10-28 16:58:14 +01:00
Alain Takoudjou 2388dfd351 allow to disable camera on videoElement 2020-10-28 16:58:14 +01:00
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