Skip to content

Releases: SuRGeoNix/Flyleaf

Flyleaf v3.7.5 (AIO x64 .NET7 / FFmpeg v5.1.2)

20 Apr 06:43
Compare
Choose a tag to compare

Changelog (v3.7.5)

  • Renderer: Fixes an issue when initializing multiple players async
  • FlyleafHost.Wpf: Fixes a critical issue with keyboard focus

Changelog (v3.7.4)

FlyleafHost (WPF) Performance/Stability/Compatibility Improvements

  • New WinAPI approach which uses proper Parent/Child (SetParent/WS_CHILD) relationship and
    removes WS_SYSMENU from style (fixes #257, #265) - thanks to @xmine64
  • Fixes compatibility issues such as windows maximizing on the wrong screen or
    when running with admin privileges it wouldn't restore from minimize state (fixes #277)
  • Fixes issues and improves Resize, Attach/Detach and FullScreen
  • Adds Corner Radius support for Attached FlyleafHosts
  • Introduces FlyleafSharedOverlay which can be used as a top layer (overlay) for multiple FlyleafHosts (fixes #255)

New API

  • DetachedShowInTaskbar
  • DetachedNoOwner
  • BringToFrontOnClick
  • BringToFront()

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.7.3 (AIO x64 .NET7 / FFmpeg v5.1.2)

06 Apr 15:50
Compare
Choose a tag to compare

Changelog (v3.7.3)

  • AudioDecoder: Adds FFmpeg filters support (using embedded atempo for Player speed)
  • AudioDecoder: Adds draining support
  • AudioDecoder: Performance improvements
  • AudioDecoder: Fixes a critical issue with swr_convert
  • AudioDecoder: Fixes an issue that it wouldn't respect the Config.Decoder.MaxAudioFrames
  • Demuxer: Adds more locks in packet queues to ensure stability
  • Player: A/V Sync improvements (calculates the audio device delay)
  • Renderer: D3D11 minor performance improvements

Changelog (v3.7.1)

  • Demuxer: Open implementation improvements
  • Demuxer: Fixes a critical null reference issue with custom I/O streams (Fixes torrents for Sample)
  • Renderer: Fixes a dead lock (during Open)

Changelog (v3.7.0)

  • Renderer: New implementation for FlyleafVP's pixel shaders which now supports almost all YUV/RGB formats (GPU process instead of SwsScale CPU)
  • Demuxer: Improves Url syntax which combines force format with devices in one and allows to pass optons (fmt://$format$[/]?$input$&$options$) to force a specific format for an input and pass options directly
  • Demuxer: Fixes an issue when FindStreamInfo is disabled it wouldn't find the video stream
  • Demuxer: Fixes an issue with Extension which could cause Remuxer(Downloader/Recorder) to fail
  • Engine: Improves Video Cap Devices by including all the supported streams/formats (thanks to @anguzo )
  • Player: Allows slower FPS (it could cause issues with 1fps)
  • Player: Fixes a null reference issue with AudioOnly screamer

New API

  • Config.Demuxer.ForceFormat (to force a specific input format)
  • Config.Video.SwsForce (to use Sws instead of FlyleafVP pixel shaders if required)
  • Config.Video.SwapForceR8G8B8A8 (to force R8G8B8A8 instead of B8G8R8A8 for the swapchain)
  • Config.Audio.FiltersEnabled (if you want to use filters, atempo by default)
  • Config.Audio.Filters (to add your filters)
  • Player.Audio.UpdateFilter (to update filter's property)
  • Player.Audio.ReloadFilters (to reload all the graph filters)

Breaking Changes

  • Drops support for FFmpeg v4 (it had different values for AVPixelFormats and could cause issues)
  • Drops support for Player.Usage.LowLatencyVideo/ZeroLatencyAudioVideo as they have been replaced with Config.Player.MaxLatency
  • Reduces default value for Config.Demuxer.BufferDuration from 2min to 30sec
  • Changing speed from 8 down to 1 directly will cause atempo to crash
  • Min value changed for Speed from 0.25 to 0.5

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.11 (AIO x64 .NET7 / FFmpeg v5.1.2)

18 Mar 15:49
Compare
Choose a tag to compare

Changelog

  • DecoderContext: Fixes a rare dead lock while opening a stream and seeking
  • Demuxer: Introduces Config.Demuxer.AllowFindStreamInfo which can be disabled for faster opening of the input
  • Engine: Adds FFmpeg.Autogen latest 5.1.2.1 support (removes deprecated LoadedLibraries)
  • Engine: Improves High Performance Timers for multiple players and enables them only when required
  • Updates Vortice

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.10 (AIO x64 .NET7 / FFmpeg v5.1.2)

16 Feb 10:55
Compare
Choose a tag to compare

Changelog (3.6.8-3.6.10)

  • Engine: Fixes a possible crashing issue with threading and ObservableCollections (it could happen on audio device changes)
  • Player: Changes Zoom from pixels to percentage
  • Player: Introduces ZoomIn, ZoomOut based on specific Point
  • Config: Changes Player.ZoomOffset from 50 to 10 (as now indicates percentage instead of pixels)
  • FlyleafHost (WPF/WinForms): Improves Zoom with Ctrl+MouseWheel to use mouse pointer as center
  • FlyleafME: Adds Zoom percentage to pop-up menu
  • FlyleafME: Adds Zoom Offset to Settings
  • Plugins: Updates BitSwarm
  • Plugins: Updates YoutubeDL (exe only)

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.7 (AIO x64 .NET7 / FFmpeg v5.1.2)

08 Feb 16:23
Compare
Choose a tag to compare

Changelog

  • Renderer: Introduces Composition and currently supports CornerRadius windows (thanks to @xmine64)

  • Renderer: Improves D3D11 Pan Move/Zoom and fixes issues when combined with rotation (fixes #241)

  • Renderer: Fixes an idle rendering issue

  • FlyleafHost.Wpf: Introduces CornerRadius

  • FlyleafHost.Wpf: Fixes a possible NPE issue with multiple monitors

  • FlyleafHost.Wpf: Fixes an issue with AllowsTransparency when is already set (thanks to @afunc233)

  • FlyleafME: Fixes an issue during initialization when Overlay is already loaded

  • Samples.FlyleafPlayer: Fixes Player disposal on new window close

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.6 (AIO x64 .NET7 / FFmpeg v5.1.2)

11 Jan 09:38
Compare
Choose a tag to compare

Changelog

  • Audio: Introduces SamplesAdded event which informs of the currently playing audio samples
  • Demuxer: Programs improvements
  • Engine: Boot load performance improvements
  • Engine: Introduces StartAsync method and Loaded event which allows faster boot of the application without blocking the UI thread
  • FlyleafHost.Wpf: Fixes possible issues with release mouse capture
  • FlyleafHost.Wpf: Fullscreen performance improvements
  • FlyleafHost.Wpf: In Standalone mode will show the Surface only when the Overlay has been fully loaded

Release Notes / Breaking Changes

  • If you use Engine.StartAsync you will need to make sure that it has been fully loaded before initializing a Player/Configuration (use Engine.Loaded event)
  • You will need to manually load your assembly that contains embedded plugins after the Engine has been loaded from Engine.Plugins.LoadPlugin(your_assembly)

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.5 (AIO x64 .NET7 / FFmpeg v5.1.2)

16 Dec 21:08
Compare
Choose a tag to compare

Changelog

  • Player: Improves performance by replacing DateTime with StopWatch for elapsed time calculation
  • Player.Activity: Hides mouse cursor only when FlyleafHost is focused
  • Renderer: Fixes an issue with Aces/Hable HDRtoSDR method when luminance was less than 1
  • Renderer: Fixes a critical issue with the new WndProc subclass (not properly setting the IntPtr during SetWindowSubclass/RemoveWindowSubclass which could cause FailFast exceptions when multiple add/remove subclass for the same Handle)
  • FlyleafHost.WinForms: Fixes an issue with Activity Mode (it wouldn't refresh on MouseMove)
  • FlyleafHost.Wpf: Proper way to set the Overlay Content and Template through OverlayTemplate DP which fixes performance, design and binding issues during transfer
  • FlyleafHost.Wpf: Fixes stability and disposal issues with Surface/Overlay windows (Player will not be disposed only the swap chain which means that the application must manually dispose it)
  • FlyleafHost.Wpf: Fixes an issue when Owner window has TopMost=true

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.3 (AIO x64 .NET7 / FFmpeg v5.1.2)

29 Nov 21:39
Compare
Choose a tag to compare

Changelog (v3.6.3)

  • Demuxer: Fixes issues with reverse playback and minor issue with remuxer's extension
  • Decoder: Fixes Frame Stepping with formats that allow timestamp discontinuities
  • Remuxer: Fixes critical issues while dts/pts having no value (AV_NOPTS_VALUE)
  • Player: Improves recording, reverse playback and frame stepping
  • Player.Screamer: Better handling of wrong video timestamps (even when audio timestamps are normal)

Changelog (v3.6.2)

  • Demuxer: Adds HLS Live Seek support for FFmpeg v5.1.2 and drops supports for older versions
  • Demuxer: Introduces StartRealTime
  • Demuxer: Fixes seeking issue to the very beginning (0)
  • Engine: Introduces Config.FFmpegHLSLiveSeek to manually enable HLS Live Seek (disabled by default as it can cause critical issues if the version doesn't match with the HLSContext structure)
  • Player: Fixes (slow performance) an issues with Frame Stepping backwards on MPEG-TS formats (FFmpeg fails to properly seek backwards)
  • Renderer: Fixes Aspect Ratio on 90 and 270 degrees angle Rotation
  • Renderer: Fixes Rotation for Flyleaf video processor (wasn't rotating clock-wise)
  • FlyleafHost.Wpf: Adds MouseBindings dependency property to easy enable or disable them
  • FlyleafME: Adds Porfile Mismatch to Video Settings
  • PlayerDebug: Adds Rotation and Porfile Mismatch
  • NuGet: Adds .NET 7 and drops .NET 5 support

Solution

  • Updates FFmpeg libraries to v5.1.2 (patched)
  • Updates FFmpeg.Autotgen to v5.1.1 for Samples/Tests
  • Updates to C# 11 language version
  • Adds .NET 7 and drops .NET 5 support for Samples/Tests
  • Includes Publish Profiles for Sample releases

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.1.2 (29/11/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6.1 (AIO x64 .NET6 with FFmpeg v4 / v5)

12 Nov 13:13
Compare
Choose a tag to compare

Changelog

  • VideoDecoder: Fixes a rare issue with keyframes

  • Player: Improves buffering cancellation while seeking but still gives few ms to show one frame

  • Renderer: Becomes completely independent from WPF/WinForms and requires only a Window Handle (IntPtr)

  • Renderer: GPUAdapters clean-up and improvements (adds Engine.Video.Screens)

  • Renderer: Restores WARP device fallback

  • FlyleafHost.Wpf: Adds some support for multi-monitors

  • FlyleafHost.Wpf: Fixes a bug during restore from maximized

  • FlyleafME: Transfers subtitles/video Popup menus to FlyleafBar (it was causing an Activity mode issue)

  • FlyleafME: Fixes icons for Popup Menu

  • YoutubeDL: Fixes an issue with video stream suggestion

  • YoutubeDL: Fixes an issue with IPv4/IPv6 between yt-dlp and ffmpeg

  • FlyleafPlayer: Extends FlyleafME's Popup Menu (Open/Close Window, Always On Top & Ratio Resize)

Notes

Compiled Libraries, Plugins & Samples

Flyleaf Player 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 yt-dlp is detected as a virus
FFmpeg Libraries 4.4.2 and 5.0.1 (30/5/2022) patched for HLS issue
FFmpeg Devices You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)

Flyleaf v3.6 (AIO x64 .NET6 with FFmpeg v4 / v5)

09 Nov 13:23
Compare
Choose a tag to compare

Introduces FlyleafHost a new DPI aware, hardware accelerated Direct3D Surface (WPF VideoView's replacement and Flyleaf's for Winforms)

  • Early and fast initialization of handles and renderer which will also resolve several issues
  • Adds Attach / Detach functionality
  • Self Drag Move also on attach mode (within the host's owner bounds)
  • Drag & Drop Swap between FlyleafHosts (Shift + Drag)
  • Custom non-borders resizable windows both on attach and detach mode (can keep input's ratio)
  • Adds Z-order surfaces support
  • Resolves several issues when the host's rectangle was clipped
  • Adds support for WPF Windows to the Renderer in addition to WinForms UserControl
  • Resolves several issues with DPI
  • Better UI performance overall (including swaps and switching between Normal / Full Screen)

Introduces FlyleafME, a WPF Media Element Control (Flyleaf replacement)

  • Code clean-up and styles / templates to allow easier override and customization
  • Updated with the new FlyleafHost (old ViewView) and gains better performance with more functionality
  • Adds Activity Timeout on Settings
  • Adds Rotation to Popup menu
  • Fixes several issues with DPI
  • Fixes issues with Activity / Idle Mode
  • Fixes an issue to respect Subtitles FontStyle
  • Updates FlyleafLib

Player

  • Adds Rotation Support (Shift + Wheel)
  • Fixes a UI threading issue that it could cause Player.Initialization to crash
  • Fixes Activity / Idle Mode issues
  • General code clean-up and performance improvements

Breaking Changes

  • VideoView has been renamed to FlyleafHost
  • Flyleaf (WPF Control) has been renamed to FlyleafME (Media Element) and does not require a FlyleafHost as it was required previously with the VideoView (it derives from it)
  • Player.IsFullScreen, Config.Player.ActivityTimeout, Config.Player.MouseBindings and Config.Player.KeyBindings.(Enabled/FlyleafWindow) has been transferred to FlyleafHost
  • Player.ActivityMode has been removed (its the same as ActivityTimeout=0) however Player.Activity.IsEnabled can be used to temporary turn it on/off
  • Player.Swap has been removed as you can now set directly the Players to FlyleafHosts

Notes

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.2 and 5.0.1 (latest 30/5/2022) patched for HLS issue
FFmpeg Devices | Note: You need to manually enable them from the Flyleaf.Engine.xml (set FFmpegDevices to true)