# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "str0m"
version = "0.17.0"
authors = [
    "Martin Algesten <martin@algesten.se>",
    "Hugo Tunius <h@tunius.se>",
    "Davide Bertola <dade@dadeb.it>",
]
build = false
exclude = [
    "/cargo_deny.sh",
    "/deny.toml",
    "/run-fuzz.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WebRTC library in Sans-IO style"
readme = "README.md"
keywords = [
    "webrtc",
    "streaming",
    "video",
    "audio",
    "media",
]
categories = [
    "web-programming",
    "multimedia",
    "network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/algesten/str0m"

[features]
_internal_dont_use_log_stats = []
_internal_test_exports = ["str0m-proto/_internal_test_exports"]
apple-crypto = ["dep:str0m-apple-crypto"]
aws-lc-rs = ["dep:str0m-aws-lc-rs"]
default = [
    "aws-lc-rs",
    "examples",
]
examples = ["rouille/rustls"]
openssl = ["dep:str0m-openssl"]
pii = []
rust-crypto = ["dep:str0m-rust-crypto"]
unversioned = []
vendored = ["str0m-openssl?/vendored"]
wincrypto = ["dep:str0m-wincrypto"]

[lib]
name = "str0m"
path = "src/lib.rs"

[[example]]
name = "chat"
path = "examples/chat.rs"
required-features = ["examples"]

[[example]]
name = "http-post"
path = "examples/http-post.rs"
required-features = ["examples"]

[[test]]
name = "abs-capture-time"
path = "tests/abs-capture-time.rs"

[[test]]
name = "api-errors"
path = "tests/api-errors.rs"

[[test]]
name = "audio-inactive-probe"
path = "tests/audio-inactive-probe.rs"

[[test]]
name = "bidirectional"
path = "tests/bidirectional.rs"

[[test]]
name = "bwe"
path = "tests/bwe/main.rs"

[[test]]
name = "change-ssrc-reset-receive"
path = "tests/change-ssrc-reset-receive.rs"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "config-validation"
path = "tests/config-validation.rs"

[[test]]
name = "contiguous"
path = "tests/contiguous.rs"

[[test]]
name = "crypto-compliance"
path = "tests/crypto-compliance.rs"

[[test]]
name = "data-channel"
path = "tests/data-channel.rs"

[[test]]
name = "data-channel-direct"
path = "tests/data-channel-direct.rs"

[[test]]
name = "dtls-security"
path = "tests/dtls-security.rs"

[[test]]
name = "flappy-ice-state"
path = "tests/flappy-ice-state.rs"

[[test]]
name = "handshake-direct"
path = "tests/handshake-direct.rs"

[[test]]
name = "ice-candidates"
path = "tests/ice-candidates.rs"

[[test]]
name = "ice-lite-connectivity"
path = "tests/ice-lite-connectivity.rs"

[[test]]
name = "ice-remote-binding-keepalive"
path = "tests/ice-remote-binding-keepalive.rs"

[[test]]
name = "ice-restart"
path = "tests/ice-restart.rs"

[[test]]
name = "keyframe-requests"
path = "tests/keyframe-requests.rs"

[[test]]
name = "keyframes"
path = "tests/keyframes.rs"

[[test]]
name = "loss"
path = "tests/loss.rs"

[[test]]
name = "mediatime-backwards"
path = "tests/mediatime-backwards.rs"

[[test]]
name = "nack"
path = "tests/nack.rs"

[[test]]
name = "network-conditions"
path = "tests/network-conditions.rs"

[[test]]
name = "no-local-media-added"
path = "tests/no-local-media-added.rs"

[[test]]
name = "no-pre-ice-feedback"
path = "tests/no-pre-ice-feedback.rs"

[[test]]
name = "pii"
path = "tests/pii.rs"

[[test]]
name = "remb"
path = "tests/remb.rs"

[[test]]
name = "remove-media-while-pacer-queued"
path = "tests/remove-media-while-pacer-queued.rs"

[[test]]
name = "repeated"
path = "tests/repeated.rs"

[[test]]
name = "rtp-direct-mid"
path = "tests/rtp-direct-mid.rs"

[[test]]
name = "rtp-direct-mid-rid"
path = "tests/rtp-direct-mid-rid.rs"

[[test]]
name = "rtp-direct-reset-ssrc"
path = "tests/rtp-direct-reset-ssrc.rs"

[[test]]
name = "rtp-direct-ssrc"
path = "tests/rtp-direct-ssrc.rs"

[[test]]
name = "rtp-direct-with-roc"
path = "tests/rtp-direct-with-roc.rs"

[[test]]
name = "rtp-sequence"
path = "tests/rtp-sequence.rs"

[[test]]
name = "rtp_to_frame"
path = "tests/rtp_to_frame.rs"

[[test]]
name = "rtx-cache-0"
path = "tests/rtx-cache-0.rs"

[[test]]
name = "sdp-negotiation"
path = "tests/sdp-negotiation.rs"

[[test]]
name = "srtp-replay-attack"
path = "tests/srtp-replay-attack.rs"

[[test]]
name = "stats"
path = "tests/stats.rs"

[[test]]
name = "stream-lifecycle"
path = "tests/stream-lifecycle.rs"

[[test]]
name = "twcc"
path = "tests/twcc.rs"

[[test]]
name = "unidirectional"
path = "tests/unidirectional.rs"

[[test]]
name = "unidirectional-r-create-media"
path = "tests/unidirectional-r-create-media.rs"

[[test]]
name = "user-rtp-header-extension"
path = "tests/user-rtp-header-extension.rs"

[[test]]
name = "vla"
path = "tests/vla.rs"

[dependencies.arrayvec]
version = "0.7.6"

[dependencies.combine]
version = "4.6.6"

[dependencies.crc]
version = "3"

[dependencies.dimpl]
version = "0.4.3"
default-features = false

[dependencies.fastrand]
version = "2.0.1"

[dependencies.sctp-proto]
version = "0.8.1"

[dependencies.serde]
version = "1.0.152"
features = ["derive"]

[dependencies.str0m-aws-lc-rs]
version = "0.2.0"
optional = true

[dependencies.str0m-openssl]
version = "0.2.0"
optional = true

[dependencies.str0m-proto]
version = "0.2.0"

[dependencies.str0m-rust-crypto]
version = "0.2.0"
optional = true

[dependencies.subtle]
version = "2.0.0"

[dependencies.time]
version = "0.3"

[dependencies.tracing]
version = "0.1.37"

[dev-dependencies.netem]
version = "0.2.0"
package = "str0m-netem"

[dev-dependencies.pcap-file]
version = "2.0.0"

[dev-dependencies.rand]
version = "0.9.0"

[dev-dependencies.regex]
version = "1.11.1"

[dev-dependencies.rouille]
version = "3.6.2"
features = []

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.str0m-rust-crypto]
version = "0.2.0"

[dev-dependencies.systemstat]
version = "0.2.2"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tracing-subscriber]
version = "0.3.16"
features = [
    "env-filter",
    "std",
]

[dev-dependencies.url]
version = "2"

[target.'cfg(target_vendor = "apple")'.dependencies.str0m-apple-crypto]
version = "0.2.0"
optional = true

[target."cfg(windows)".dependencies.str0m-wincrypto]
version = "0.4.0"
optional = true
