1
Fork 0
Commit Graph

25 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 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 e07a98e355 Deal with reordered keyframes. 2020-10-08 17:58: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 e2d89c7c17 Merge packet list and window into cache. 2020-04-29 11:11:07 +02:00