Add adaptive packet loss handling
Build and test / test (macos-latest) (push) Canceled after 0s
Build and test / test (ubuntu-24.04) (push) Canceled after 0s
Build and test / test (windows-latest) (push) Canceled after 0s
Build and test / apple-client (push) Canceled after 0s

This commit is contained in:
2026-09-22 16:54:49 +02:00
parent 7c4708c3de
commit 7b0c003ad4
35 changed files with 518 additions and 60 deletions
+20
View File
@@ -120,6 +120,26 @@ public class AudioEngineTests
Assert.True((sent[^1].Flags & VoiceFrameFlags.Marker) != 0);
}
[Fact]
public void AutomaticPacketLossUpdatesOnAudioOwnerAndManualStreamsIgnoreIt()
{
StreamInfo automatic = Stream();
automatic.Audio.PacketLossMode = PacketLossMode.PacketLossAutoBalanced;
using var engine = new AudioEngine((_, _, _, _) => true, false);
engine.AddLocalStream(automatic);
engine.SetExpectedPacketLoss(7);
Assert.Equal(20, engine.GetAppliedExpectedPacketLoss(1));
engine.ProcessCycle();
Assert.Equal(7, engine.GetAppliedExpectedPacketLoss(1));
engine.RemoveLocalStream(1);
engine.ProcessCycle();
engine.AddLocalStream(Stream());
engine.SetExpectedPacketLoss(4);
engine.ProcessCycle();
Assert.Equal(20, engine.GetAppliedExpectedPacketLoss(1));
}
[Theory]
[InlineData(5)] [InlineData(10)] [InlineData(20)] [InlineData(40)] [InlineData(60)]
public void RecoveryLookaheadTracksChannelFrameDuration(int frameMilliseconds)