[package] authors = ["Kyle Simpson "] description = "An async Rust library for the Discord voice API." documentation = "https://docs.rs/songbird" edition = "2021" 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.2.2" rust-version = "1.61" [dependencies] derivative = "2" pin-project = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" tracing = { version = "0.1", features = ["log"] } tracing-futures = "0.2" [dependencies.once_cell] version = "1" optional = true [dependencies.async-trait] optional = true version = "0.1" [dependencies.async-tungstenite] default-features = false features = ["tokio-runtime"] optional = true version = "0.17" [dependencies.audiopus] optional = true version = "0.3.0-rc.0" [dependencies.byteorder] optional = true version = "1" [dependencies.dashmap] optional = true version = "5" [dependencies.discortp] features = ["discord-full"] optional = true version = "0.5" [dependencies.flume] optional = true version = "0.10" [dependencies.futures] version = "0.3" [dependencies.lazy_static] optional = true version = "1" [dependencies.parking_lot] optional = true version = "0.12" [dependencies.rand] optional = true version = "0.8" [dependencies.reqwest] optional = true default-features = false features = ["stream"] version = "0.11" [dependencies.ringbuf] optional = true version = "0.2" [dependencies.rubato] optional = true version = "0.12" [dependencies.rusty_pool] optional = true version = "0.7" [dependencies.serde-aux] default-features = false optional = true version = "3" [dependencies.serenity] optional = true version = "0.11" default-features = false features = ["voice", "gateway"] [dependencies.serenity-voice-model] optional = true version = "0.1" [dependencies.simd-json] optional = true features = ["serde_impl"] version = "0.6.0" [dependencies.streamcatcher] optional = true version = "1" [dependencies.symphonia] optional = true default-features = false version = "0.5" git = "https://github.com/FelixMcFelix/Symphonia" branch = "songbird-fixes" [dependencies.symphonia-core] optional = true version = "0.5" git = "https://github.com/FelixMcFelix/Symphonia" branch = "songbird-fixes" [dependencies.tokio] optional = true version = "1.0" default-features = false [dependencies.tokio-util] optional = true version = "0.7" features = ["io"] [dependencies.twilight-gateway] optional = true version = "0.12.0" default-features = false [dependencies.twilight-model] optional = true version = "0.12.0" default-features = false [dependencies.typemap_rev] optional = true version = "0.1" [dependencies.url] optional = true version = "2" [dependencies.uuid] optional = true version = "1" features = ["v4"] [dependencies.xsalsa20poly1305] optional = true version = "0.8" features = ["std"] [dev-dependencies] criterion = "0.3" ntest = "0.8" symphonia = { version = "0.5", features = ["mp3"], git = "https://github.com/FelixMcFelix/Symphonia", branch = "songbird-fixes" } utils = { path = "utils" } tokio = { version = "1", features = ["rt", "rt-multi-thread"] } [features] # Core features default = [ "serenity-rustls", "driver", "gateway", ] gateway = [ "dashmap", "flume", "once_cell", "parking_lot", "tokio/sync", "tokio/time", ] driver = [ "async-trait", "async-tungstenite", "audiopus", "byteorder", "discortp", "reqwest", "flume", "lazy_static", "parking_lot", "rand", "ringbuf", "rubato", "serde-aux", "serenity-voice-model", "streamcatcher", "symphonia", "symphonia-core", "rusty_pool", "tokio-util", "tokio/fs", "tokio/io-util", "tokio/macros", "tokio/net", "tokio/process", "tokio/rt", "tokio/sync", "tokio/time", "typemap_rev", "url", "uuid", "xsalsa20poly1305", ] rustls = ["async-tungstenite/tokio-rustls-webpki-roots", "reqwest/rustls-tls", "rustls-marker"] native = ["async-tungstenite/tokio-native-tls", "native-marker", "reqwest/native-tls"] 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-native-roots", "rustls", "gateway"] twilight-native = ["twilight", "twilight-gateway/native", "native", "gateway"] twilight = ["twilight-model"] zlib-simd = ["twilight-gateway/zlib-simd"] zlib-stock = ["twilight-gateway/zlib-stock"] serenity-deps = ["async-trait"] simdjson = [] rustls-marker = [] native-marker = [] # Behaviour altering features. builtin-queue = [] # Used for docgen/testing/benchmarking. full-doc = ["default", "twilight-rustls", "builtin-queue", "zlib-stock"] internals = [] [[bench]] name = "base-mixing" path = "benches/base-mixing.rs" required-features = ["internals"] harness = false [[bench]] name = "mixing-task" path = "benches/mixing-task.rs" required-features = ["internals"] harness = false [package.metadata.docs.rs] features = ["full-doc"]