# cosmic-player WIP COSMIC media player ## Yoda local fork notes This fork is used for the local COSMIC desktop build. Local integration changes: - `cosmic-player` depends on the local `libcosmic-yoda` crate from `../libcosmic` instead of upstream `pop-os/libcosmic`. - `iced_video_player` is vendored in `vendor/iced_video_player` so it uses the same local `libcosmic-yoda` and `iced_wgpu` stack. This avoids mixing upstream and local Iced/libcosmic types. - The app now runs `App::close()` before application exit and before the Quit menu action exits the runtime. This lets the GStreamer pipeline be dropped normally instead of short-circuiting through `process::exit(0)`. - Thumbnail generation has a bounded wait for video frames. Some files/codecs can fail to produce a frame; the thumbnailer now returns an error instead of spinning forever as a background `cosmic-player --thumbnail ...` process. Validation commands: ```bash cargo +1.93.0 check cargo +1.93.0 tree -i libcosmic-yoda --depth 2 cargo +1.93.0 tree -i libcosmic --depth 2 || true ``` Local redeploy: ```bash COSMIC_PLAYER_REPO=/home/lionel/Projets/COSMIC/cosmic-player ./redeploy.sh ```