1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-23 00:55:58 +01:00
Commit graph

1113 commits

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