From 2277595be4d150eb14098ab4d7959213b22e0337 Mon Sep 17 00:00:00 2001 From: Kyle Simpson Date: Mon, 1 Aug 2022 15:54:20 +0100 Subject: [PATCH] Driver: Split receive into its own feature (#141) Adds the "receive" feature, which is disabled by default. When this is disabled, the UDP receive task is not compiled and not run, and as an optimisation the UDP receive buffer size is set to 0. All related events are also removed. This also removes the UDP Tx task, and moves packet and keepalive sends back into the mixer thread. This allows us to entirely remove channels and various allocations between the mixer and an async task created only for sending data (i.e., fewer memcopies). If "receive" is enabled, UDP sends are now non-blocking due to technical constraints -- failure to send is non-fatal, but *will* drop affected packets. Given that blocking on a UDP send indicates that the OS cannot clear send buffers fast enough, this should alleviate OS load. Closes #131. --- ARCHITECTURE.md | 5 +- Cargo.toml | 9 +- README.md | 8 +- benches/mixing-task.rs | 16 ++-- examples/Cargo.toml | 3 + examples/serenity/voice_receive/Cargo.toml | 1 + images/arch.afdesign | Bin 56250 -> 54175 bytes images/driver.png | Bin 170216 -> 156491 bytes images/driver.svg | 14 --- images/gateway.png | Bin 131679 -> 131681 bytes src/config.rs | 22 ++++- src/driver/connection/mod.rs | 41 +++++++-- src/driver/crypto.rs | 4 +- src/driver/mod.rs | 2 + src/driver/tasks/error.rs | 31 ++++--- src/driver/tasks/message/mixer.rs | 9 +- src/driver/tasks/message/mod.rs | 6 +- src/driver/tasks/message/udp_tx.rs | 4 - src/driver/tasks/mixer/mod.rs | 80 +++++++++++++--- src/driver/tasks/mod.rs | 2 +- src/driver/tasks/udp_rx.rs | 6 +- src/driver/tasks/udp_tx.rs | 63 ------------- src/events/context/data/mod.rs | 8 +- src/events/context/internal_data.rs | 102 +++++++++++---------- src/events/context/mod.rs | 20 ++++ src/events/core.rs | 37 ++++++-- src/lib.rs | 12 ++- 27 files changed, 299 insertions(+), 206 deletions(-) delete mode 100644 src/driver/tasks/message/udp_tx.rs delete mode 100644 src/driver/tasks/udp_tx.rs diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index d14ac6e..78855d5 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -35,13 +35,12 @@ Audio processing remains synchronous for the following reasons: Songbird subdivides voice connection handling into several long- and short-lived tasks. * **Core**: Handles and directs commands received from the driver. Responsible for connection/reconnection, and creates network tasks. -* **Mixer**: Combines audio sources together, Opus encodes the result, and encrypts the built packets every 20ms. Responsible for handling track commands/state. ***Synchronous***. +* **Mixer**: Combines audio sources together, Opus encodes the result, and encrypts the built packets every 20ms. Responsible for handling track commands/state, and transmitting completed voice packets and keepalive messages. ***Synchronous***. * **Thread Pool**: A dynamically sized thread-pool for I/O tasks. Creates lazy tracks using `Compose` if sync creation is needed, otherwise spawns a tokio task. Seek operations always go to the thread pool. ***Synchronous***. * **Disposer**: Used by mixer thread to dispose of data with potentially long/blocking `Drop` implementations (i.e., audio sources). ***Synchronous***. * **Events**: Stores and runs event handlers, tracks event timing, and handles * **Websocket**: *Network task.* Sends speaking status updates and keepalives to Discord, and receives client (dis)connect events. -* **UDP Tx**: *Network task.* Responsible for transmitting completed voice packets. -* **UDP Rx**: *Network task.* Decrypts/decodes received voice packets and statistics information. +* **UDP Rx**: *Optional network task.* Decrypts/decodes received voice packets and statistics information. *Note: all tasks are able to message the permanent tasks via a block of interconnecting channels.* diff --git a/Cargo.toml b/Cargo.toml index 3a7629b..f38dabd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ audiopus = { optional = true, version = "0.3.0-rc.0" } byteorder = { optional = true, version = "1" } dashmap = { optional = true, version = "5" } derivative = "2" -discortp = { features = ["discord-full"], optional = true, version = "0.5" } +discortp = { default-features = false, features = ["discord", "pnet", "rtp"], optional = true, version = "0.5" } flume = { optional = true, version = "0.10" } futures = "0.3" once_cell = { optional = true, version = "1" } @@ -32,8 +32,9 @@ rubato = { optional = true, version = "0.12" } rusty_pool = { optional = true, version = "0.7" } serde = { version = "1", features = ["derive"] } serde-aux = { default-features = false, optional = true, version = "3"} -simd-json = { features = ["serde_impl"], optional = true, version = "0.6.0" } serde_json = "1" +simd-json = { features = ["serde_impl"], optional = true, version = "0.6.0" } +socket2 = { optional = true, version = "0.4" } streamcatcher = { optional = true, version = "1" } tokio = { default-features = false, optional = true, version = "1.0" } tokio-tungstenite = { optional = true, version = "0.17" } @@ -110,6 +111,7 @@ driver = [ "dep:rusty_pool", "dep:serde-aux", "dep:serenity-voice-model", + "dep:socket2", "dep:streamcatcher", "dep:symphonia", "dep:symphonia-core", @@ -145,9 +147,10 @@ twilight = ["dep:twilight-gateway","dep:twilight-model"] # Behaviour altering features. builtin-queue = [] +receive = ["discortp?/demux", "discortp?/rtcp"] # Used for docgen/testing/benchmarking. -full-doc = ["default", "twilight", "builtin-queue"] +full-doc = ["default", "twilight", "builtin-queue", "receive"] internals = [] [[bench]] diff --git a/README.md b/README.md index 4ce592b..cb6b230 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,11 @@ The library offers: * A standalone driver for voice calls, via the `"driver"` feature. If you can create a `ConnectionInfo` using any other gateway, or language for your bot, then you can run the songbird voice driver. - * And, by default, a fully featured voice system featuring events, queues, RT(C)P packet - handling, seeking on compatible streams, shared multithreaded audio stream caches, + * Voice receive and RT(C)P packet handling via the `"receive"` feature. + * SIMD-accelerated JSON decoding via the `"simd-json"` feature. + * And, by default, a fully featured voice system featuring events, queues, + seeking on compatible streams, shared multithreaded audio stream caches, and direct Opus data passthrough from DCA files. - * To be able to use `simd-json` from serenity, you will need to enable the `simdjson` - feature on both songbird and serenity. ## Intents Songbird's gateway functionality requires you to specify the `GUILD_VOICE_STATES` intent. diff --git a/benches/mixing-task.rs b/benches/mixing-task.rs index 0368392..d07db40 100644 --- a/benches/mixing-task.rs +++ b/benches/mixing-task.rs @@ -25,7 +25,7 @@ use songbird::{ tracks, Config, }; -use std::io::Cursor; +use std::{io::Cursor, net::UdpSocket}; use tokio::runtime::{Handle, Runtime}; use xsalsa20poly1305::{aead::NewAead, XSalsa20Poly1305 as Cipher, KEY_SIZE}; @@ -41,14 +41,12 @@ fn dummied_mixer( Receiver, Receiver, Receiver, - Receiver, ), ) { let (mix_tx, mix_rx) = flume::unbounded(); let (core_tx, core_rx) = flume::unbounded(); let (event_tx, event_rx) = flume::unbounded(); - let (udp_sender_tx, udp_sender_rx) = flume::unbounded(); let (udp_receiver_tx, udp_receiver_rx) = flume::unbounded(); let ic = Interconnect { @@ -61,18 +59,23 @@ fn dummied_mixer( let mut out = Mixer::new(mix_rx, handle, ic, config); + let udp_tx = UdpSocket::bind("0.0.0.0:0").expect("Failed to create send port."); + udp_tx + .connect("127.0.0.1:5316") + .expect("Failed to connect to local dest port."); + let fake_conn = MixerConnection { cipher: Cipher::new_from_slice(&vec![0u8; KEY_SIZE]).unwrap(), crypto_state: CryptoState::Normal, udp_rx: udp_receiver_tx, - udp_tx: udp_sender_tx, + udp_tx, }; out.conn_active = Some(fake_conn); out.skip_sleep = true; - (out, (core_rx, event_rx, udp_receiver_rx, udp_sender_rx)) + (out, (core_rx, event_rx, udp_receiver_rx)) } fn mixer_float( @@ -85,7 +88,6 @@ fn mixer_float( Receiver, Receiver, Receiver, - Receiver, ), ) { let mut out = dummied_mixer(handle, softclip); @@ -115,7 +117,6 @@ fn mixer_float_drop( Receiver, Receiver, Receiver, - Receiver, ), ) { let mut out = dummied_mixer(handle, true); @@ -143,7 +144,6 @@ fn mixer_opus( Receiver, Receiver, Receiver, - Receiver, ), ) { // should add a single opus-based track. diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 9737722..02ff869 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -6,3 +6,6 @@ members = [ "serenity/voice_receive", "twilight", ] + +[profile.release] +debug = true diff --git a/examples/serenity/voice_receive/Cargo.toml b/examples/serenity/voice_receive/Cargo.toml index c616efb..f0eec66 100644 --- a/examples/serenity/voice_receive/Cargo.toml +++ b/examples/serenity/voice_receive/Cargo.toml @@ -10,6 +10,7 @@ tracing-subscriber = "0.2" tracing-futures = "0.2" [dependencies.songbird] +features = ["receive"] path = "../../../" [dependencies.serenity] diff --git a/images/arch.afdesign b/images/arch.afdesign index 01947cf408317254c8d7645d764360f6dc55abf4..d7ab5a044d7461fffa371e49c09f66958573fbc6 100644 GIT binary patch delta 38223 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 r>#pxBZI4z|iTx*7le@FK-cl;} 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 UgEtymEocFpy07vU8I$; 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 delta 40314 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 ngnCFY(Aidmr76_)_^gTe~DWM4f%n2^* diff --git a/images/driver.png b/images/driver.png index 56dd68bb91c9f83e1f11d3ab0d4f4e8381f2f74e..b06c2c26f551de4f67f31eed3f94082e027e036a 100644 GIT binary patch delta 99098 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 VTX@)e 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%0DE|n1$7S7Fm8&}7%DPqk+=XO3>tB|0>Pm7j{&Rp zw1zqD%#6mz6;)MME5E9!sFav-3n5JhCvCp@?c28{vHk1vF1N5vojP^p%9WFnGBY#l z0|O^+D?5GhZ#BCXYt8-%Kab8Yo%5&4eF^A3`|xnkN~eVGA6Ktl{r>Lm?&9Zuk&%(v zxfv$2_U_#a8oykSJdO0P`b!@28KPomo=&6`_OF4`}t zc>HlmZ*gxwhpB7MpTG7r{K|QO zclY*2hlOoRKQG6&cy8{be;)O5arZzQ4t{)0_EcD+mXVP$VOHPXy|wmS7QTxwo_O#` z+C1;f*|WU7yu94p-Mzg>H!NFrJaJ`2MAqDye7i36+8u23lD@(?U15S4xErxz;Bf&vgfX+~4-qz*cC>lAeARr9CU0R;<5xPUmt!cWU;vixL8{ z4!&OdboBMxXO<`moH)>YG-+aXHG@N7ePCcpN=ijVMMy}9udna!=Vprb_V=%YfVgX5 zc6PS9`tl`9mZ;?l2@5axn|sUF`9DX zJ=ZSx6x;cQ>Cc1QfAanlcj}q=tItweU0qv@I>~=&DcNKF24{ z#IyWe#M;8LEMF#L^M#XcYs7N*c5QoI6dHH=#grx^$KAiq{rPxH)<5DJ>yo?tyKRpc zu`o4$G2OCdOWL_Pmc`F}WR6?P@MT_^JY~w2I|_?(3uOE~Kp^8^Q1?_L$8b^Gt<$zX zt}lwMa@>1l@`MQ+l8$zrxBp*rZB69gsP_WhN7u*g-BtLQt^IK3zg5eYJ=;_Hd71zG zbxW=+v?%|}Z8qCB54@uKp~bu@Q%YW6Tf1O^!pkKIOHGg5Oh2?gp3C-4=I6T^yH?fa z%@<;NSqsVTD!UzO3qA!O6`dN&y)^sA+U522S>h}W%&T=}+qLp-=1qyeb)sq6EcJh1 z!>+C0zR6_j%hStW*T2iXp%QoAy-BHKDP#1a&LhjhyN|H+-g=?`Z{e1W`xakN{4Lvi zY?n`6CilGfxa2L1&iCK^l6`6RF}(zahWfZC|353qGko~}_HJcF$kqSsABxl48B>HK zr}#1ox(e2dA7PCt;`bIjqkDPNol~mCr+;Pc)ZaNRGgYtF*Vo5b+qp0`STH6)fYH%m zf^SN~x8J`XUrKEdWNb`)@VBa}=ACVE`ZELPGjqS&J}+Lzvvsy)!u{>tGq2rmdVW-N zm1WL9)5_25Pny1z)3)BfYga!{@nosLCrXc9{Bd(t+#eQ(jQVvJGJU&205r?5D&(1y zqqF(eu4`KATPIDL6ciJaladmm|F_0h?AVn)NjB|%k9<2V?hRgEUS|3CY91bHJ=!fE zuB*O8d|lk$UCGD!)_N!H+_{sLo&EREpC2pE{=Y5Le)uKiim^?bHu=r5D13HC@@&$X zAXd)KpgBEZ^?M$koNXO+@!@peybgn3k4yrflPsuqzuY3Y|~Z>aD+$ z^hfG(IftT%>%DjPpZ)s2PddG{r2ImW-K=1Z`+u^Fo@a)a&98}xs?W|5bkY*_UKgeD zEAuGJksBM_Jj1jLTNCa4;+y9+{+~r4~i-gpj zRhl==-Inv@9#_RbpL;Tby#V~>V=WPHv^8CuH5vb ze%j)#j$i&dm4z#XN^-=@eiR9vV;SnJr6N|iyf@?byN+#~nMdp0ZLNR!yIr*myWO|^ zU!CgjPv`8Ws#Qu})yY}awt~&x+xc{TV+}jQf;nr~=7KM7YVcZG_2I$6udlB!UcC7I z{r&N)WuBayYrVJnd)^MeYhv@g#rCVdd4BG0O?}j~=#X#e@mf>g-PowCqmy%TlIq)A zTQBGG$9FD!xnaYG+}qniqrSyyi1bMqCjI&GG57YitD*O2aVRSas4=( zsxK>^ZOUsE`t`rhi@oHLZbk47mg&5V87wEt8KO+MyFW3?{?xyc8};&EwT1TXqnhL^}Jwl>%Sp?3%S#`^m>e52{uiS{-!p&865D z0ex}dyr~~`^m4Uh>~t#@uJG)9n%*iJr_>$pTeyhhWk&v$i}y0_Ssbs{Jo^9MiN8

`1%isCT2Q9XL>FDSf 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 delta 112931 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 W&E3|Zn#65tASq8*KbLh*2~7Y1{yq)> diff --git a/images/driver.svg b/images/driver.svg index 0fc7a41..c3b6faa 100644 --- a/images/driver.svg +++ b/images/driver.svg @@ -113,9 +113,6 @@ - - - @@ -132,21 +129,10 @@ UDP Rx - - - - - - UDP Tx - - - - - diff --git a/images/gateway.png b/images/gateway.png index d3e91d2d4271aa90ea82233707e206d2c8dfef75..79f5a4fdeada7b2d5bb2a64a5fe92b8103d5a61b 100644 GIT binary patch delta 388 zcmccL!tt<$V}c4}(?nIJ`XlZx%7R-qY~WZF7P!di!ZD?T;wxN*4zBPmdZzfK@J{T6 z1nnDaA}-SLt^ZhWab0U#pwSf3wRKT%Tk$y#&ZM-PH}mVQjo+MWvYiuVRJB*!DAJkR z@7G=KiLTop&s58?kX&N8>cy*^3?(1m-#aEpY@A)UI_&L^`n9R5>$DTHh2-jkL(U4! z6Pg!k9MZkL)p|-uiR+J$8;eh}w&v^FhCLJSo}Bt`Qv^3Vb3(pwnfhvru%ljHr#Via zetB}q=Tq-%*G#u~eDmjoHFu46U*I(AlsCWJBYZ$TR#No+;`xefDek>B@BRPDSe^_$ zvRdRqgsLYObN`CUm2%Tf6{}+0W;I>?pS8dCs_Aa9i`KW;wjjjh?0M(Q zI%8KT-jO}X~8K<5{5@%Fk3Ih3YYr8t&2V^ z`S2ww(6lmoNASrbLWh?*_)miwgI@Pqz1VEE4^w zrD_u9F?pfK{uQf(Y&8v4tAf&|O}hDie@5-q;O54xQg@CV|F)0UxWDPHn8N$`^92Jf z_X}S*#D7NBJ!ELR=c<3*_Doyq^F7 diff --git a/src/config.rs b/src/config.rs index 1264aea..f89ae5c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,6 +1,8 @@ +#[cfg(feature = "receive")] +use crate::driver::DecodeMode; #[cfg(feature = "driver")] use crate::{ - driver::{retry::Retry, CryptoMode, DecodeMode, MixMode}, + driver::{retry::Retry, CryptoMode, MixMode}, input::codecs::*, }; @@ -29,7 +31,8 @@ pub struct Config { /// /// [`CryptoMode::Normal`]: CryptoMode::Normal pub crypto_mode: CryptoMode, - #[cfg(feature = "driver")] + + #[cfg(all(feature = "driver", feature = "receive"))] /// Configures whether decoding and decryption occur for all received packets. /// /// If voice receiving voice packets, generally you should choose [`DecodeMode::Decode`]. @@ -45,6 +48,7 @@ pub struct Config { /// [`DecodeMode::Pass`]: DecodeMode::Pass /// [user speaking events]: crate::events::CoreEvent::SpeakingUpdate pub decode_mode: DecodeMode, + #[cfg(feature = "gateway")] /// Configures the amount of time to wait for Discord to reply with connection information /// if [`Call::join`]/[`join_gateway`] are used. @@ -58,14 +62,16 @@ pub struct Config { /// [`Call::join`]: crate::Call::join /// [`join_gateway`]: crate::Call::join_gateway pub gateway_timeout: Option, + #[cfg(feature = "driver")] - /// Configures the maximum amount of time to wait for an attempted voice - /// connection to Discord. + /// Configures whether the driver will mix and output stereo or mono Opus data + /// over a voice channel. /// /// Defaults to [`Stereo`]. /// /// [`Stereo`]: MixMode::Stereo pub mix_mode: MixMode, + #[cfg(feature = "driver")] /// Number of concurrently active tracks to allocate memory for. /// @@ -79,6 +85,7 @@ pub struct Config { /// Changes to this field in a running driver will only ever increase /// the capacity of the track store. pub preallocated_tracks: usize, + #[cfg(feature = "driver")] /// Connection retry logic for the [`Driver`]. /// @@ -87,6 +94,7 @@ pub struct Config { /// /// [`Driver`]: crate::driver::Driver pub driver_retry: Retry, + #[cfg(feature = "driver")] /// Configures whether or not each mixed audio packet is [soft-clipped] into the /// [-1, 1] audio range. @@ -101,12 +109,14 @@ pub struct Config { /// /// [soft-clipped]: https://opus-codec.org/docs/opus_api-1.3.1/group__opus__decoder.html#gaff99598b352e8939dded08d96e125e0b pub use_softclip: bool, + #[cfg(feature = "driver")] /// Configures the maximum amount of time to wait for an attempted voice /// connection to Discord. /// /// Defaults to 10 seconds. If set to `None`, connections will never time out. pub driver_timeout: Option, + #[cfg(feature = "driver")] #[derivative(Debug = "ignore")] /// Registry of the inner codecs supported by the driver, adding audiopus-based @@ -116,6 +126,7 @@ pub struct Config { /// /// [`CODEC_REGISTRY`]: static@CODEC_REGISTRY pub codec_registry: &'static CodecRegistry, + #[cfg(feature = "driver")] #[derivative(Debug = "ignore")] /// Registry of the muxers and container formats supported by the driver. @@ -142,7 +153,7 @@ impl Default for Config { Self { #[cfg(feature = "driver")] crypto_mode: CryptoMode::Normal, - #[cfg(feature = "driver")] + #[cfg(all(feature = "driver", feature = "receive"))] decode_mode: DecodeMode::Decrypt, #[cfg(feature = "gateway")] gateway_timeout: Some(Duration::from_secs(10)), @@ -179,6 +190,7 @@ impl Config { self } + #[cfg(feature = "receive")] /// Sets this `Config`'s received packet decryption/decoding behaviour. #[must_use] pub fn decode_mode(mut self, decode_mode: DecodeMode) -> Self { diff --git a/src/driver/connection/mod.rs b/src/driver/connection/mod.rs index 9a92a25..4c2f1d3 100644 --- a/src/driver/connection/mod.rs +++ b/src/driver/connection/mod.rs @@ -1,7 +1,9 @@ pub mod error; +#[cfg(feature = "receive")] +use super::tasks::udp_rx; use super::{ - tasks::{message::*, udp_rx, udp_tx, ws as ws_task}, + tasks::{message::*, ws as ws_task}, Config, CryptoMode, }; @@ -18,7 +20,8 @@ use crate::{ use discortp::discord::{IpDiscoveryPacket, IpDiscoveryType, MutableIpDiscoveryPacket}; use error::{Error, Result}; use flume::Sender; -use std::{net::IpAddr, str::FromStr, sync::Arc}; +use socket2::Socket; +use std::{net::IpAddr, str::FromStr}; use tokio::{net::UdpSocket, spawn, time::timeout}; use tracing::{debug, info, instrument}; use url::Url; @@ -103,6 +106,16 @@ impl Connection { } let udp = UdpSocket::bind("0.0.0.0:0").await?; + + // Optimisation for non-receive case: set rx buffer size to zero. + let udp = if cfg!(feature = "receive") { + udp + } else { + let socket = Socket::from(udp.into_std()?); + socket.set_recv_buffer_size(0)?; + UdpSocket::from_std(socket.into())? + }; + udp.connect((ready.ip, ready.port)).await?; // Follow Discord's IP Discovery procedures, in case NAT tunnelling is needed. @@ -164,22 +177,36 @@ impl Connection { info!("WS heartbeat duration {}ms.", hello.heartbeat_interval,); let (ws_msg_tx, ws_msg_rx) = flume::unbounded(); - let (udp_sender_msg_tx, udp_sender_msg_rx) = flume::unbounded(); + #[cfg(feature = "receive")] let (udp_receiver_msg_tx, udp_receiver_msg_rx) = flume::unbounded(); + // NOTE: This causes the UDP Socket on "receive" to be non-blocking, + // and the standard to be blocking. A UDP send should only WouldBlock if + // you're sending more data than the OS can handle (not likely, and + // at that point you should scale horizontally). + // + // If this is a problem for anyone, we can make non-blocking sends + // queue up a delayed send up to a limit. + #[cfg(feature = "receive")] let (udp_rx, udp_tx) = { - let udp_rx = Arc::new(udp); - let udp_tx = Arc::clone(&udp_rx); + let udp_tx = udp.into_std()?; + let udp_rx = UdpSocket::from_std(udp_tx.try_clone()?)?; (udp_rx, udp_tx) }; + #[cfg(not(feature = "receive"))] + let udp_tx = udp.into_std()?; let ssrc = ready.ssrc; let mix_conn = MixerConnection { + #[cfg(feature = "receive")] cipher: cipher.clone(), + #[cfg(not(feature = "receive"))] + cipher, crypto_state: config.crypto_mode.into(), + #[cfg(feature = "receive")] udp_rx: udp_receiver_msg_tx, - udp_tx: udp_sender_msg_tx, + udp_tx, }; interconnect @@ -200,6 +227,7 @@ impl Connection { info.clone(), )); + #[cfg(feature = "receive")] spawn(udp_rx::runner( interconnect.clone(), udp_receiver_msg_rx, @@ -207,7 +235,6 @@ impl Connection { config.clone(), udp_rx, )); - spawn(udp_tx::runner(udp_sender_msg_rx, ssrc, udp_tx)); Ok(Connection { info, diff --git a/src/driver/crypto.rs b/src/driver/crypto.rs index d127950..db2e898 100644 --- a/src/driver/crypto.rs +++ b/src/driver/crypto.rs @@ -3,10 +3,11 @@ use byteorder::{NetworkEndian, WriteBytesExt}; use discortp::{rtp::RtpPacket, MutablePacket}; use rand::Rng; use std::num::Wrapping; +#[cfg(any(feature = "receive", test))] +use xsalsa20poly1305::Tag; use xsalsa20poly1305::{ aead::{AeadInPlace, Error as CryptoError}, Nonce, - Tag, XSalsa20Poly1305 as Cipher, NONCE_SIZE, TAG_SIZE, @@ -110,6 +111,7 @@ impl CryptoMode { } } + #[cfg(any(feature = "receive", test))] /// Decrypts a Discord RT(C)P packet using the given key. /// /// If successful, this returns the number of bytes to be ignored from the diff --git a/src/driver/mod.rs b/src/driver/mod.rs index 20a3f02..4045978 100644 --- a/src/driver/mod.rs +++ b/src/driver/mod.rs @@ -13,6 +13,7 @@ pub mod bench_internals; pub(crate) mod connection; mod crypto; +#[cfg(feature = "receive")] mod decode_mode; mod mix_mode; pub mod retry; @@ -23,6 +24,7 @@ pub(crate) mod test_config; use connection::error::{Error, Result}; pub use crypto::CryptoMode; pub(crate) use crypto::CryptoState; +#[cfg(feature = "receive")] pub use decode_mode::DecodeMode; pub use mix_mode::MixMode; #[cfg(test)] diff --git a/src/driver/tasks/error.rs b/src/driver/tasks/error.rs index 10a1bb7..339f14f 100644 --- a/src/driver/tasks/error.rs +++ b/src/driver/tasks/error.rs @@ -2,7 +2,7 @@ use super::message::*; use crate::ws::Error as WsError; use audiopus::Error as OpusError; use flume::SendError; -use std::io::Error as IoError; +use std::io::{Error as IoError, ErrorKind as IoErrorKind}; use xsalsa20poly1305::aead::Error as CryptoError; #[derive(Debug)] @@ -10,8 +10,8 @@ pub enum Recipient { AuxNetwork, Event, Mixer, + #[cfg(feature = "receive")] UdpRx, - UdpTx, } pub type Result = std::result::Result; @@ -20,6 +20,7 @@ pub type Result = std::result::Result; #[non_exhaustive] pub enum Error { Crypto(CryptoError), + #[cfg(feature = "receive")] /// Received an illegal voice packet on the voice UDP socket. IllegalVoicePacket, InterconnectFailure(Recipient), @@ -30,15 +31,26 @@ pub enum Error { impl Error { pub(crate) fn should_trigger_connect(&self) -> bool { - matches!( - self, - Error::InterconnectFailure(Recipient::AuxNetwork | Recipient::UdpRx | Recipient::UdpTx) - ) + match self { + Error::InterconnectFailure(Recipient::AuxNetwork) => true, + #[cfg(feature = "receive")] + Error::InterconnectFailure(Recipient::UdpRx) => true, + _ => false, + } } pub(crate) fn should_trigger_interconnect_rebuild(&self) -> bool { matches!(self, Error::InterconnectFailure(Recipient::Event)) } + + // This prevents a `WouldBlock` from triggering a full reconnect, + // instead simply dropping the packet. + pub(crate) fn disarm_would_block(self) -> Result<()> { + match self { + Self::Io(i) if i.kind() == IoErrorKind::WouldBlock => Ok(()), + e => Err(e), + } + } } impl From for Error { @@ -77,18 +89,13 @@ impl From> for Error { } } +#[cfg(feature = "receive")] impl From> for Error { fn from(_e: SendError) -> Error { Error::InterconnectFailure(Recipient::UdpRx) } } -impl From> for Error { - fn from(_e: SendError) -> Error { - Error::InterconnectFailure(Recipient::UdpTx) - } -} - impl From for Error { fn from(e: WsError) -> Error { Error::Ws(e) diff --git a/src/driver/tasks/message/mixer.rs b/src/driver/tasks/message/mixer.rs index 175295a..585e135 100644 --- a/src/driver/tasks/message/mixer.rs +++ b/src/driver/tasks/message/mixer.rs @@ -1,21 +1,24 @@ #![allow(missing_docs)] -use super::{Interconnect, TrackContext, UdpRxMessage, UdpTxMessage, WsMessage}; +#[cfg(feature = "receive")] +use super::UdpRxMessage; +use super::{Interconnect, TrackContext, WsMessage}; use crate::{ driver::{Bitrate, Config, CryptoState}, input::{AudioStreamError, Compose, Parsed}, }; use flume::Sender; -use std::sync::Arc; +use std::{net::UdpSocket, sync::Arc}; use symphonia_core::{errors::Error as SymphoniaError, formats::SeekedTo}; use xsalsa20poly1305::XSalsa20Poly1305 as Cipher; pub struct MixerConnection { pub cipher: Cipher, pub crypto_state: CryptoState, + #[cfg(feature = "receive")] pub udp_rx: Sender, - pub udp_tx: Sender, + pub udp_tx: UdpSocket, } pub enum MixerMessage { diff --git a/src/driver/tasks/message/mod.rs b/src/driver/tasks/message/mod.rs index 0009c17..ba69101 100644 --- a/src/driver/tasks/message/mod.rs +++ b/src/driver/tasks/message/mod.rs @@ -4,11 +4,13 @@ mod core; mod disposal; mod events; mod mixer; +#[cfg(feature = "receive")] mod udp_rx; -mod udp_tx; mod ws; -pub use self::{core::*, disposal::*, events::*, mixer::*, udp_rx::*, udp_tx::*, ws::*}; +#[cfg(feature = "receive")] +pub use self::udp_rx::*; +pub use self::{core::*, disposal::*, events::*, mixer::*, ws::*}; use flume::Sender; use tokio::spawn; diff --git a/src/driver/tasks/message/udp_tx.rs b/src/driver/tasks/message/udp_tx.rs deleted file mode 100644 index 16b7ad1..0000000 --- a/src/driver/tasks/message/udp_tx.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![allow(missing_docs)] - -// TODO: do something cheaper. -pub type UdpTxMessage = Vec; diff --git a/src/driver/tasks/mixer/mod.rs b/src/driver/tasks/mixer/mod.rs index 7be73d5..648bfd6 100644 --- a/src/driver/tasks/mixer/mod.rs +++ b/src/driver/tasks/mixer/mod.rs @@ -10,7 +10,11 @@ use result::*; use state::*; pub use track::*; -use super::{disposal, error::Result, message::*}; +use super::{ + disposal, + error::{Error, Result}, + message::*, +}; use crate::{ constants::*, driver::MixMode, @@ -26,6 +30,7 @@ use audiopus::{ Bitrate, }; use discortp::{ + discord::MutableKeepalivePacket, rtp::{MutableRtpPacket, RtpPacket}, MutablePacket, }; @@ -73,6 +78,9 @@ pub struct Mixer { thread_pool: BlockyTaskPool, pub ws: Option>, + pub keepalive_deadline: Instant, + pub keepalive_packet: [u8; MutableKeepalivePacket::minimum_packet_size()], + pub tracks: Vec, track_handles: Vec, @@ -104,6 +112,7 @@ impl Mixer { let soft_clip = SoftClip::new(config.mix_mode.to_opus()); let mut packet = [0u8; VOICE_PACKET_MAX]; + let keepalive_packet = [0u8; MutableKeepalivePacket::minimum_packet_size()]; let mut rtp = MutableRtpPacket::new(&mut packet[..]).expect( "FATAL: Too few bytes in self.packet for RTP header.\ @@ -146,12 +155,14 @@ impl Mixer { SignalSpec::new_with_layout(SAMPLE_RATE_RAW as u32, Layout::Stereo), ); + let deadline = Instant::now(); + Self { bitrate, config, conn_active: None, content_prep_sequence: 0, - deadline: Instant::now(), + deadline, disposer, encoder, interconnect, @@ -165,6 +176,9 @@ impl Mixer { thread_pool, ws: None, + keepalive_deadline: deadline, + keepalive_packet, + tracks, track_handles, @@ -213,7 +227,14 @@ impl Mixer { // The above action may have invalidated the connection; need to re-check! // Also, if we're in a test mode we should unconditionally run packet mixing code. if self.conn_active.is_some() || ignore_check { - if let Err(e) = self.cycle().and_then(|_| self.audio_commands_events()) { + if let Err(e) = self + .cycle() + .and_then(|_| self.audio_commands_events()) + .and_then(|_| { + self.check_and_send_keepalive() + .or_else(Error::disarm_would_block) + }) + { events_failure |= e.should_trigger_interconnect_rebuild(); conn_failure |= e.should_trigger_connect(); @@ -313,6 +334,11 @@ impl Mixer { rtp.set_sequence(random::().into()); rtp.set_timestamp(random::().into()); self.deadline = Instant::now(); + + let mut ka = MutableKeepalivePacket::new(&mut self.keepalive_packet[..]) + .expect("FATAL: Insufficient bytes given to keepalive packet."); + ka.set_ssrc(ssrc); + self.keepalive_deadline = self.deadline + UDP_KEEPALIVE_GAP; Ok(()) }, MixerMessage::DropConn => { @@ -321,9 +347,12 @@ impl Mixer { }, MixerMessage::ReplaceInterconnect(i) => { self.prevent_events = false; + if let Some(ws) = &self.ws { conn_failure |= ws.send(WsMessage::ReplaceInterconnect(i.clone())).is_err(); } + + #[cfg(feature = "receive")] if let Some(conn) = &self.conn_active { conn_failure |= conn .udp_rx @@ -357,13 +386,19 @@ impl Mixer { ); } - self.config = Arc::new(new_config.clone()); + self.config = Arc::new( + #[cfg(feature = "receive")] + new_config.clone(), + #[cfg(not(feature = "receive"))] + new_config, + ); if self.tracks.capacity() < self.config.preallocated_tracks { self.tracks .reserve(self.config.preallocated_tracks - self.tracks.len()); } + #[cfg(feature = "receive")] if let Some(conn) = &self.conn_active { conn_failure |= conn .udp_rx @@ -674,7 +709,7 @@ impl Mixer { let send_buffer = self.config.use_softclip.then(|| &softclip_buffer[..]); #[cfg(test)] - if let Some(OutputMode::Raw(tx)) = &self.config.override_connection { + let send_status = if let Some(OutputMode::Raw(tx)) = &self.config.override_connection { let msg = match mix_len { MixType::Passthrough(len) if len == SILENT_FRAME.len() => OutputMessage::Silent, MixType::Passthrough(len) => { @@ -693,12 +728,18 @@ impl Mixer { }; drop(tx.send(msg.into())); + + Ok(()) } else { - self.prep_and_send_packet(send_buffer, mix_len)?; - } + self.prep_and_send_packet(send_buffer, mix_len) + }; #[cfg(not(test))] - self.prep_and_send_packet(send_buffer, mix_len)?; + let send_status = self.prep_and_send_packet(send_buffer, mix_len); + + send_status.or_else(Error::disarm_would_block)?; + + self.advance_rtp_counters(); // Zero out all planes of the mix buffer if any audio was written. if matches!(mix_len, MixType::MixedPcm(a) if a > 0) { @@ -770,25 +811,36 @@ impl Mixer { // Test mode: send unencrypted (compressed) packets to local receiver. drop(tx.send(self.packet[..index].to_vec().into())); } else { - conn.udp_tx.send(self.packet[..index].to_vec())?; + conn.udp_tx.send(&self.packet[..index])?; } #[cfg(not(test))] { // Normal operation: send encrypted payload to UDP Tx task. - - // TODO: This is dog slow, don't do this. - // Can we replace this with a shared ring buffer + semaphore? - // or the BBQueue crate? - conn.udp_tx.send(self.packet[..index].to_vec())?; + conn.udp_tx.send(&self.packet[..index])?; } + Ok(()) + } + + #[inline] + fn advance_rtp_counters(&mut self) { let mut rtp = MutableRtpPacket::new(&mut self.packet[..]).expect( "FATAL: Too few bytes in self.packet for RTP header.\ (Blame: VOICE_PACKET_MAX?)", ); rtp.set_sequence(rtp.get_sequence() + 1); rtp.set_timestamp(rtp.get_timestamp() + MONO_FRAME_SIZE as u32); + } + + #[inline] + fn check_and_send_keepalive(&mut self) -> Result<()> { + if let Some(conn) = self.conn_active.as_mut() { + if Instant::now() >= self.keepalive_deadline { + conn.udp_tx.send(&self.keepalive_packet)?; + self.keepalive_deadline += UDP_KEEPALIVE_GAP; + } + } Ok(()) } diff --git a/src/driver/tasks/mod.rs b/src/driver/tasks/mod.rs index 945c6e2..584375b 100644 --- a/src/driver/tasks/mod.rs +++ b/src/driver/tasks/mod.rs @@ -5,8 +5,8 @@ pub mod error; mod events; pub mod message; pub mod mixer; +#[cfg(feature = "receive")] pub(crate) mod udp_rx; -pub(crate) mod udp_tx; pub(crate) mod ws; use std::time::Duration; diff --git a/src/driver/tasks/udp_rx.rs b/src/driver/tasks/udp_rx.rs index 2d8e830..3a3d1fc 100644 --- a/src/driver/tasks/udp_rx.rs +++ b/src/driver/tasks/udp_rx.rs @@ -22,7 +22,7 @@ use discortp::{ PacketSize, }; use flume::Receiver; -use std::{collections::HashMap, convert::TryInto, sync::Arc}; +use std::{collections::HashMap, convert::TryInto}; use tokio::{net::UdpSocket, select}; use tracing::{error, instrument, trace, warn}; use xsalsa20poly1305::XSalsa20Poly1305 as Cipher; @@ -240,7 +240,7 @@ struct UdpRx { config: Config, packet_buffer: [u8; VOICE_PACKET_MAX], rx: Receiver, - udp_socket: Arc, + udp_socket: UdpSocket, } impl UdpRx { @@ -395,7 +395,7 @@ pub(crate) async fn runner( rx: Receiver, cipher: Cipher, config: Config, - udp_socket: Arc, + udp_socket: UdpSocket, ) { trace!("UDP receive handle started."); diff --git a/src/driver/tasks/udp_tx.rs b/src/driver/tasks/udp_tx.rs deleted file mode 100644 index 7eb9e85..0000000 --- a/src/driver/tasks/udp_tx.rs +++ /dev/null @@ -1,63 +0,0 @@ -use super::message::*; -use crate::constants::*; -use discortp::discord::MutableKeepalivePacket; -use flume::Receiver; -use std::sync::Arc; -use tokio::{ - net::UdpSocket, - time::{timeout_at, Instant}, -}; -use tracing::{error, instrument, trace}; - -struct UdpTx { - ssrc: u32, - rx: Receiver, - udp_tx: Arc, -} - -impl UdpTx { - async fn run(&mut self) { - let mut keepalive_bytes = [0u8; MutableKeepalivePacket::minimum_packet_size()]; - let mut ka = MutableKeepalivePacket::new(&mut keepalive_bytes[..]) - .expect("FATAL: Insufficient bytes given to keepalive packet."); - ka.set_ssrc(self.ssrc); - - let mut ka_time = Instant::now() + UDP_KEEPALIVE_GAP; - - loop { - match timeout_at(ka_time, self.rx.recv_async()).await { - Err(_) => { - trace!("Sending UDP Keepalive."); - if let Err(e) = self.udp_tx.send(&keepalive_bytes[..]).await { - error!("Fatal UDP keepalive send error: {:?}.", e); - break; - } - ka_time += UDP_KEEPALIVE_GAP; - }, - Ok(Ok(p)) => - if let Err(e) = self.udp_tx.send(&p[..]).await { - error!("Fatal UDP packet send error: {:?}.", e); - break; - }, - Ok(Err(flume::RecvError::Disconnected)) => { - break; - }, - } - } - } -} - -#[instrument(skip(udp_msg_rx))] -pub(crate) async fn runner(udp_msg_rx: Receiver, ssrc: u32, udp_tx: Arc) { - trace!("UDP transmit handle started."); - - let mut txer = UdpTx { - ssrc, - rx: udp_msg_rx, - udp_tx, - }; - - txer.run().await; - - trace!("UDP transmit handle stopped."); -} diff --git a/src/events/context/data/mod.rs b/src/events/context/data/mod.rs index abc385e..6021e4d 100644 --- a/src/events/context/data/mod.rs +++ b/src/events/context/data/mod.rs @@ -3,10 +3,16 @@ //! [`EventContext`]: super::EventContext mod connect; mod disconnect; +#[cfg(feature = "receive")] mod rtcp; +#[cfg(feature = "receive")] mod speaking; +#[cfg(feature = "receive")] mod voice; +#[cfg(feature = "receive")] use discortp::{rtcp::Rtcp, rtp::Rtp}; -pub use self::{connect::*, disconnect::*, rtcp::*, speaking::*, voice::*}; +pub use self::{connect::*, disconnect::*}; +#[cfg(feature = "receive")] +pub use self::{rtcp::*, speaking::*, voice::*}; diff --git a/src/events/context/internal_data.rs b/src/events/context/internal_data.rs index e26d5ad..a3b71b6 100644 --- a/src/events/context/internal_data.rs +++ b/src/events/context/internal_data.rs @@ -1,6 +1,5 @@ use super::context_data::*; use crate::ConnectionInfo; -use discortp::{rtcp::Rtcp, rtp::Rtp}; #[derive(Clone, Debug, Eq, Hash, PartialEq)] pub struct InternalConnect { @@ -15,27 +14,6 @@ pub struct InternalDisconnect { pub info: ConnectionInfo, } -#[derive(Clone, Debug, Eq, Hash, PartialEq)] -pub struct InternalSpeakingUpdate { - pub ssrc: u32, - pub speaking: bool, -} - -#[derive(Clone, Debug, Eq, PartialEq)] -pub struct InternalVoicePacket { - pub audio: Option>, - pub packet: Rtp, - pub payload_offset: usize, - pub payload_end_pad: usize, -} - -#[derive(Clone, Debug, Eq, PartialEq)] -pub struct InternalRtcpPacket { - pub packet: Rtcp, - pub payload_offset: usize, - pub payload_end_pad: usize, -} - impl<'a> From<&'a InternalConnect> for ConnectData<'a> { fn from(val: &'a InternalConnect) -> Self { Self { @@ -60,32 +38,62 @@ impl<'a> From<&'a InternalDisconnect> for DisconnectData<'a> { } } -impl<'a> From<&'a InternalSpeakingUpdate> for SpeakingUpdateData { - fn from(val: &'a InternalSpeakingUpdate) -> Self { - Self { - speaking: val.speaking, - ssrc: val.ssrc, +#[cfg(feature = "receive")] +mod receive { + use super::*; + use discortp::{rtcp::Rtcp, rtp::Rtp}; + + #[derive(Clone, Debug, Eq, Hash, PartialEq)] + pub struct InternalSpeakingUpdate { + pub ssrc: u32, + pub speaking: bool, + } + + #[derive(Clone, Debug, Eq, PartialEq)] + pub struct InternalVoicePacket { + pub audio: Option>, + pub packet: Rtp, + pub payload_offset: usize, + pub payload_end_pad: usize, + } + + #[derive(Clone, Debug, Eq, PartialEq)] + pub struct InternalRtcpPacket { + pub packet: Rtcp, + pub payload_offset: usize, + pub payload_end_pad: usize, + } + + impl<'a> From<&'a InternalSpeakingUpdate> for SpeakingUpdateData { + fn from(val: &'a InternalSpeakingUpdate) -> Self { + Self { + speaking: val.speaking, + ssrc: val.ssrc, + } + } + } + + impl<'a> From<&'a InternalVoicePacket> for VoiceData<'a> { + fn from(val: &'a InternalVoicePacket) -> Self { + Self { + audio: &val.audio, + packet: &val.packet, + payload_offset: val.payload_offset, + payload_end_pad: val.payload_end_pad, + } + } + } + + impl<'a> From<&'a InternalRtcpPacket> for RtcpData<'a> { + fn from(val: &'a InternalRtcpPacket) -> Self { + Self { + packet: &val.packet, + payload_offset: val.payload_offset, + payload_end_pad: val.payload_end_pad, + } } } } -impl<'a> From<&'a InternalVoicePacket> for VoiceData<'a> { - fn from(val: &'a InternalVoicePacket) -> Self { - Self { - audio: &val.audio, - packet: &val.packet, - payload_offset: val.payload_offset, - payload_end_pad: val.payload_end_pad, - } - } -} - -impl<'a> From<&'a InternalRtcpPacket> for RtcpData<'a> { - fn from(val: &'a InternalRtcpPacket) -> Self { - Self { - packet: &val.packet, - payload_offset: val.payload_offset, - payload_end_pad: val.payload_end_pad, - } - } -} +#[cfg(feature = "receive")] +pub use receive::*; diff --git a/src/events/context/mod.rs b/src/events/context/mod.rs index 693dc03..2ea0921 100644 --- a/src/events/context/mod.rs +++ b/src/events/context/mod.rs @@ -26,24 +26,35 @@ pub enum EventContext<'a> { /// [`EventStore::add_event`]: EventStore::add_event /// [`TrackHandle::add_event`]: TrackHandle::add_event Track(&'a [(&'a TrackState, &'a TrackHandle)]), + /// Speaking state update, typically describing how another voice /// user is transmitting audio data. Clients must send at least one such /// packet to allow SSRC/UserID matching. SpeakingStateUpdate(Speaking), + + #[cfg(feature = "receive")] /// Speaking state transition, describing whether a given source has started/stopped /// transmitting. This fires in response to a silent burst, or the first packet /// breaking such a burst. SpeakingUpdate(SpeakingUpdateData), + + #[cfg(feature = "receive")] /// Opus audio packet, received from another stream. VoicePacket(VoiceData<'a>), + + #[cfg(feature = "receive")] /// Telemetry/statistics packet, received from another stream. RtcpPacket(RtcpData<'a>), + /// Fired whenever a client disconnects. ClientDisconnect(ClientDisconnect), + /// Fires when this driver successfully connects to a voice channel. DriverConnect(ConnectData<'a>), + /// Fires when this driver successfully reconnects after a network error. DriverReconnect(ConnectData<'a>), + /// Fires when this driver fails to connect to, or drops from, a voice channel. DriverDisconnect(DisconnectData<'a>), } @@ -51,8 +62,11 @@ pub enum EventContext<'a> { #[derive(Debug)] pub enum CoreContext { SpeakingStateUpdate(Speaking), + #[cfg(feature = "receive")] SpeakingUpdate(InternalSpeakingUpdate), + #[cfg(feature = "receive")] VoicePacket(InternalVoicePacket), + #[cfg(feature = "receive")] RtcpPacket(InternalRtcpPacket), ClientDisconnect(ClientDisconnect), DriverConnect(InternalConnect), @@ -64,9 +78,12 @@ impl<'a> CoreContext { pub(crate) fn to_user_context(&'a self) -> EventContext<'a> { match self { Self::SpeakingStateUpdate(evt) => EventContext::SpeakingStateUpdate(*evt), + #[cfg(feature = "receive")] Self::SpeakingUpdate(evt) => EventContext::SpeakingUpdate(SpeakingUpdateData::from(evt)), + #[cfg(feature = "receive")] Self::VoicePacket(evt) => EventContext::VoicePacket(VoiceData::from(evt)), + #[cfg(feature = "receive")] Self::RtcpPacket(evt) => EventContext::RtcpPacket(RtcpData::from(evt)), Self::ClientDisconnect(evt) => EventContext::ClientDisconnect(*evt), Self::DriverConnect(evt) => EventContext::DriverConnect(ConnectData::from(evt)), @@ -84,8 +101,11 @@ impl EventContext<'_> { pub fn to_core_event(&self) -> Option { match self { Self::SpeakingStateUpdate(_) => Some(CoreEvent::SpeakingStateUpdate), + #[cfg(feature = "receive")] Self::SpeakingUpdate(_) => Some(CoreEvent::SpeakingUpdate), + #[cfg(feature = "receive")] Self::VoicePacket(_) => Some(CoreEvent::VoicePacket), + #[cfg(feature = "receive")] Self::RtcpPacket(_) => Some(CoreEvent::RtcpPacket), Self::ClientDisconnect(_) => Some(CoreEvent::ClientDisconnect), Self::DriverConnect(_) => Some(CoreEvent::DriverConnect), diff --git a/src/events/core.rs b/src/events/core.rs index b73ac0b..cec06d1 100644 --- a/src/events/core.rs +++ b/src/events/core.rs @@ -6,8 +6,26 @@ /// /// ## Events from other users /// Songbird can observe when a user *speaks for the first time* ([`SpeakingStateUpdate`]), -/// when a client leaves the session ([`ClientDisconnect`]), voice packets ([`VoicePacket`]), and -/// telemetry data ([`RtcpPacket`]). The format of voice packets is described by [`VoiceData`]. +/// when a client leaves the session ([`ClientDisconnect`]). +/// +/// When the `"receive"` feature is enabled, songbird can also handle voice packets +#[cfg_attr(feature = "receive", doc = "([`VoicePacket`](Self::VoicePacket)),")] +#[cfg_attr(not(feature = "receive"), doc = "(`VoicePacket`),")] +/// detect speech starting/stopping +#[cfg_attr( + feature = "receive", + doc = "([`SpeakingUpdate`](Self::SpeakingUpdate))," +)] +#[cfg_attr(not(feature = "receive"), doc = "(`SpeakingUpdate`),")] +/// and handle telemetry data +#[cfg_attr(feature = "receive", doc = "([`RtcpPacket`](Self::RtcpPacket)).")] +#[cfg_attr(not(feature = "receive"), doc = "(`RtcpPacket`).")] +/// The format of voice packets is described by +#[cfg_attr( + feature = "receive", + doc = "[`VoiceData`](super::context::data::VoiceData)." +)] +#[cfg_attr(not(feature = "receive"), doc = "`VoiceData`.")] /// /// To detect when a user connects, you must correlate gateway (e.g., `VoiceStateUpdate`) events /// from the main part of your bot. @@ -15,15 +33,12 @@ /// To obtain a user's SSRC, you must use [`SpeakingStateUpdate`] events. /// /// [`EventData`]: super::EventData -/// [`VoiceData`]: super::context::data::VoiceData /// [`SpeakingStateUpdate`]: Self::SpeakingStateUpdate /// [`ClientDisconnect`]: Self::ClientDisconnect -/// [`VoicePacket`]: Self::VoicePacket -/// [`RtcpPacket`]: Self::RtcpPacket #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] #[non_exhaustive] pub enum CoreEvent { - /// Speaking state update, typically describing how another voice + /// Speaking state update from the WS gateway, typically describing how another voice /// user is transmitting audio data. Clients must send at least one such /// packet to allow SSRC/UserID matching. /// @@ -32,24 +47,34 @@ pub enum CoreEvent { /// Note: this will fire when a user starts speaking for the first time, /// or changes their capabilities. SpeakingStateUpdate, + + #[cfg(feature = "receive")] /// Fires when a source starts speaking, or stops speaking /// (*i.e.*, 5 consecutive silent frames). SpeakingUpdate, + + #[cfg(feature = "receive")] /// Fires on receipt of a voice packet from another stream in the voice call. /// /// As RTP packets do not map to Discord's notion of users, SSRCs must be mapped /// back using the user IDs seen through client connection, disconnection, /// or speaking state update. VoicePacket, + + #[cfg(feature = "receive")] /// Fires on receipt of an RTCP packet, containing various call stats /// such as latency reports. RtcpPacket, + /// Fires whenever a user disconnects from the same stream as the bot. ClientDisconnect, + /// Fires when this driver successfully connects to a voice channel. DriverConnect, + /// Fires when this driver successfully reconnects after a network error. DriverReconnect, + /// Fires when this driver fails to connect to, or drops from, a voice channel. DriverDisconnect, } diff --git a/src/lib.rs b/src/lib.rs index 6310800..54324b1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,11 +13,13 @@ //! `"gateway"` and `"[serenity/twilight]"` plus `"[rustls/native]"` features. You can even run //! driverless, to help manage your [lavalink] sessions. //! * A standalone driver for voice calls, via the `"driver"` feature. If you can create -//! a [`ConnectionInfo`] using any other gateway, or language for your bot, then you +//! a `ConnectionInfo` using any other gateway, or language for your bot, then you //! can run the songbird voice driver. -//! * And, by default, a fully featured voice system featuring events, queues, RT(C)P packet -//! handling, seeking on compatible streams, shared multithreaded audio stream caches, -//! and direct Opus data passthrough. +//! * Voice receive and RT(C)P packet handling via the `"receive"` feature. +//! * SIMD-accelerated JSON decoding via the `"simd-json"` feature. +//! * And, by default, a fully featured voice system featuring events, queues, +//! seeking on compatible streams, shared multithreaded audio stream caches, +//! and direct Opus data passthrough from DCA files. //! //! ## Intents //! Songbird's gateway functionality requires you to specify the `GUILD_VOICE_STATES` intent. @@ -101,7 +103,7 @@ pub mod tracks; #[cfg(feature = "driver")] mod ws; -#[cfg(feature = "driver")] +#[cfg(all(feature = "driver", feature = "receive"))] pub use discortp as packet; #[cfg(feature = "driver")] pub use serenity_voice_model as model;