diff --git a/src/voice/audio.rs b/src/voice/audio.rs index 2e155907419..c556c8be260 100644 --- a/src/voice/audio.rs +++ b/src/voice/audio.rs @@ -6,7 +6,6 @@ use std::{ pub const HEADER_LEN: usize = 12; pub const SAMPLE_RATE: u32 = 48_000; -pub static SILENT_FRAME: [u8; 3] = [0xf8, 0xff, 0xfe]; /// A readable audio source. pub trait AudioSource: Send { diff --git a/src/voice/connection.rs b/src/voice/connection.rs index 54d91163dfa..d1472d5e667 100644 --- a/src/voice/connection.rs +++ b/src/voice/connection.rs @@ -45,7 +45,7 @@ use std::{ }, time::Duration }; -use super::audio::{AudioReceiver, AudioType, LockedAudio, HEADER_LEN, SAMPLE_RATE, SILENT_FRAME}; +use super::audio::{AudioReceiver, AudioType, HEADER_LEN, SAMPLE_RATE, LockedAudio}; use super::connection_info::ConnectionInfo; use super::{payload, VoiceError, CRYPTO_MODE}; use websocket::{ @@ -200,8 +200,7 @@ impl Connection { keepalive_timer: Timer::new(temp_heartbeat), udp, sequence: 0, - // We need to send some frames to receive any audio. - silence_frames: 100, + silence_frames: 0, soft_clip, speaking: false, ssrc: hello.ssrc, @@ -393,7 +392,7 @@ impl Connection { self.silence_frames -= 1; // Explicit "Silence" frame. - opus_frame.extend_from_slice(&SILENT_FRAME); + opus_frame.extend_from_slice(&[0xf8, 0xff, 0xfe]); } else { // Per official guidelines, send 5x silence BEFORE we stop speaking. self.set_speaking(false)?;