mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-02 10:03:28 +00:00
* initial ffprobe commit * Working slim down version ffprobe * Auto format ffprobe and deps source * Remove show_pixel_formats logic - Fix do_bitexact incorrect check in main after last changes - Fix some clangd warning * Remove show_* and print_format options and their respective logic * Rework ffprobe into simple_ffprobe - Simplify ffprobe logic into a simple program that gather and print a media file metadata * Reduce the amount of ffmpeg log messages while generating thumbnails * Fix completly wrong comments * mend * Start modeling ffmpeg extracted metadata on schema - Start porting ffprobe code to rust - Rename some references to media_data to exif_data * Finish modeling media info data - Add MediaProgram, MediaStream, MediaCodec, MediaVideoProps, MediaAudioProps, MediaSubtitleProps to Schema - Fix simple_ffproble to use its custom print_codec, instead of ffmpeg's impl * Add relation between MediaInfo and FilePath - Remove shared properties from MediaInfo and related structs - Implement Iterator for FFmpegDict * Fix and update schema * Data models and start populating MediaInfo in rust * Finish populating media info, chapters and program * Improve FFmpegFormatContext data raw pointer access - Implement stream data gathering * Impl FFmpegCodecContext, retrieve codec information - Improve some unsafe pointer uses - Impl from FFmpegFormatContext to MediaInfo conversion * Fix FFmpegDict Drop * Fix some crago warnings * Impl retrieval of video props - Fix C char* to Rust String convertion * Impl retrieval of audio and subtitle props - Fill props for MediaCodec * Remove simple_ffprobe now that the Rust impl is done * Fix schema to match actually retrieved media info - Fix import some FFmpeg constants instead of directly using values * Rework movie_decoder - Re-implement create_scale_string and add support anamorphic video - Improve C pointer access for FFmpegFormatContext and FFmpegCodecContext - Use newer FFmpeg abstractions in movie_decoder * Fix incorrect props when initializing MovieDecoder * Remove unecessary lifetimes * Added more native wrappers for some FFmpeg native objects used in movie_decoder * Remove FFmpegPacket - Some more improvements to movie_decoder * WIP * Some small fixes * More fixes Rename movie_decoder to frame_decoder Remove more references to film_strips * fmt * Fix duplicate migration for job error changes * fix rebase * Solving segfaults, fuck C lang Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com> * Update rust to version 1.77 - Pin rust version with rust-toolchain.toml - Change from dtolnay/rust-toolchain to IronCoreLabs/rust-toolchain for rust-toolchain support - Remove unused function and imports - Replace most CString uses with new c literal string * More segfault solving and other minor fixes Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com> * Fix ffmpeg rotation filter breaking portrait video thumbnails #2150 - Plus some other misc fixes * Auto format * Retrieve video/audio metadata on frontend * Auto format * First draft on ffmpeg data save on db Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com> * Fix some incorrect changes to prisma schema * Some fixes for the FFmpegData schema - Expand logic to save FFmpegData to db * A ton of things Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com> * Integrating ffmpeg media data in jobs and API * Rspc can't BigInt * 🙄 * Add initial ffmpeg metadata entries to Inspector - Fix ephemeral metadata api to match the files metadata api call * Fix Inspector not showing ffmpeg metadata * Add bitrate, start time and chapters video metadata to Inspector - Fix backend BigInt conversion incorrectly using i32 instead of u32 - Change FFmpegFormatContext/FFmpegMetaData bit_rate to i64 - Rename byteSize to humanizeSize - Expand humanizeSize logic to allow handling bits and Binary units - Move capitalize to @sd/client utils * Solving some issues * Fix ffmpeg probe getting incorrect stream id and breaking database unique constraint - Fix humanizeSize breaking when receiving floating numbers - Fix incorrect equality in StatCard - Fix unhandled error in Dialog when trying to remove an unknown dialog * fmt * small improvements - Remove some unecessary recursion_limit directive - Remove unused app_image releated functions - Fix metadata query enabled flag * Add migration for ffmpeg media data * Fix cypress test * Requested changes * Implement feedback - Update locale keys for all languages - Add pnpm command to update all language keys * Fix thumb reactivity in non indexed locations --------- Co-authored-by: Ericson Soares <ericson.ds999@gmail.com> Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
125 lines
3.7 KiB
TOML
125 lines
3.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"core",
|
|
"core/crates/*",
|
|
"crates/*",
|
|
"apps/cli",
|
|
"apps/p2p-relay",
|
|
"apps/desktop/src-tauri",
|
|
"apps/desktop/crates/*",
|
|
"apps/mobile/modules/sd-core/core",
|
|
"apps/mobile/modules/sd-core/android/crate",
|
|
"apps/mobile/modules/sd-core/ios/crate",
|
|
"apps/server",
|
|
]
|
|
|
|
[workspace.package]
|
|
license = "AGPL-3.0-only"
|
|
edition = "2021"
|
|
repository = "https://github.com/spacedriveapp/spacedrive"
|
|
|
|
[workspace.dependencies]
|
|
# First party dependencies
|
|
prisma-client-rust = { git = "https://github.com/spacedriveapp/prisma-client-rust", rev = "528ab1cd02c25a1b183c0a8bc44e28954fdd0bfd", features = [
|
|
"migrations",
|
|
"specta",
|
|
"sqlite",
|
|
"sqlite-create-many",
|
|
], default-features = false }
|
|
prisma-client-rust-cli = { git = "https://github.com/spacedriveapp/prisma-client-rust", rev = "528ab1cd02c25a1b183c0a8bc44e28954fdd0bfd", features = [
|
|
"migrations",
|
|
"specta",
|
|
"sqlite",
|
|
"sqlite-create-many",
|
|
], default-features = false }
|
|
prisma-client-rust-sdk = { git = "https://github.com/spacedriveapp/prisma-client-rust", rev = "528ab1cd02c25a1b183c0a8bc44e28954fdd0bfd", features = [
|
|
"sqlite",
|
|
], default-features = false }
|
|
rspc = { version = "0.1.4" }
|
|
specta = { version = "=2.0.0-rc.11" }
|
|
tauri-specta = { version = "=2.0.0-rc.8" }
|
|
|
|
swift-rs = { version = "1.0.6" }
|
|
|
|
# Third party dependencies used by one or more of our crates
|
|
anyhow = "1.0.75"
|
|
async-channel = "2.0.0"
|
|
async-trait = "0.1.77"
|
|
axum = "=0.6.20"
|
|
base64 = "0.21.5"
|
|
blake3 = "1.5.0"
|
|
chrono = "0.4.38"
|
|
clap = "4.4.7"
|
|
futures = "0.3.30"
|
|
futures-concurrency = "7.4.3"
|
|
globset = "^0.4.13"
|
|
hex = "0.4.3"
|
|
http = "0.2.9"
|
|
image = "0.24.7"
|
|
itertools = "0.12.0"
|
|
lending-stream = "1.0.0"
|
|
libc = "0.2"
|
|
normpath = "1.1.1"
|
|
once_cell = "1.18.0"
|
|
pin-project-lite = "0.2.13"
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
regex = "1.10.2"
|
|
reqwest = "0.11.22"
|
|
rmp-serde = "1.1.2"
|
|
rmpv = { version = "^1.0.1", features = ["with-serde"] }
|
|
serde = "1.0"
|
|
serde_json = "1.0"
|
|
static_assertions = "1.1.0"
|
|
strum = "0.25"
|
|
strum_macros = "0.25"
|
|
tempfile = "3.8.1"
|
|
thiserror = "1.0.50"
|
|
tokio = "1.36.0"
|
|
tokio-stream = "0.1.14"
|
|
tokio-util = "0.7.10"
|
|
tracing = "0.1.40"
|
|
tracing-subscriber = "0.3.18"
|
|
tracing-appender = "0.2.3"
|
|
tracing-test = "^0.2.4"
|
|
uhlc = "=0.5.2"
|
|
uuid = "1.5.0"
|
|
webp = "0.2.6"
|
|
|
|
[patch.crates-io]
|
|
# Proper IOS Support
|
|
if-watch = { git = "https://github.com/oscartbeaumont/if-watch.git", rev = "a92c17d3f85c1c6fb0afeeaf6c2b24d0b147e8c3" }
|
|
|
|
# We hack it to the high heavens
|
|
rspc = { git = "https://github.com/spacedriveapp/rspc.git", rev = "ab12964b140991e0730c3423693533fba71efb03" }
|
|
|
|
# Add `Control::open_stream_with_addrs`
|
|
libp2p = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" }
|
|
libp2p-core = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" }
|
|
libp2p-swarm = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" }
|
|
libp2p-stream = { git = "https://github.com/spacedriveapp/rust-libp2p.git", rev = "a005656df7e82059a0eb2e333ebada4731d23f8c" }
|
|
|
|
blake3 = { git = "https://github.com/spacedriveapp/blake3.git", rev = "d3aab416c12a75c2bfabce33bcd594e428a79069" }
|
|
|
|
[profile.dev]
|
|
# Make compilation faster on macOS
|
|
split-debuginfo = "unpacked"
|
|
|
|
# Set the settings for build scripts and proc-macros.
|
|
[profile.dev.build-override]
|
|
opt-level = 3
|
|
|
|
# Set the default for dependencies, except workspace members.
|
|
[profile.dev.package."*"]
|
|
opt-level = 3
|
|
incremental = false
|
|
|
|
# Optimize release builds
|
|
[profile.release]
|
|
panic = "abort" # Strip expensive panic clean-up logic
|
|
codegen-units = 1 # Compile crates one after another so the compiler can optimize better
|
|
lto = true # Enables link to optimizations
|
|
opt-level = "s" # Optimize for binary size
|
|
strip = true # Remove debug symbols
|