1
Fork 0
Commit Graph

759 Commits

Author SHA1 Message Date
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
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