diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-10-11 21:46:17 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-10-11 21:46:17 +0200 |
| commit | 5f27ead2214950e43ccc729c6dd9d6b92c8cc14a (patch) | |
| tree | f409ce3d0458cbbdd54ac595f89901e8edbf5865 | |
| parent | c419e30e32aa2e0b9810f2d69ebd8caedc962a66 (diff) | |
| download | mum-5f27ead2214950e43ccc729c6dd9d6b92c8cc14a.tar.gz | |
Changed so code is more robust with a cheeky hack
| -rw-r--r-- | mumd/src/audio.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mumd/src/audio.rs b/mumd/src/audio.rs index 8b8a08e..7fe45e2 100644 --- a/mumd/src/audio.rs +++ b/mumd/src/audio.rs @@ -195,10 +195,14 @@ impl ClientStream { fn decode_packet(&mut self, payload: VoicePacketPayload, channels: usize) { match payload { VoicePacketPayload::Opus(bytes, _eot) => { - let mut out: Vec<f32> = vec![0.0; bytes.len() * channels * 4]; - self.opus_decoder - .decode_float(&bytes, &mut out, false) + let mut out: Vec<f32> = vec![0.0; bytes.len() * channels * 4 + 1000]; + if bytes.len() != 120 { + println!("{}", bytes.len()); + } + let parsed = self.opus_decoder + .decode_float(&bytes, &mut out, true) .expect("error decoding"); //FIXME sometimes panics here + out.truncate(parsed); self.buffer.extend(out); } _ => { |
