arcly-stream 0.1.6

An open-extensible live-media streaming kernel: lock-free zero-copy frame fan-out, instant-start GOP cache, a pluggable multi-protocol ingestion layer (RTMP, RTSP, SRT, WHIP/WHEP shipped), and a feature-gated pure-Rust media plane (MPEG-TS/HLS/fMP4) — runtime, config, and metrics free.
Documentation
# 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 = "2021"
rust-version = "1.85"
name = "arcly-stream"
version = "0.1.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An open-extensible live-media streaming kernel: lock-free zero-copy frame fan-out, instant-start GOP cache, a pluggable multi-protocol ingestion layer (RTMP, RTSP, SRT, WHIP/WHEP shipped), and a feature-gated pure-Rust media plane (MPEG-TS/HLS/fMP4) — runtime, config, and metrics free."
homepage = "https://gitlab.com/arcly/arcly-stream"
documentation = "https://docs.rs/arcly-stream"
readme = "README.md"
keywords = [
    "streaming",
    "rtmp",
    "media",
    "hls",
    "video",
]
categories = [
    "multimedia::video",
    "multimedia",
    "network-programming",
    "asynchronous",
]
license = "MIT"
repository = "https://gitlab.com/arcly/arcly-stream"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
_codec = []
_nal = ["dep:memchr"]
_rtp = [
    "_nal",
    "codec-h264",
]
auth-token = []
codec = [
    "codec-h264",
    "codec-aac",
]
codec-aac = ["_codec"]
codec-av1 = ["_codec"]
codec-h264 = [
    "_codec",
    "_nal",
]
codec-h265 = [
    "_codec",
    "_nal",
]
codec-vp9 = ["_codec"]
codec-vvc = [
    "_codec",
    "_nal",
]
codecs-all = [
    "codec",
    "codec-h265",
    "codec-av1",
    "codec-vp9",
    "codec-vvc",
]
default = []
fmp4 = [
    "hls",
    "codec-h264",
]
full = [
    "macros",
    "storage-fs",
    "ingest",
    "metrics",
    "codecs-all",
    "hls",
    "mpegts",
    "fmp4",
    "rtmp",
    "rtsp",
    "srt",
    "webrtc",
    "record",
    "auth-token",
]
hls = []
ingest = ["dep:memchr"]
macros = ["dep:arcly-stream-macros"]
metrics = ["dep:prometheus"]
mpegts = [
    "hls",
    "codec-h264",
]
record = []
rtmp = [
    "ingest",
    "codec-h264",
    "codec-aac",
    "tokio/io-util",
]
rtsp = [
    "ingest",
    "_rtp",
    "tokio/io-util",
]
srt = [
    "ingest",
    "codec-h264",
    "codec-aac",
]
storage-fs = []
webrtc = [
    "ingest",
    "_rtp",
]

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

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

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

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

[[bench]]
name = "fanout"
path = "benches/fanout.rs"
harness = false

[dependencies.arc-swap]
version = "1"

[dependencies.arcly-stream-macros]
version = "0.1.6"
optional = true

[dependencies.async-trait]
version = "0.1"

[dependencies.bitflags]
version = "2"
features = ["serde"]

[dependencies.bytes]
version = "1"

[dependencies.dashmap]
version = "6"

[dependencies.memchr]
version = "2"
optional = true

[dependencies.prometheus]
version = "0.13"
features = ["process"]
optional = true
default-features = false

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

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1.38"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "signal",
    "sync",
    "time",
    "fs",
]

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dependencies.tracing]
version = "0.1"

[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false

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

[dev-dependencies.tokio]
version = "1.38"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "signal",
    "sync",
    "time",
    "fs",
    "test-util",
]