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
Juliusz Chroboczek
5ad0244267
Allow the loss-based congestion controller to yield higher values.
2021-05-12 17:06:26 +02:00
Juliusz Chroboczek
0205695bd7
Fix disk writer when doing simulcast.
2021-05-12 16:39:46 +02:00
Juliusz Chroboczek
1130295e0b
Use strings.EqualFold for comparing codec names.
2021-05-12 16:18:23 +02:00
Juliusz Chroboczek
1212c7cb04
Run Firefox workaround unconditionally.
2021-05-12 02:59:12 +02:00
Juliusz Chroboczek
c53cc20d26
Use Write instead of WriteRTP in the downTrack interface.
2021-05-11 23:48:17 +02:00
Juliusz Chroboczek
b09dba0e26
Remove FIR sending code.
...
We no longer send FIRs.
2021-05-11 23:46:57 +02:00
Juliusz Chroboczek
d3f53e6ada
Move rate estimation into rtpDownTrack.WriteRTP.
2021-05-11 22:45:33 +02:00
Juliusz Chroboczek
c52e1f4ce0
Move keyframe handling to the sender side.
...
This is simpler and gets rid of ErrKeyframeNeeded.
2021-05-11 22:36:56 +02:00
Juliusz Chroboczek
b2ea8e8533
Move isKeyframe into its own file.
2021-05-11 19:59:24 +02:00
Juliusz Chroboczek
6278333a9a
Tweak README.
2021-05-10 23:24:18 +02:00
Juliusz Chroboczek
26bf8a341a
Don't send client parameters in delete message.
...
This avoids a race condition since the delete messages are sent
asynchronously.
2021-05-10 16:58:28 +02:00
Juliusz Chroboczek
485b0c1b85
Disable simulcast on Firefox.
2021-05-10 02:53:22 +02:00
Juliusz Chroboczek
be4ae56c14
Fix changing filter for a running stream.
2021-05-09 18:59:46 +02:00
Juliusz Chroboczek
627061f0de
Rework statistics page.
2021-05-09 18:46:10 +02:00
Juliusz Chroboczek
32663dbf3f
Don't enable simulcast when there are just two users.
...
If simulcast is set to auto, disable simulcast when there are just
two users in the group.
2021-05-09 17:49:35 +02:00
Juliusz Chroboczek
2f44961589
Add UI for simulcast control.
2021-05-08 21:25:22 +02:00
Juliusz Chroboczek
795a40ceaf
Simulcast.
2021-05-08 21:12:29 +02:00
Juliusz Chroboczek
f1a15f07db
Factor out stream creation, implement replaceUpStream.
...
This avoids code duplication in the various addUpMedia functions,
and makes it possible to replace a stream without reopening the
stream's source. This will be required in order to change the
simulcast envelope.
2021-05-08 18:52:36 +02:00
Juliusz Chroboczek
ed88a7a4b5
Fix typo in REMB sending.
2021-05-08 18:51:15 +02:00
Juliusz Chroboczek
e24488ac62
Fix broken test.
2021-05-08 16:09:22 +02:00