Juliusz Chroboczek
b9c1968b48
Treat closing unknown streams as a warning.
2021-07-16 23:10:13 +02:00
Juliusz Chroboczek
7b4fd8932c
Fix title display.
2021-07-16 23:03:36 +02:00
Juliusz Chroboczek
4a5796b925
Update CHANGES.
2021-07-16 20:06:41 +02:00
Juliusz Chroboczek
eedfaccaff
Add locked and displayName to public-groups.json.
2021-07-16 20:01:54 +02:00
Juliusz Chroboczek
52a26327d7
Implement group status.
...
We now inform clients of the status of a group (locked, etc.). Also
cleans up the handling of administrative messages, which solves the
issue of receiving "user" before "joined".
2021-07-16 19:51:54 +02:00
Juliusz Chroboczek
d78a750b8d
Tweak CHANGES.
2021-07-16 14:41:33 +02:00
Juliusz Chroboczek
6ae79f21d6
Use unbounded buffer for track actions.
...
Without that, we might deadlock if the reader is blocked in read.
2021-07-16 03:03:45 +02:00
Juliusz Chroboczek
0d2ca28ae1
Close camera on disconnect.
2021-07-16 01:40:42 +02:00
Juliusz Chroboczek
c540cad994
Move pushClientConnection into its own function.
2021-07-16 01:40:42 +02:00
Juliusz Chroboczek
24df0a8c77
Update CHANGES.
2021-07-15 23:52:03 +02:00
Juliusz Chroboczek
053067548a
Ensure that replaced down tracks are closed even on failure.
...
Thanks to Ludovic Rateau.
2021-07-15 23:52:03 +02:00
Juliusz Chroboczek
9b8d868647
Fix a race between delUpConn and addLocal.
...
We could call addLocal after the remote was closed, which
would cause the local connection to remain forever.
Thanks to Ludovic Rateau.
2021-07-15 16:03:06 +02:00
Juliusz Chroboczek
3d2089f40f
Merge GetRTP and Nack into GetPacket.
...
The two function were always called together. This factors out
the NACKing logic into the track.
2021-07-14 14:22:22 +02:00
Juliusz Chroboczek
36d31f0db8
Maintain a reference to the connection associated to each track.
...
This avoids carrying an extra parameter in many places.
2021-07-14 14:05:23 +02:00
Juliusz Chroboczek
bcd62f190b
Flush buffered packets in diskwriter at shutdown.
2021-07-11 23:22:46 +02:00
Juliusz Chroboczek
b0c39fca22
Implement loss handling in diskwriter.
2021-07-11 23:09:19 +02:00
Juliusz Chroboczek
39d8cf72fe
Define a type maybeUint32 and use it in diskwriter.
2021-07-11 22:44:50 +02:00
Juliusz Chroboczek
eec6c8a5b0
Use a partition tail checker in the diskwriter.
...
Now that we have our own samplebuilder, we can use the mark bit
to avoid dropping packets before a dropped packet.
2021-07-11 21:01:10 +02:00
Juliusz Chroboczek
e840e53ac2
Switch to our own samplebuilder.
...
Pion's samplebuilder has been broken for over a month now, switch
to our own.
2021-07-11 20:18:44 +02:00
Juliusz Chroboczek
cfe66a5c39
Update dependencies.
2021-07-11 20:15:00 +02:00
Juliusz Chroboczek
3398e929e3
Tweaks to README.
...
Fixes the instructions for compling under Windows.
2021-07-04 15:16:18 +02:00
Juliusz Chroboczek
6143f53ca2
Remove unreachable code.
2021-06-20 18:40:01 +02:00
Antonin Décimo
f89270e874
Fix typos.
2021-06-09 15:20:17 +02:00
Juliusz Chroboczek
de78f3ce62
Map entries before the first in packetmap.
...
The first time we drop, we may already have mapped a number of
packets with the identity mapping. Insert an identity mapping
in Drop.
Also extend any existing mapping when inserting out-of-order mappings.
2021-05-18 13:51:20 +02:00
Juliusz Chroboczek
c86f55c3a8
Fix comparisons of seqno in packetmap.
2021-05-17 22:26:59 +02:00
Juliusz Chroboczek
f3b73263c8
Fix handling of NACKed packets when dropping.
...
We were not rewriting in this case.
2021-05-17 20:06:08 +02:00
Juliusz Chroboczek
22585e9d10
Handle spatial scalability.
...
Maintain spatial layer information, and drop lower layers when
possible. Yields a 20% saving with VP9.
2021-05-17 18:17:43 +02:00
Juliusz Chroboczek
781bdf8c74
Fix error handling in mainpage and stats.
2021-05-17 14:43:57 +02:00
Juliusz Chroboczek
91fa693709
Display max layer in stats.
2021-05-17 13:51:29 +02:00
Juliusz Chroboczek
fd76abb61d
Send up actions synchronously.
2021-05-17 03:54:58 +02:00
Juliusz Chroboczek
c00a21995e
Move PLI rate-limiting into the reader loop.
2021-05-17 03:54:20 +02:00
Juliusz Chroboczek
7665067a91
Rate-limit keyframe requests in disk writer.
...
We were requesting two keyframes in a row.
2021-05-17 03:10:00 +02:00
Juliusz Chroboczek
d94e5583cd
Rewrite AV1 keyframe detection.
...
Metadata OBUs can appear between the sequence header and the first
frame header.
2021-05-16 14:51:09 +02:00
Juliusz Chroboczek
4435a30a53
Use sequence parameter sets for h.264 keyframe detection.
...
RFC 6184 Section 8.5.1 implies that the sender will send a
a sequence parameter set in response to PLI. Since a keyframe is
useless without parameters, use the SPS to detect keyframes.
2021-05-15 23:50:32 +02:00
Juliusz Chroboczek
f829da67e5
Update CHANGES.
2021-05-15 20:15:34 +02:00
Juliusz Chroboczek
3e00bb4293
AV1 support.
2021-05-15 19:54:07 +02:00
Juliusz Chroboczek
25b70bb72a
Remove debugging statement.
2021-05-15 16:08:46 +02:00
Juliusz Chroboczek
7009f7e4e7
Update CHANGES.
2021-05-15 11:49:23 +02:00
Juliusz Chroboczek
f12f776e03
Hide simulcast form when not allowed to send.
2021-05-15 11:36:04 +02:00
Juliusz Chroboczek
c0da658b9f
Send sender report more often.
...
Now that we start at 200kbps, we need to increase our rate faster.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
54cd546120
Request low-resolution video when the video is small.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
2da8faa8cf
Implement per-stream requests.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
515c4a5cd0
Rename pushConns to requestConns, move into Client interface.
...
Also allow selecting just a single connection.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
435f46c520
Add tests for codec manipulation and rtpconn data stuctures.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
6f9d7fc306
Scalable video coding (SVC).
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
7590588a54
Don't renegotiate if nothing changed during a request.
2021-05-14 18:19:44 +02:00
Juliusz Chroboczek
16bf4d6c95
Move call the setViewportHeight to start function.
...
This avoids issues with initialisation order.
2021-05-14 18:04:18 +02:00
Juliusz Chroboczek
3f3b245926
Fix profile-id for VP9.
2021-05-13 12:59:47 +02:00
Juliusz Chroboczek
c18ec32c85
Protect against closed streams in recomputeUserStreams.
2021-05-13 04:09:56 +02:00
Juliusz Chroboczek
d236f4c6df
Work around empty track id and msid.
2021-05-13 03:45:32 +02:00