Enable FEC decoding
This commit is contained in:
@@ -7,7 +7,7 @@ namespace Discord.Audio
|
||||
protected IntPtr _ptr;
|
||||
|
||||
/// <summary> Gets the bit rate of this converter. </summary>
|
||||
public const int BitsPerSample = 16;
|
||||
public const int BitsPerSample = sizeof(short) * 8;
|
||||
/// <summary> Gets the bytes per sample. </summary>
|
||||
public const int SampleSize = (BitsPerSample / 8) * MaxChannels;
|
||||
/// <summary> Gets the maximum amount of channels this encoder supports. </summary>
|
||||
|
||||
@@ -32,11 +32,11 @@ namespace Discord.Audio
|
||||
int result = 0;
|
||||
fixed (byte* inPtr = input)
|
||||
fixed (byte* outPtr = output)
|
||||
result = Decode(_ptr, inPtr + inputOffset, inputCount, outPtr + outputOffset, (output.Length - outputOffset) / SampleSize, 0); //TODO: Enable FEC
|
||||
result = Decode(_ptr, inPtr + inputOffset, inputCount, outPtr + outputOffset, (output.Length - outputOffset) / SampleSize, 1);
|
||||
|
||||
if (result < 0)
|
||||
throw new Exception($"Opus Error: {(OpusError)result}");
|
||||
return result * 4;
|
||||
return result * SampleSize;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Discord.Audio.Streams
|
||||
private readonly byte[] _buffer;
|
||||
private readonly OpusDecoder _decoder;
|
||||
|
||||
public OpusDecodeStream(AudioStream next, int channels = OpusConverter.MaxChannels, int bufferSize = 5760 * 4)
|
||||
public OpusDecodeStream(AudioStream next, int channels = OpusConverter.MaxChannels, int bufferSize = 5760 * 2 * sizeof(short))
|
||||
{
|
||||
_next = next;
|
||||
_buffer = new byte[bufferSize];
|
||||
|
||||
Reference in New Issue
Block a user