Skip to content

v0.1.6-alpha

Latest

Choose a tag to compare

@aelrased aelrased released this 21 Jun 01:39
· 37 commits to linux-native-player since this release

Fixes applied (commits 4866617 through a138e92)

Compilation errors

All unresolved references (desktopHwdecMode, customMpvProperties, compose_player_volume) are now defined across all platform targets. Build compiles cleanly.

SIGSEGV crash

Root cause was the render thread accessing freed mpv state during dispose(). Fixed by calling mpv_wakeup() before setting alive=0, eliminating the 16ms race window (a138e92).

Memory leak (13 GB)

Caused by decoded-frame accumulation in the mpv render pipeline. Mitigated with:

  • vd-lavc-dr=no to prevent decoder from holding decoded frames
  • video-latency-hacks=yes to reduce buffering overhead
  • Proper frameReady flag reset and buffer lifecycle in renderFrameToBuffer()

Laggy playback

The 16ms poll loop was not properly synchronized with mpv render updates. The render thread now uses mpv_wait_event() with a 16ms timeout and MPV_RENDER_UPDATE_FRAME flag checks, matching vsync cadence.

Colors too bright

Added proper color-space configuration:

  • target-prim=bt.709, target-trc=srgb
  • video-output-levels=full
  • icc-profile-auto=yes
  • deband=yes, dither-depth=auto

libmpv 0.40 compatibility

Removed MPV_RENDER_PARAM_MIN_FRAME_DURATION which is not supported in libmpv 0.40+ (08cc40a).

Desktop icons

Replaced oversized icons with properly sized PNGs (16-256px). Linux taskbar icon set via AWT Toolkit.

Linux packaging

  • DEB: Added 20+ runtime dependencies (libmpv2, libasound2, libpulse0, etc.) so apt installs them automatically
  • AppImage: Added AppStream metadata, update information for Gear Lever, and .zsync for delta updates