• v0.1.1-dev42 a3d2cc9c59

    Build v0.1.1-dev42
    All checks were successful
    Forgejo Publish Release / windows-package (push) Successful in 1m21s
    Forgejo Publish Release / linux-package (push) Successful in 3m46s
    Forgejo Publish Release / publish-release (push) Successful in 11s
    Pre-release

    stu released this 2026-04-10 19:48:17 +00:00 | 470 commits to master since this release

    Nightly build from 5c218da6c8 (Forgejo dev pipeline). Assets are replaced each run.

    Highlights (v0.1.1-dev42)

    • GStreamer fully removed** — All internal/player/gstreamer* deleted; native_media build tag is the only player path. No more GStreamer dependency at runtime or build time.
    • Player lifecycle fix** — closeNativePlayer() prevents audio hanging on module switch; Widget().Refresh() deferred after canvas swap.
    • D3D11VA get_format callback** — Accepts AV_PIX_FMT_D3D11VA_VLD so D3D11VA decode starts on first packet.
    • H.264 + D3D11VA crash fix** — Pre-warm D3D11VA before first decode call.
    • Dedicated HW frame buffers** — Separate hwFramesCtx prevents races between HW download and SW display paths.
    • Lazy swsCtx creation** — Created on first toRGBA() call; avoids crash from invalid pixel format before first HW decode.
    • HW frame transfer mutex** — videoCodecMu held during HW→SW transfer; eliminates concurrent AVCodecContext access.
    • HW decode codec filtering** — Only codecs that work without get_format callback get HW decode enabled.

    Full details: docs/CHANGELOG.md

    Downloads