Files
nokhwa/Cargo.toml
T

152 lines
3.8 KiB
TOML

[package]
name = "nokhwa"
version = "0.11.0"
authors = ["l1npengtul <l1npengtul@protonmail.com>"]
edition = "2021"
description = "A Simple-to-use, cross-platform Rust Webcam Capture Library"
keywords = ["camera", "webcam", "capture", "cross-platform"]
categories = ["api-bindings", "multimedia", "os", "web-programming"]
license = "Apache-2.0"
repository = "https://github.com/l1npengtul/nokhwa"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[workspace]
members = ["nokhwa-bindings-macos", "nokhwa-bindings-windows", "nokhwa-bindings-linux", "nokhwa-core", "examples/*"]
exclude = ["examples/jscam"]
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["decoding-yuv","decoding-mozjpeg"]
serialize = ["serde", "nokhwa-core/serialize"]
decoding-yuv = ["mozjpeg"]
decoding-mozjpeg = ["mozjpeg"]
input-avfoundation = ["nokhwa-bindings-macos", "flume"]
input-msmf = ["nokhwa-bindings-windows"]
input-v4l = ["nokhwa-bindings-linux"]
input-native = ["input-avfoundation", "input-v4l", "input-msmf"]
# Re-enable it once soundness has been proven + mozjpeg is updated to 0.9.x
# input-uvc = ["uvc", "uvc/vendor", "usb_enumeration", "lazy_static"]
input-opencv = ["opencv", "opencv/rgb", "rgb", "nokhwa-core/opencv-mat"]
input-jscam = [ "wasm-bindgen-futures", "wasm-rs-async-executor", "output-async", "js-sys", "web-sys"]
output-wgpu = ["wgpu", "nokhwa-core/wgpu-types"]
#output-wasm = ["input-jscam"]
output-threaded = []
output-async = ["nokhwa-core/async", "async-trait"]
docs-only = ["input-native", "input-opencv", "input-jscam","output-wgpu", "output-threaded", "serialize"]
docs-nolink = ["nokhwa-core/docs-features"]
docs-features = []
test-fail-warning = []
[dependencies]
thiserror = "1.0"
paste = "1.0"
[dependencies.mozjpeg]
version = "0.10"
optional = true
[dependencies.dcv-color-primitives]
version = "0.6"
optional = true
[dependencies.nokhwa-core]
version = "0.2"
path = "nokhwa-core"
[dependencies.serde]
version = "1.0"
optional = true
[dependencies.flume]
version = "0.11"
optional = true
[dependencies.image]
version = "0.25"
default-features = false
[dependencies.usb_enumeration]
version = "0.2"
optional = true
[dependencies.wgpu]
version = "0.19"
optional = true
[dependencies.opencv]
version = "0.89"
default-features = false
features = ["videoio"]
optional = true
[dependencies.rgb]
version = "0.8"
optional = true
[dependencies.nokhwa-bindings-windows]
version = "0.4"
path = "nokhwa-bindings-windows"
optional = true
[dependencies.nokhwa-bindings-macos]
version = "0.2"
path = "nokhwa-bindings-macos"
optional = true
[dependencies.nokhwa-bindings-linux]
version = "0.1"
path = "nokhwa-bindings-linux"
optional = true
[dependencies.regex]
version = "1.7"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"console",
"CanvasRenderingContext2d",
"CssStyleDeclaration",
"Document",
"Element",
"HtmlElement", "HtmlVideoElement", "HtmlCanvasElement",
"ImageData",
"MediaDevices", "MediaDeviceInfo", "MediaDeviceKind", "MediaStreamConstraints", "MediaTrackSupportedConstraints", "MediaStream", "MediaStreamTrack", "MediaTrackSettings", "MediaTrackConstraints", "MediaStreamTrackState",
"MimeType", "MimeTypeArray",
"Navigator",
"Node",
"OffscreenCanvas",
"Permissions", "PermissionDescriptor", "PermissionState", "PermissionStatus",
"Plugin", "PluginArray",
"Window"
]
optional = true
# FIXME: Change me back! Pls! REMEMBER PEG!
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.wasm-rs-async-executor]
version = "0.9"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[package.metadata.docs.rs]
features = ["docs-only", "docs-nolink", "docs-features"]