forked from l1npengtul/nokhwa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
127 lines (106 loc) · 3.41 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[package]
name = "nokhwa"
version = "0.11.0"
authors = ["l1npengtul <[email protected]>"]
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", "input-native", "output-convert-to-rgb"]
serialize = ["serde", "nokhwa-core/serialize"]
input-avfoundation = ["nokhwa-bindings-macos"]
input-msmf = ["nokhwa-bindings-windows"]
input-v4l = ["nokhwa-bindings-linux"]
input-native = ["input-avfoundation", "input-v4l", "input-msmf"]
input-jscam = ["web-sys", "js-sys", "wasm-bindgen-futures", "wasm-bindgen", "wasm-rs-async-executor"]
# output-wasm = ["input-jscam"]
output-threaded = []
output-convert-to-rgb = ["ffmpeg-next"]
small-wasm = []
docs-only = ["input-native", "input-jscam", "output-threaded", "serialize"]
docs-nolink = ["nokhwa-core/docs-features"]
docs-features = []
test-fail-warning = []
[dependencies]
thiserror = "1.0"
paste = "1.0"
four-cc = "0.4.0"
[patch.crates-io]
ffmpeg-sys-next = { git = "https://github.com/AlexHayton/rust-ffmpeg-sys.git" }
four-cc = { git = "https://github.com/AlexHayton/four-cc.git" }
core-video = { git = "https://github.com/AlexHayton/core-video-rs.git" }
av-foundation = { git = "https://github.com/AlexHayton/av-foundation-rs.git" }
[dependencies.nokhwa-core]
version = "0.1.0"
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.ffmpeg-next]
version = "7.0.2"
optional = true
default-features = false
features = ["software-scaling", "build"]
[dependencies.v4l]
version = "0.14"
optional = true
[dependencies.nokhwa-bindings-windows]
version = "0.4.0"
path = "nokhwa-bindings-windows"
optional = true
[dependencies.nokhwa-bindings-macos]
version = "0.2.0"
path = "nokhwa-bindings-macos"
optional = true
[dependencies.nokhwa-bindings-linux]
version = "0.1.0"
path = "nokhwa-bindings-linux"
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"]