1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-12-27 17:55:47 +01:00
Commit graph

32 commits

Author SHA1 Message Date
Juliusz Chroboczek
9093339b62 Rework handling of buffered keyframes.
Instead of buffering the last keyframe, we merely keep track of its
seqno, and use the main cache for recovering.  We also send the whole
sequence of packets rather than just the keyframe itself.
2021-08-04 02:58:24 +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
d0ef6a2c0f Fix loss accounting for multiple packets. 2021-04-28 00:07:19 +02:00
Juliusz Chroboczek
a3630b17ce Add unit tests for packetcache statistics. 2021-04-27 14:54:19 +02:00
Juliusz Chroboczek
f0cf9ae141 Fix loss statistics on NACK.
Since we don't use a separate RTX SSID, we must explicitly account for
NACKed packets in our loss statistics.
2021-04-27 12:18:43 +02:00
Louis Gesbert
9533c20886 Fix index out of range in packetcache 2021-04-15 11:34:01 +02:00
Juliusz Chroboczek
4fde2c40e6 Run gofmt. 2020-12-19 17:38:47 +01:00
Juliusz Chroboczek
120bfc92c7 Upgrade pion/rtcp, use nack.Range instead of PacketList. 2020-12-03 23:46:19 +01:00
Juliusz Chroboczek
9f6e23aaf3 Implement ToBitmap. 2020-10-12 14:43:28 +02:00
Juliusz Chroboczek
962c675ded Packetcache: implement KeyframeSeqno and Get(nil). 2020-10-12 12:14:19 +02:00
Juliusz Chroboczek
a189e0ad46 Implement packetcache.Last. 2020-10-11 22:08:03 +02:00
Juliusz Chroboczek
e6bf9338dd Document packetcache. 2020-10-08 18:46:52 +02:00
Juliusz Chroboczek
e07a98e355 Deal with reordered keyframes. 2020-10-08 17:58:58 +02:00
Juliusz Chroboczek
86f7594626 Discard old keyframes.
Avoids seqno wraparound.  Unlikely, but I'm supersticious.
2020-10-06 05:02:58 +02:00
Juliusz Chroboczek
44ae9f82d3 Remodularise packet cache. 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
bbd5ce0c75 Remove dead code (cache.GetLast). 2020-10-03 13:15:30 +02:00
Juliusz Chroboczek
94c42ea784 Be more aggressive about growing the packet cache.
Also add a test.
2020-06-09 17:17:21 +02:00
Juliusz Chroboczek
0f96f94417 Implement packetcache.GetLast. 2020-06-08 21:55:38 +02:00
Juliusz Chroboczek
b00d2abacf Implement packetcache resizing. 2020-06-04 00:36:01 +02:00
Juliusz Chroboczek
e373054f7e Use bytes.Equal in packetcache_test.go. 2020-06-03 11:11:25 +02:00
Juliusz Chroboczek
b7a680671d Remove padding in packetcache.
Since the packet entries are already overdimensioned, there's no
need to add additional padding.
2020-06-03 02:45:34 +02:00
Juliusz Chroboczek
d723d20ee6 Add packetcache benchmarks. 2020-06-03 02:36:23 +02:00
Juliusz Chroboczek
a6b09c9150 Implement packagecache.GetAt. 2020-05-20 23:41:29 +02:00
Juliusz Chroboczek
f641e263f1 Make packetcache.Get use a caller-allocated buffer. 2020-05-20 20:32:30 +02:00
Juliusz Chroboczek
a6ff98a313 Make packet cache cache-friendly. 2020-05-20 19:36:33 +02:00
Juliusz Chroboczek
92de141b97 Rework sending of NACKs. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek
5715182978 Fix TotalLost value in receiver reports. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek
100f72e76c Don't count NACK recovery as properly received packets. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek
b042bed9a3 Maintain reception statistics, send receiver reports. 2020-04-29 13:27:51 +02:00
Juliusz Chroboczek
e2d89c7c17 Merge packet list and window into cache. 2020-04-29 11:11:07 +02:00