Changelog
- Core: Fix playback deadlocks, race conditions and decoder lifecycle synchronization
- FlyleafHost.Wpf: Fixes a DPI issue
Deadlock & Race Condition Fixes
- Fixed several deadlocks and race conditions affecting playback, seeking, stream switching, and decoder lifecycle.
- Fixed audio decoder lock leaks caused by early exits during decoding and filter processing.
- Improved decoder/demuxer thread synchronization during Start, Stop, Pause, and restart operations.
- Fixed concurrent Play/Pause/Seek races, including duplicate playback workers and interrupted initialization.
- Resolved lock-order inversions between decoder opening, seeking, and codec reopening.
- Improved seek handling by ensuring decoders are properly paused before seeking and restarted when required.
- Improved FFmpeg context lifetime safety by synchronizing decoder and demuxer disposal.
- Fixed a native crash caused by video stream switching overlapping paused-seek frame extraction (
GetVideoFrame()). - Improved stability when handling network streams, torrents, rapid seeking, and stream switching.
Package Contents
FlyleafPlayer Pop-up on first run is to add itself to windows firewall for proper yt-dlp and bitswarm playback
Plugins
- OpenSubtitlesOrg
- SubtitlesConverter
- TorrentBitSwarm
- YTDLP
FFmpeg v9.0 (0056dd3)
- Patched for .NET issue
- Minimal Flyleaf requirements (Windows only, No Encoders etc.)