[package] name = "nokhwa" version = "0.10.5" authors = ["l1npengtul "] 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 = ["flume", "decoding"] serialize = ["serde", "nokhwa-core/serialize"] decoding = ["nokhwa-core/mjpeg"] input-avfoundation = ["nokhwa-bindings-macos"] input-msmf = ["nokhwa-bindings-windows"] input-v4l = ["nokhwa-bindings-linux"] # Disable arena buffer on v4l # This should fix crash on Raspberry Pi that have faulty v4l driver. # WARNING: This create a performance regression, half of the frames will be dropped # You shouldn't enable this unless you have to. input-v4l-no-arena-buffer = ["nokhwa-bindings-linux/no-arena-buffer"] 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/videoio", "opencv/rgb", "rgb", "nokhwa-core/opencv-mat"] input-jscam = ["web-sys", "js-sys", "wasm-bindgen-futures", "wasm-bindgen", "wasm-rs-async-executor"] output-wgpu = ["wgpu", "nokhwa-core/wgpu-types"] #output-wasm = ["input-jscam"] output-threaded = ["parking_lot", "camera-sync-impl"] camera-sync-impl = [] small-wasm = [] 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.nokhwa-core] version = "0.1" 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 = "22" optional = true [dependencies.opencv] version = "0.93" default-features = false 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.parking_lot] version = "0.12" 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", "Permissions", "PermissionDescriptor", "PermissionState", "PermissionStatus", "Plugin", "PluginArray", "Window" ] optional = true [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 [package.metadata.docs.rs] features = ["docs-only", "docs-nolink", "docs-features"]