DisCatSharp
DisCatSharp copied to clipboard
VoiceNext stopped working due to change in protocol
Summary
VoiceNext cannot receive messages
Reproduction Steps
[2024-06-10 16:42:45 +02:00] [303 /VoiceReceive] [Error] Exception occurred when decoding incoming audio data
System.ArgumentOutOfRangeException: CurrentSequenceWrapState was out of range
at DisCatSharp.VoiceNext.Entities.AudioSender.GetTrueSequenceAfterWrapping(UInt16 originalSequence) in C:\work\Vocairos\DisCatSharp\DisCatSharp.VoiceNext\Entities\AudioSender.cs:line 141
at DisCatSharp.VoiceNext.VoiceNextConnection.ProcessPacket(ReadOnlySpan`1 data, Memory`1& opus, Memory`1& pcm, List`1 pcmPackets, AudioSender& voiceSender, AudioFormat& outputFormat) in C:\work\Vocairos\DisCatSharp\DisCatSharp.VoiceNext\VoiceNextConnection.cs:line 694
at DisCatSharp.VoiceNext.VoiceNextConnection.ProcessVoicePacket(Byte[] data) in C:\work\Vocairos\DisCatSharp\DisCatSharp.VoiceNext\VoiceNextConnection.cs:line 804
Minimal Reproducible Code
guild = await disc.GetGuildAsync(serverId);
var channels = await guild.GetChannelsAsync();
voiceChannel = channels.First(x => x.Id == voiceChannelId);
var voiceNext = disc.GetVoiceNext();
audioConn = await voiceNext.ConnectAsync(voiceChannel);
audioConn.UserJoined += (conn, args) =>
{
Console.WriteLine($"User {args.User.Username} joined");
return Task.CompletedTask;
};
audioConn.UserSpeaking += (conn, args) =>
{
Console.WriteLine($"User {args.User.Username} speaking");
return Task.CompletedTask;
};
audioConn.VoiceReceived += (conn, args) =>
{
};
Expected Results
In the past identical code worked
Actual Results
Exception occurs
System Information
Not relevant, windows 11
Checklist
- [X] I have searched the open issues for duplicates.
- [X] I have shown the entire traceback, if possible.
- [X] I have removed my token from display, if visible.
Additional Context
No response