Juliusz Chroboczek
00fbfafeeb
Make unbounded channels explicit.
...
We used to have unbounded channels embedded within rtpconn
and webClient. Make the structure explicit and testable.
2023-12-09 17:27:38 +01:00
Juliusz Chroboczek
89780b866b
Move packet parsing code into its own package.
2021-07-29 21:30:39 +02:00
Juliusz Chroboczek
6388f16e87
Fix typos in infinite action stream implementation.
...
This fixes issues introduced in commit 6ae79f.
2021-07-17 00:05:55 +02:00
Juliusz Chroboczek
6ae79f21d6
Use unbounded buffer for track actions.
...
Without that, we might deadlock if the reader is blocked in read.
2021-07-16 03:03:45 +02:00
Juliusz Chroboczek
36d31f0db8
Maintain a reference to the connection associated to each track.
...
This avoids carrying an extra parameter in many places.
2021-07-14 14:05:23 +02:00
Juliusz Chroboczek
c00a21995e
Move PLI rate-limiting into the reader loop.
2021-05-17 03:54:20 +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
795a40ceaf
Simulcast.
2021-05-08 21:12:29 +02:00
Juliusz Chroboczek
80cb0a2f30
Simplify VP9 keyframe detection.
2021-01-03 20:55:35 +01:00
Juliusz Chroboczek
e88942c9a9
Reduce the NACK delay.
...
We bound the NACK delay to 2 packets, which is what TCP does.
Thus, reducing the delay should be safe.
2020-12-26 22:09:26 +01:00
Juliusz Chroboczek
5d38b0a231
Allow various codecs.
...
It is now possible to specify codecs other than VP8 and Opus. This
turns out not to be very useful, since VP8 is the only codec supported
by all browsers (in violation of the WebRTC spec, which mandates support
for H.264), and there is no good reason to use anything other than Opus
for audio.
2020-12-26 19:46:37 +01:00
Juliusz Chroboczek
cc35931ad1
Make isKeyframe codec-agnostic.
2020-12-25 16:40:38 +01:00
Juliusz Chroboczek
4c07953ee0
Update dependencies.
2020-12-19 19:03:14 +01:00
Juliusz Chroboczek
325f288189
Move to github.
2020-12-19 17:37:48 +01:00
Juliusz Chroboczek
ef1c211b7f
SFU is now called Galène.
2020-12-06 19:51:02 +01:00
Juliusz Chroboczek
2d07c5d317
Move to Pion v3 API.
2020-12-06 11:15:59 +01:00
Juliusz Chroboczek
c8de6620a7
Send non-trivial bitmaps during NACK forwarding.
2020-10-12 16:18:57 +02:00
Juliusz Chroboczek
e07a98e355
Deal with reordered keyframes.
2020-10-08 17:58:58 +02:00
Juliusz Chroboczek
a233f10b0b
Make NACK threshold depend on the average packet rate.
2020-10-04 21:08:34 +02:00
Juliusz Chroboczek
4a8e48d146
Take next packet index into account when sending NACKs.
...
This avoids sending NACKs for packets in the future.
2020-10-04 16:07:23 +02:00
Juliusz Chroboczek
a50e9c6771
Buffer last keyframe.
2020-10-03 16:18:28 +02:00
Juliusz Chroboczek
28b7c6d54d
Move RTP writer to separate file.
2020-10-03 12:58:01 +02:00