Releases: SuRGeoNix/Flyleaf
Flyleaf v3.4.5 (AIO x64 .NET6)
Compiled Libraries, Plugins & Samples
Flyleaf Player | Note: Pop-up on first run is to add itself to windows firewall for proper yt-dlp and bitswarm playback
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.1.2 patched for HLS issue
D3D11 Video Processor Support & Media Renderer Improvements
Extends the current embedded video processor (FLVP pixel shaders) with the D3D11VP to support more filters, alternative color conversions, basic bob deinterlace and preparing others including HDR native.
Use Config.Video.VideoProcessor to choose which one to use. By default "Auto" is recommended to allow the library to switch when it requires.
- FLVP supports HDR to SDR, D3D11 does not
- FLVP supports Pan Move/Zoom, D3D11 does not
- D3D11 possible performs better with color conversion and filters, FLVP supports only brightness/contrast filters
- D3D11 supports deinterlace (bob)
- D3D11 currently performs only with video accelerated (hardware) frames
Adds Config.Video.Deinterlace to enable/disable deinterlace
Adds Config.Video.Filters to set filters (ensure that is actually available and supported by the VPs)
Adds Config.Player.MouseBindings.WinMoveOnDrag to allow draging the control's parent window (enabled by default)
Adds Player.LastError to keep track of open/playback/buffering errors in the UI
Renderer: Code clean up and improvements
Renderer: TakeSnapshot now works more efficiently
Controls.WPF: Updates Settings with Filters/Deinterlace
Extractor: Adds support also to the new D3D11VP
Updates Vortice (you might need to update System.Runtime.CompilerServices.Unsafe to Version>=6.0.0.0)
Issues
Audio: Fixes a critical backwards compatibility issue with XAudio by updating Vortice libraries
Renderer: Possible brings back the broken backwards compatibility (Win7/Win8) from the previous 3.4.4 (not tested)
VideoDecoder: Fixes few performance issues with the new get_format / hardware frames allocation
Downloader: Fixes downloads that require two demusers (youtube-dl)
Player: Fixes ShowFramePrev issue that on some videos it wouldn't work
Flyleaf v3.4.4 (AIO x64 .NET6)
Compiled Libraries, Plugins & Samples
Flyleaf Player | Note: Pop-up on first run is to add itself to windows firewall for proper yt-dlp and bitswarm playback
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.1.2 patched for HLS issue
Video Acceleration, Disposal and Swaping Improvements
- Re-designs and improves Video Acceleration with custom hardware frame pool allocation, zero-copy, proper width/height alignments
- Re-designs and improves VideoDecoder's and MediaRenderer's disposal which resolves major memory leaks
- Re-designs of player's swap implementation with better perfomance (Uses the new static Player.SwapPlayers from now on for both WPF/WinForms)
- Renderer: Changes from Discard to FlipDiscard and from single backbuffer to two (for better performance and avoid memory leaks)
- Adds Master.RegisterPlugins to allow different path for plugins than default
- Plugins.YoutubeDL: Adds retries and fallback to manifest url support
- Controls.WPF: Adds PlayerDebug with all Player's properties
- Controls.WPF: Adds ZeroCopy to Video Settings
- Controls.WPF: Removes GPU Usage
- Controls.WPF: Updates MaterialDesign
Issues
- Fixes memory leaks caused by FFmpeg and VA by reseting the renderer on every new input
- Fixes an issue with Volume/Mute
- Fixes an issue with Enable/Disable Streams
Important / Breaking Changes
- Decoder: ZeroCopy automatically detects padding and will be disabled (changes Config.Decoder.ZeroCopy from bool to enum with Auto/Enabled/Disabled)
- Renderer: FlipDiscard with two backbufffers can cause issues with win7/8
Flyleaf v3.4.3 (AIO x64 .NET6)
(Updated on 1/5/2022 fixed a critical issue with FlyleafPlayer Sample, keybindings were not working)
Compiled Libraries, Plugins & Samples
Flyleaf Player | Note: Pop-up on first run is to add itself to windows firewall for proper yt-dlp and bitswarm playback
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.1.2 patched for HLS issue
Video Acceleration Performance Improvements
- Introduces Config.Decoder.ZeroCopy (enabled by default) to use the decoder's texture directly to the renderer's pipeline
- Introduces Config.Decoder.VAPoolSize to pre-allocate the hardware frames on the ffmpeg decoder (it was re-allocating them on every flush causing serious performance issues)
- Adds support for streams that change codecs live/dynamically (still in progress)
- Improves Player.Stop() with interrupt while opening
Issues
- Fixes a crashing issue during renderer's disposal
- Fixes an issue on audio device removal (by resetting players' with this device to default)
- Fixes an issue with VolumeMax
- Fixes an issue with Volume's value accuracy on get
- Fixes UI update issues with Volume and Mute
- Fixes an issue with AddFirewallRule and findstr (uses literal strings now)
- Fixes a critical issue with BitSwarm/APF that didn't allow to open an already created part file (3/1/2021 updated)
- Prevents Youtube-DL from opening some radio stations and mp3 (to avoid the delay)
Important/Breaking Changes
Drops support for MaxVideoFramesReverse, will use MaxVideoFrames instead (cannot be different at the moment)
Flyleaf v3.4.2 (AIO x64 .NET6)
Compiled Libraries, Plugins & Samples
Flyleaf Player | Note: Pop-up on first run is to add itself to windows firewall for proper yt-dlp and bitswarm playback
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.1.2 patched for HLS issue
Re-design audio implementation from the decoder's to the player's layer
- Replaces NAudio's Core/Wasapi with Vortice's XAudio2/MediaFoundation (Direct COM Interops)
- Performance and memory improvements for audio processing by using a single custom circular buffer
- Better audio/video sync and more accurate timestamps as now audio plays with zero latency
- More clear sound with no gaps between audio frames (it was happening at the beginning and after seeking)
- Possible fixes for audio bluetooth devices and few other NAudio issues with dead locks and threading
Important/Breaking Changes
- Audio output format changed from 32-bit to 16-bit (faster processing/less memory as currenlty 32-bit not required)
- AudioMaster handles only the audio devices now (everything else has been removed, e.g. master/session's volume/mute etc.)
- Config.Audio.Latency has been removed
Flyleaf v3.4 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.1.2 patched for HLS issue
[New Features]
- Helpers: Extended config and player with a number of new methods/properties/events/icommands to help the front-end development
- Key/Mouse Bindings: Adds and enables by default all the commonly used key and mouse bindings (check github wiki)
- Activity Mode: Monitors user's activity and notifies for Idle/Active/FullActive activity status changes
- Master Thread: Monitors and updates players activity mode, buffered duration and other stats
- Accurate Timestamps: Improves timestamps (including HLS live streams) accuracy and ensures UI refresh
- Accurate Seeking: Adds accurate seeking support to the additional keyframe seeking functionallity
- HLS Live: Adds seek in queue support
- Config: Timing adjustments to improve performance and use less resources
[Issues]
- Fixes critical issues with swaping
- Fixes critical read timeout issue with live streams
- Fixes critical yt-dlp plugin delay issue with ipv6
- Fixes a dead lock issue on multiple resyncs with audiodecoder
- Fixes and improves reverse playback and show frame (prev/next/x)
- Fixes and improves audio (only) player
[Important/Breaking Changes]
- Config.Demuxer.FormatOpt["probesize"] & Config.Demuxer.FormatOpt["analyzeduration"] have been added by default which can cause an already exists exception
- Config.Decoder.MaxAudioFrames changed from 30 to 10
- Config.Decoder.MaxVideoFrames changed from Math.Max(10, Environment.ProcessorCount) to 4
- Config.Demuxer.BufferDuration changed from 5 minutes to 2
- Config.Player.MinBufferDuration change from 1000ms to 500ms
- Config.Player.LowLatencyMaxVideoFrames changed from 4 to 2
- Config.Player.Speed & Config.Player.SpeedReverse moved to single Player.Speed (valid values 0.0 - 1.0 and 1,2,3,4)
- VideoView.IsFullScreen / FullScreen / NormalScreen moved to Player and support also WinForms now
- Set Config.Player.KeyBindings.Enabled = false if you don't need them
- Set Config.Player.MouseBindings.Enabled = false if you don't need them
- Set Config.Player.AutoPlay = false if you don't need it
Flyleaf v3.3.13 (AIO x64 .NET5)
Flyleaf v3.3.13 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.79 patched for HLS issue
Changes
Adds Reverse Playback support (Player.ReversePlayback, Config.Decoder.MaxVideoFramesReverse)
Adds Reverse Speed (Delay) support (Config.Player.SpeedReverse = 0.0 to 1.0)
Adds Frame-By-Frame Seek support (Player.ShowFrame(frameIndex), Player.ShowFrameNext() and Player.ShowFramePrev())
Adds fast Switch/Swap Player support between VideoViews (Note: you might need to unsubscribe from Player's and Control's events and re-subscribe after the swap)
Fixes a possible crash during UpdateCurTime() on demuxer
Controls.WPF: Adds Reverse Playback (Toggles from Video pop-up menu and with Ctrl+Backspace keybinding)
Controls.WPF: Adds Speed Reverse (x 1, x 0.75, x 0.50, x 0.25) (Set from Video pop up menu and with -,+ keybindings)
Controls.WPF: Adds Frame-By-Frame Seek (Ctrl+Left Arrow and Ctrl+Right Arrow)
Controls.WPF: Allows late Player's initialization
Flyleaf v3.3.11 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.79 patched for HLS issue
Changes
Adds support for systems with no audio devices or disabled audio service
Renderer: Adds support for other windows version such as Windows Server by re-creating the D3D11 device with lower feature levels
Renderer: Fixes a critical issue in case of multiple GPU adapters and selects the default one
Renderer: Updates Vortice
Downloader: Prevents Video Acceleration initialization
Remuxer (Download/Record): Copies audio language metadata to the output format
Flyleaf v3.3.10 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.79 patched for HLS issue
Flyleaf v3.3.9 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.79 patched for HLS issue
Flyleaf v3.3.8 (AIO x64 .NET5)
Compiled Libraries, Plugins & Samples
Flyleaf Player
Flyleaf Downloader
Flyleaf Extractor
Flyleaf Plugins | Note: yt-dlp is detected as a virus
FFmpeg Libraries | Note: 4.4.79 patched for HLS issue