stremio-shell-ng/Cargo.toml
Claude 9b057a0030
Bump libmpv2 crate from 4.1.0 to 5.0.3
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
2026-05-05 07:59:26 +00:00

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.*"