[package] authors = ["Kyle Simpson "] description = "An async Rust library for the Discord voice API." documentation = "https://docs.rs/songbird" edition = "2018" homepage = "https://github.com/serenity-rs/songbird" include = ["src/**/*.rs", "Cargo.toml", "build.rs"] keywords = ["discord", "api", "rtp", "audio"] license = "ISC" name = "songbird" readme = "README.md" repository = "https://github.com/serenity-rs/songbird.git" version = "0.1.8" [dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" tracing = { version = "0.1", features = ["log"] } tracing-futures = "0.2" [dependencies.async-trait] optional = true version = "0.1" [dependencies.async-tungstenite] default-features = false features = ["tokio-runtime"] optional = true version = "0.13" [dependencies.async-tungstenite-compat] package = "async-tungstenite" default-features = false features = ["tokio-runtime"] optional = true version = "0.9" [dependencies.audiopus] optional = true version = "0.2" [dependencies.byteorder] optional = true version = "1" [dependencies.dashmap] optional = true version = "4" [dependencies.discortp] features = ["discord-full"] optional = true version = "0.3" [dependencies.flume] optional = true version = "0.10" [dependencies.futures] version = "0.3" [dependencies.parking_lot] optional = true version = "0.11" [dependencies.rand] optional = true version = "0.8" [dependencies.serenity] optional = true version = "^0.10.2" default-features = false features = ["voice", "gateway"] [dependencies.serenity-voice-model] optional = true version = "0.1" [dependencies.spin_sleep] optional = true version = "1" # TEMPORARY: remove on next breaking. [dependencies.spinning_top] optional = true version = "=0.2.2" [dependencies.streamcatcher] optional = true version = "0.1" [dependencies.tokio] optional = true version = "1.0" default-features = false [dependencies.tokio-compat] optional = true package = "tokio" version = "0.2" default-features = false [dependencies.twilight-gateway] optional = true version = "0.3" default-features = false [dependencies.twilight-model] optional = true version = "0.3" default-features = false [dependencies.typemap_rev] optional = true version = "0.1" [dependencies.url] optional = true version = "2" [dependencies.uuid] optional = true version = "0.8" features = ["v4"] [dependencies.xsalsa20poly1305] optional = true version = "0.6" [dev-dependencies] criterion = "0.3" utils = { path = "utils" } [features] # Core features default = [ "serenity-rustls", "driver", "gateway", ] gateway = [ "gateway-core", "tokio/sync", ] gateway-core = [ "dashmap", "flume", "parking_lot", "spinning_top", ] driver = [ "async-tungstenite", "driver-core", "tokio/fs", "tokio/io-util", "tokio/macros", "tokio/net", "tokio/process", "tokio/rt", "tokio/sync", "tokio/time", ] driver-core = [ "async-trait", "audiopus", "byteorder", "discortp", "flume", "parking_lot", "rand", "serenity-voice-model", "spin_sleep", "spinning_top", "streamcatcher", "typemap_rev", "url", "uuid", "xsalsa20poly1305", ] rustls = ["async-tungstenite/tokio-rustls", "rustls-marker"] native = ["async-tungstenite/tokio-native-tls", "native-marker"] serenity-rustls = ["serenity/rustls_backend", "rustls", "gateway", "serenity-deps"] serenity-native = ["serenity/native_tls_backend", "native", "gateway", "serenity-deps"] twilight-rustls = ["twilight", "twilight-gateway/rustls", "rustls", "gateway"] twilight-native = ["twilight", "twilight-gateway/native", "native", "gateway"] twilight = ["twilight-model"] simd-zlib = ["twilight-gateway/simd-zlib"] stock-zlib = ["twilight-gateway/stock-zlib"] serenity-deps = ["async-trait"] rustls-marker = [] native-marker = [] # Tokio 0.2 Compatibility features # These should probably be dropped around the same time as serenity drop them. rustls-tokio-02 = ["async-tungstenite-compat/tokio-rustls", "rustls-marker", "tokio-02-marker"] native-tokio-02 = ["async-tungstenite-compat/tokio-native-tls", "native-marker", "tokio-02-marker"] serenity-rustls-tokio-02 = ["serenity/rustls_tokio_0_2_backend", "rustls-tokio-02", "gateway-tokio-02", "serenity-deps"] serenity-native-tokio-02 = ["serenity/native_tls_tokio_0_2_backend", "native-tokio-02", "gateway-tokio-02", "serenity-deps"] gateway-tokio-02 = [ "gateway-core", "tokio-02-marker", "tokio-compat/sync", ] driver-tokio-02 = [ "async-tungstenite-compat", "driver-core", "tokio-02-marker", "tokio-compat/fs", "tokio-compat/io-util", "tokio-compat/macros", "tokio-compat/net", "tokio-compat/process", "tokio-compat/rt-core", "tokio-compat/sync", "tokio-compat/time", ] tokio-02-marker = [] # Behaviour altering features. youtube-dlc = [] builtin-queue = [] # Used for docgen/testing/benchmarking. full-doc = ["default", "twilight-rustls", "builtin-queue", "stock-zlib"] internals = [] [[bench]] name = "base-mixing" path = "benches/base-mixing.rs" harness = false [[bench]] name = "mixing-task" path = "benches/mixing-task.rs" required-features = ["internals"] harness = false [package.metadata.docs.rs] features = ["full-doc"]