Files
qbz/crates/qbz-player/Cargo.toml
T
vicrodh 7b84fa9a7b feat(qbz-player): L1+L2 playback cache for instant replay
play_track now checks the qbz-cache two-level cache (L1 memory ~400 MB
+ L2 disk ~800 MB) before fetching: a hit replays through play_data,
skipped only when the cached copy is a lower quality than requested
(cached_quality_below_requested, ported from Tauri). After a play the
track is stored — the CMAF path accumulates the assembled FLAC while
streaming, the legacy path stores the download. streaming_only
suppresses the write.

cc
2026-05-19 01:25:08 -06:00

41 lines
877 B
TOML

[package]
name = "qbz-player"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Playback engine and queue management for QBZ"
[dependencies]
qbz-models = { path = "../qbz-models" }
qbz-audio = { path = "../qbz-audio" }
qbz-qobuz = { path = "../qbz-qobuz" }
qbz-cmaf = { path = "../qbz-cmaf" }
qbz-cache = { path = "../qbz-cache" }
# Serialization
serde = { workspace = true }
# Async
tokio = { workspace = true }
async-trait = { workspace = true }
futures-util = { workspace = true }
tokio-stream = { workspace = true }
# Logging
log = { workspace = true }
# Error handling
thiserror = { workspace = true }
# Random (for shuffle)
rand = "0.9"
# Audio decoding
symphonia = { workspace = true }
# Audio playback
rodio = { version = "0.22", features = ["symphonia-all"] }
# HTTP client for streaming
reqwest = { workspace = true }