nandi/jolt-nativepublic Fork 0
cfd3e3677bed92e80cfe447469a249cfdc0b1401
Commits
Clone
git clone https://git.rickub.com/nandi/jolt-native.git
git clone ssh://git@rickub.com/nandi/jolt-native.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Cargo.toml · 59 lines · 2.3 KBTOML Blame HistoryRaw
Lift freeq's AV media plane out of sleek 90f8b89 nandi 20d ago1[package]
2name = "jolt-moq"
3description = "freeq's AV media plane — MoQ over QUIC, Opus and H.264 — behind a C ABI"
4version.workspace = true
5edition.workspace = true
6license.workspace = true
7repository.workspace = true
8
9[lib]
10# The object jolt loads. `rlib` beside it so the crate's own tests — and any
11# Rust consumer that would rather not go through C — can use it directly.
12name = "joltmoq"
13crate-type = ["cdylib", "rlib"]
14
15[features]
16# cpal's native PipeWire host, on by default. Without it only ALSA PCMs are
17# visible ("pipewire", "sysdefault") and the real OS sources a browser would
18# offer — "EMEET SmartCam C960 Mono" and friends — cannot be picked at all, so
19# device selection in a call becomes guesswork.
20#
21# It is a feature rather than unconditional because it builds `libspa-sys`,
22# which needs pkg-config and PipeWire's own headers on the build machine. The
23# flake at the workspace root supplies them; `--no-default-features` is for a
24# machine that has neither and only needs the crate to compile.
25default = ["pipewire"]
26pipewire = ["cpal/pipewire"]
27
28[dependencies]
29jolt-abi.workspace = true
30log.workspace = true
31
32iroh-live = { git = "https://github.com/n0-computer/iroh-live", rev = "edd9bcc530a615f3ab3a6919e96790a077905376", default-features = false, features = [
33 "opus",
34 "h264",
35 "capture-camera",
36] }
37moq-native = { git = "https://github.com/Frando/moq", branch = "deps/iroh-main", default-features = false, features = [
38 "noq",
39 "websocket",
40 "aws-lc-rs",
41] }
42moq-lite = { git = "https://github.com/Frando/moq", branch = "deps/iroh-main" }
43# aws-lc-rs rather than ring, to match what moq-native and iroh already pull in.
44rustls = { version = "0.23", default-features = false, features = ["aws-lc-rs"] }
45cpal = { path = "../../third-party/cpal" }
46# V4L2 capture: the fallback path for cameras rusty-capture mishandles.
47v4l2r = "0.0.7"
48# JPEG only — the V4L2 path converts MJPEG frames, and nothing here reads or
49# writes a picture file, so the rest of the format set is dead weight.
50image = { version = "0.25", default-features = false, features = ["jpeg"] }
51# One query parameter (`inst=`) needs escaping. That is the whole use.
52urlencoding = "2"
53libc = "0.2"
54n0-future = "0.3"
55tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] }
56anyhow = "1"
57url = "2"
58rand = "0.8"
59env_logger = "0.11"