mirror of
https://github.com/Stremio/stremio-shell-ng.git
synced 2026-05-06 15:49:32 +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 |
||
|---|---|---|
| .. | ||
| stremio_app | ||
| main.rs | ||