diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-10-11 22:59:54 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-10-11 22:59:54 +0200 |
| commit | 7273cccdb97cad8ab5b57278dc9020c276c50f20 (patch) | |
| tree | 5aa326767fe5cce76c289ba272246f876454e174 /mumd/src | |
| parent | 5b2bc17a053674fe57f85a99e5dc61d031a553af (diff) | |
| download | mum-7273cccdb97cad8ab5b57278dc9020c276c50f20.tar.gz | |
Fixed client sometimes crashing when receiving compressed packages
Diffstat (limited to 'mumd/src')
| -rw-r--r-- | mumd/src/audio.rs | 9 | ||||
| -rw-r--r-- | mumd/src/network.rs | 2 |
2 files changed, 4 insertions, 7 deletions
diff --git a/mumd/src/audio.rs b/mumd/src/audio.rs index c52de85..eeae4da 100644 --- a/mumd/src/audio.rs +++ b/mumd/src/audio.rs @@ -204,13 +204,10 @@ 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 + 1000]; - if bytes.len() != 120 { - println!("{}", bytes.len()); - } + let mut out: Vec<f32> = vec![0.0; 720 * channels * 4]; //720 is because that is the max size of packet we can get that we want to decode let parsed = self.opus_decoder - .decode_float(&bytes, &mut out, true) - .expect("error decoding"); //FIXME sometimes panics here + .decode_float(&bytes, &mut out, false) + .expect("error decoding"); out.truncate(parsed); self.buffer.extend(out); } diff --git a/mumd/src/network.rs b/mumd/src/network.rs index 875463c..8d9b0a1 100644 --- a/mumd/src/network.rs +++ b/mumd/src/network.rs @@ -155,7 +155,7 @@ async fn listen_tcp( println!("Login rejected: {:?}", msg); } ControlPacket::UserState(msg) => { - println!("Found user {}", msg.get_name()); + println!("Found user {} with id {}", msg.get_name(), msg.get_session()); audio.lock().unwrap().add_client(msg.get_session()); } ControlPacket::UserRemove(msg) => { |
