Juliusz Chroboczek
96c3e4f830
Add warning about screen sharing under Safari.
2020-10-31 23:26:56 +01:00
Juliusz Chroboczek
2efb5b3cea
Improve timing of nackWriter.
2020-10-31 23:26:56 +01:00
Juliusz Chroboczek
b46da173e5
Don't log rate limited FIR.
2020-10-31 23:26:56 +01:00
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
Juliusz Chroboczek
56641b8d84
Allow 1s slack for long time display.
2020-10-28 18:00:48 +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