1
Fork 0
Commit Graph

23 Commits

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