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
Juliusz Chroboczek
65972fabe8
Remove dead code.
2021-05-08 16:03:32 +02:00
Juliusz Chroboczek
8ec0a44c09
Fix controls for down streams.
...
Now that down streams have labels, we need to distinguish on the
stream direction.
2021-05-08 14:19:46 +02:00
Juliusz Chroboczek
ce0571cb7a
Use stop video button on all streamed videos.
...
Delete the stop video button, it is now redundant. Panic remains.
2021-05-08 02:51:52 +02:00
Juliusz Chroboczek
a20741408c
Fix hander for shared screen close button.
2021-05-07 02:44:04 +02:00
Juliusz Chroboczek
86b6c71ca0
Reformat stats display, protect against division by zero.
2021-05-07 02:23:10 +02:00
Juliusz Chroboczek
b1bb427f06
Add human-readable version of stats under /stats.html.
2021-04-30 20:46:44 +02:00
Juliusz Chroboczek
3a6ade988d
Export stats as JSON.
2021-04-30 20:17:10 +02:00
Juliusz Chroboczek
9b1d814b58
Rework packetcache loss statistics.
...
Don't maintain loss, which is too error-prone. Instead, maintain
expected and received packet counts, and compute loss from that.
2021-04-30 16:26:17 +02:00