mirror of
https://github.com/Stremio/stremio-shell-ng.git
synced 2026-05-06 11:39:33 +00:00
The 4.x -> 5.x release folded `EventContext` into `Mpv` and made `wait_event` take `&mut self`, so the previous design (a single `Arc<Mpv>` shared between the message and event threads, with the event thread constructing its own `EventContext` from `mpv.ctx`) no longer compiles. Migration: - Build the main `Mpv` (with `wid`, `title`, etc.) and use it from the message thread for commands and `set_property`. - `create_client(None)` a sub-client `Mpv`, owned by the event thread, which calls `disable_deprecated_events`/`observe_property`/`wait_event` on itself. Global events (`EndFile`, `Shutdown`) and property changes observed by this client land in its event queue. - Replace the old `MpvExt::wake_up` (which woke the main `Mpv`) with an `EventClientWakeup` holding the sub-client's `mpv_handle` pointer, so the message thread can interrupt the event thread's blocking `wait_event` after pushing a new observe request onto the channel. Also removed the `PropertyData::Node(_)` match arm in `communication.rs`: 5.0.0 dropped `mpv_node` support, so the variant no longer exists and the match is exhaustive without it. https://claude.ai/code/session_01CuGHFREBZFkf8tfaiRV4K6
49 lines
1.1 KiB
TOML
49 lines
1.1 KiB
TOML
[package]
|
|
name = "stremio-shell-ng"
|
|
version = "5.0.21"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
once_cell = "1.19"
|
|
native-windows-gui = { git = "https://github.com/Stremio/native-windows-gui", features = [
|
|
"high-dpi",
|
|
"notice",
|
|
"tray-notification",
|
|
"menu",
|
|
] }
|
|
native-windows-derive = "1"
|
|
winapi = { version = "0.3.9", features = [
|
|
"libloaderapi",
|
|
"handleapi",
|
|
"jobapi2",
|
|
"wincon",
|
|
"winuser",
|
|
"namedpipeapi",
|
|
] }
|
|
webview2 = "0.1.4"
|
|
webview2-sys = "0.1.1"
|
|
libmpv2 = "5.0.3"
|
|
libmpv2-sys = "4.0.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
clap = { version = "4", features = ["derive", "unicode"] }
|
|
open = "5"
|
|
urlencoding = "2"
|
|
bitflags = "2"
|
|
parse-display = "0.9"
|
|
flume = "0.11"
|
|
whoami = "1.5"
|
|
anyhow = "1"
|
|
semver = "1"
|
|
sha2 = "0.10"
|
|
reqwest = { version = "0.12", features = ["stream", "json", "blocking"] }
|
|
rand = "0.8"
|
|
url = { version = "2", features = ["serde"] }
|
|
uuid = { version = "1.19", features = ["v4"]}
|
|
|
|
[build-dependencies]
|
|
winres = "0.1"
|
|
chrono = "0.4.22"
|
|
zip-extract = "0.4"
|
|
[dev-dependencies]
|
|
serde_test = "1.0.*"
|