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
Juliusz Chroboczek
cd1ac8a8c9
Document rtptime.
2021-04-30 12:57:03 +02:00
Juliusz Chroboczek
6c752b58bc
Update dependencies.
2021-04-29 23:05:11 +02:00
Juliusz Chroboczek
99026c0e48
Implement option -udp-range.
2021-04-29 23:05:11 +02:00
Juliusz Chroboczek
cd6920d7e2
Allow group.API() to fail.
2021-04-29 21:10:04 +02:00
Juliusz Chroboczek
acca3f9bb3
Maintain kinds of tracks in user data structure.
...
Needed to show in the user list whether a user is publishing a stream.
2021-04-29 21:10:04 +02:00
Juliusz Chroboczek
4a6dccff0c
Set track parameters at creation time.
...
We now create a sendonly transceiver, and set the max bitrate at
creation time.
2021-04-29 18:28:17 +02:00
Juliusz Chroboczek
be73380f9f
Label streams, not tracks.
...
We used to label tracks individually, in a view to using the labelling
for simulcast. Since then, the WebRTC community has converged on a
different strategy, where multiple tracks share a single mid and
are labelled with the rid extension.
We now label whole streams, which is simpler, and use the track's
kind (and, in the future, the rid) to disambiguate. This changes the
protocol in two ways:
* in offers, the "labels" dictionary is replaced by a single "label"
field; and
* the syntax of the "request" message has changed.
2021-04-29 18:28:16 +02:00
Alain Takoudjou
b08a2e3943
Add Unshare button on each shared video and remove global unshare screen button
2021-04-29 18:24:07 +02:00
Juliusz Chroboczek
3ba2394be7
Implement user statuses.
...
The server now maintains a set of statuses for each user that are not
interpreted by the server but communicated to the other members of the
group using 'user' messages.
2021-04-28 17:01:05 +02:00