mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2024-12-25 22:55:55 -05:00
2954a56fce
Chrome appears to time out at 60 seconds of inactivity otherwise. I think it's better to keep the stream open, even if the camera is broken. The implementation looks awkward, but that might be the state of Rust async right now.
81 lines
2.5 KiB
TOML
81 lines
2.5 KiB
TOML
[package]
|
|
name = "moonfire-nvr"
|
|
version = "0.6.2"
|
|
authors = ["Scott Lamb <slamb@slamb.org>"]
|
|
edition = "2018"
|
|
license-file = "../LICENSE.txt"
|
|
|
|
[features]
|
|
|
|
# The nightly feature is used within moonfire-nvr itself to gate the
|
|
# benchmarks. Also pass it along to crates that can benefit from it.
|
|
nightly = ["db/nightly", "parking_lot/nightly", "smallvec/union"]
|
|
|
|
# The bundled feature includes bundled (aka statically linked) versions of
|
|
# native libraries where possible.
|
|
bundled = ["rusqlite/bundled"]
|
|
|
|
analytics = ["moonfire-tflite", "ffmpeg/swscale"]
|
|
|
|
[workspace]
|
|
members = ["base", "db"]
|
|
|
|
[dependencies]
|
|
base = { package = "moonfire-base", path = "base" }
|
|
base64 = "0.13.0"
|
|
blake3 = "0.3.7"
|
|
bytes = "1"
|
|
byteorder = "1.0"
|
|
cstr = "0.2.5"
|
|
cursive = "0.16.3"
|
|
db = { package = "moonfire-db", path = "db" }
|
|
failure = "0.1.1"
|
|
ffmpeg = { package = "moonfire-ffmpeg", git = "https://github.com/scottlamb/moonfire-ffmpeg" }
|
|
futures = "0.3"
|
|
fnv = "1.0"
|
|
h264-reader = { git = "https://github.com/dholroyd/h264-reader" }
|
|
http = "0.2.3"
|
|
http-serve = { version = "0.3.0", features = ["dir"] }
|
|
hyper = { version = "0.14.2", features = ["http1", "server", "stream", "tcp"] }
|
|
lazy_static = "1.0"
|
|
libc = "0.2"
|
|
log = { version = "0.4", features = ["release_max_level_info"] }
|
|
memchr = "2.0.2"
|
|
memmap = "0.7"
|
|
moonfire-tflite = { git = "https://github.com/scottlamb/moonfire-tflite", features = ["edgetpu"], optional = true }
|
|
mylog = { git = "https://github.com/scottlamb/mylog" }
|
|
nix = "0.19.0"
|
|
nom = "6.0.0"
|
|
parking_lot = { version = "0.11.1", features = [] }
|
|
protobuf = { git = "https://github.com/stepancheg/rust-protobuf" }
|
|
reffers = "0.6.0"
|
|
ring = "0.16.2"
|
|
rusqlite = "0.24.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
smallvec = "1.0"
|
|
structopt = { version = "0.3.13", features = ["default", "wrap_help"] }
|
|
sync_wrapper = "0.1.0"
|
|
time = "0.1"
|
|
tokio = { version = "1.0", features = ["macros", "parking_lot", "rt-multi-thread", "signal", "time"] }
|
|
tokio-stream = "0.1.5"
|
|
tokio-tungstenite = "0.13.0"
|
|
url = "2.1.1"
|
|
uuid = { version = "0.8", features = ["serde", "std", "v4"] }
|
|
|
|
[dev-dependencies]
|
|
reqwest = { version = "0.11.0", default-features = false, features = ["json"] }
|
|
tempdir = "0.3"
|
|
|
|
[profile.dev.package.scrypt]
|
|
# On an Intel i3-6100U @ 2.30 GHz, a single scrypt password hash takes 7.6
|
|
# seconds at opt-level=0, or 0.096 seconds at opt-level=2. Always optimize this
|
|
# crate to avoid seeming hung / being annoyingly slow when debugging.
|
|
opt-level = 2
|
|
|
|
[profile.release]
|
|
debug = true
|
|
|
|
[profile.bench]
|
|
debug = true
|