Av1an/av1an-core/Cargo.toml
redzic adf67a85f3
Refactor: fix chunk restarting, progress bar, and potential race condition (#316)
`DoneJson` is now a concurrent data structure, via `DashMap` and atomics
in the standard library. This should help avoid any potential race
conditions involved with one thread reading `done.json` while another
thread writes to it. Now, we only write to `done.json`, so any failure
from parsing the json while encoding is impossible.

The audio encoding is now done on a separate thread, and it is not
assumed that the audio encoding was finished if the `--resume` flag was
specified, which is now kept track of within `done.json`.

The initialization of the progress bar(s) now does not occur if the
corresponding initialization functions were not called, and the
functions to update the progress bar(s) are a NO-OP if it was not
initialized, rather than implicitly initializing it through the use of
the `Lazy` type from `once_cell`.

Additionally, all 3 concatenation functions now reside in the `concat` module.
2021-07-26 21:01:52 +03:00

45 lines
1.2 KiB
TOML

[package]
name = "av1an-core"
version = "0.1.2"
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log = "0.4.14"
av-format = "0.3.1"
av-ivf = { git = "https://github.com/rust-av/ivf-rs", rev="031aab76d1fc70a4b8518dc2ef5c3f4f1d839721" }
num_cpus = "1.13.0"
anyhow = "1.0.42"
serde_json = "1.0"
serde = { version="1.0", features=["derive"] }
sysinfo = "0.19.1"
vapoursynth = { version="0.3.0", features=["vsscript-functions", "vapoursynth-functions"] }
clap = "2.33.3"
num-rational = "0.4.0"
failure = "0.1.8"
regex = "1.5.4"
plotters = "0.3.1"
splines = "4.0.0"
indicatif = { git = "https://github.com/mitsuhiko/indicatif", branch = "main" }
once_cell = "1.8.0"
chrono = "0.4.19"
strum = { version = "0.21", features = ["derive"] }
itertools = "0.10.1"
parking_lot = "0.11.1"
av1an-scene-detection = { path="../av1an-scene-detection" }
which = "4.1.0"
strsim = "0.10.0"
crossbeam-channel = "0.5.1"
crossbeam-utils = "0.8.5"
flexi_logger = "0.18.0"
textwrap = "0.14.2"
path_abs = "0.5.1"
[dependencies.tokio]
version = "1"
features = ["rt", "process", "io-util"]
[dependencies.dashmap]
version = "4.0.2"
features = ["serde"]