FlyleafLib 3.4.0-pre

This is a prerelease version of FlyleafLib.
There is a newer version of this package available.
See the version list below for details.
dotnet add package FlyleafLib --version 3.4.0-pre                
NuGet\Install-Package FlyleafLib -Version 3.4.0-pre                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FlyleafLib" Version="3.4.0-pre" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FlyleafLib --version 3.4.0-pre                
#r "nuget: FlyleafLib, 3.4.0-pre"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FlyleafLib as a Cake Addin
#addin nuget:?package=FlyleafLib&version=3.4.0-pre&prerelease

// Install FlyleafLib as a Cake Tool
#tool nuget:?package=FlyleafLib&version=3.4.0-pre&prerelease                

Media Player .NET Library for WPF/WinForms (based on FFmpeg/DirectX)

Product Compatible and additional computed target framework versions.
.NET net5.0-windows7.0 is compatible.  net6.0-windows was computed.  net7.0-windows was computed.  net8.0-windows was computed. 
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on FlyleafLib:

Package Downloads
FlyleafLib.Controls.WPF

FlyleafME: A WPF Media Element Control (based on FlyleafLib)

FlyleafLib.Controls.WinUI

FlyleafHost.WinUI: Direct3D 11 Hardware Accelerated Media Surface (based on FlyleafLib)

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on FlyleafLib:

Repository Stars
robvdpol/RaceControl
Race Control is a standalone, open source F1TV client for Windows, written in C# on the .NET platform.
Version Downloads Last updated
3.8.1 88 11/11/2024
3.8.0 163 10/26/2024
3.7.55 103 10/22/2024
3.7.54 120 10/7/2024
3.7.53 94 10/5/2024
3.7.52 503 7/23/2024
3.7.51 155 7/9/2024
3.7.50 291 6/6/2024
3.7.49 260 5/25/2024
3.7.48 178 5/8/2024
3.7.47 315 4/16/2024
3.7.46 1,348 3/11/2024
3.7.45 3,219 2/18/2024
3.7.44 958 1/31/2024
3.7.43 139 1/28/2024
3.7.42 238 1/19/2024
3.7.41 196 1/14/2024
3.7.40 232 1/3/2024
3.7.39 241 12/30/2023
3.7.38 421 12/10/2023
3.7.36 159 12/6/2023
3.7.35 180 11/29/2023
3.7.34 843 11/12/2023
3.7.33 152 11/11/2023
3.7.32 154 11/11/2023
3.7.31 471 11/5/2023
3.7.30 258 10/24/2023
3.7.29 315 10/17/2023
3.7.28 284 10/8/2023
3.7.27 197 10/2/2023
3.7.26 169 10/1/2023
3.7.25 349 9/29/2023
3.7.24 691 9/7/2023
3.7.23 304 9/1/2023
3.7.22 232 8/31/2023
3.7.21 401 8/19/2023
3.7.20 796 6/1/2023
3.7.19 300 5/31/2023
3.7.18 574 5/30/2023
3.7.17 393 5/16/2023
3.7.16 346 5/15/2023
3.7.15 398 5/5/2023
3.7.14 354 5/2/2023
3.7.13 336 5/1/2023
3.7.12 313 5/1/2023
3.7.11 333 5/1/2023
3.7.10 370 4/29/2023
3.7.9 358 4/27/2023
3.7.8 367 4/25/2023
3.7.7 385 4/23/2023
3.7.6 330 4/21/2023
3.7.5 332 4/20/2023
3.7.4 336 4/20/2023
3.7.3 382 4/15/2023
3.7.1 471 4/8/2023
3.7.0 442 4/6/2023
3.6.12 576 3/25/2023
3.6.11 424 3/18/2023
3.6.10 556 2/16/2023
3.6.9 1,154 2/12/2023
3.6.7 462 2/8/2023
3.6.6 904 1/11/2023
3.6.5 2,333 12/16/2022
3.6.4 523 12/6/2022
3.6.3 3,394 11/30/2022
3.6.2 500 11/29/2022
3.6.1 601 11/12/2022
3.6.0 560 11/9/2022
3.6.0-pre3 268 11/7/2022
3.6.0-pre2 254 11/4/2022
3.6.0-pre 275 11/3/2022
3.5.10 730 10/19/2022
3.5.9 692 9/23/2022
3.5.8 701 8/30/2022
3.5.7 834 7/2/2022
3.5.6 642 6/23/2022
3.5.5 643 6/7/2022
3.5.4 588 6/3/2022
3.5.3 617 5/31/2022
3.5.2 628 5/29/2022
3.5.0 595 5/26/2022
3.5.0-pre 302 5/22/2022
3.4.14 839 5/13/2022
3.4.13 717 4/30/2022
3.4.11 591 4/25/2022
3.4.10 1,032 3/21/2022
3.4.9 808 1/28/2022
3.4.8 628 1/24/2022
3.4.7 1,000 1/18/2022
3.4.6 606 1/17/2022
3.4.5 620 1/12/2022
3.4.4 484 1/6/2022
3.4.3 486 1/2/2022
3.4.2 462 12/30/2021
3.4.1 447 12/28/2021
3.4.0 477 12/24/2021
3.4.0-pre2 304 12/21/2021
3.4.0-pre 327 12/19/2021
3.3.13 554 11/28/2021
3.3.12 1,298 11/20/2021
3.3.11 520 11/18/2021
3.3.10 542 10/28/2021
3.3.9 550 10/5/2021
3.3.8 471 9/28/2021
3.3.7 555 9/20/2021
3.3.6 482 9/17/2021
3.3.5 486 9/14/2021
3.3.4 540 9/9/2021
3.3.3 548 9/6/2021
3.3.2 520 9/5/2021
3.3.1 536 8/30/2021
3.3.0 519 8/28/2021
3.3.0-pre 355 8/24/2021
3.2.5 572 8/17/2021
3.2.4 475 8/14/2021
3.2.3 544 8/14/2021
3.2.2 507 8/11/2021
3.2.1 503 8/9/2021
3.2.0 506 8/9/2021
3.1.14 3,984 7/28/2021
3.1.12 532 7/26/2021
3.1.11 519 7/23/2021
3.1.10 752 7/20/2021
3.1.9 741 7/17/2021
3.1.8 675 5/17/2021
3.1.7 530 5/5/2021
3.1.6 531 5/5/2021
3.1.5 530 5/5/2021
3.1.4 513 5/4/2021
3.1.3 533 5/4/2021
3.1.2 519 5/4/2021
3.1.1 521 5/3/2021
3.1.0 721 5/3/2021
3.1.0-alpha2 355 5/2/2021
3.1.0-alpha 388 5/1/2021
3.0.0 796 4/23/2021
3.0.0-alpha2 406 4/20/2021
3.0.0-alpha1 379 4/18/2021

-= Extends Media Player's Functionality (Adds WinForms Support) =-

1) Key Bindings (Config.Player.KeyBindings.Enabled - ON By Default)
Allows to Add/Remove any (Ctrl +) Key combination and assign an existing action or even a custom (can also be loaded/saved with config)
Uses by default all common bindings
(Pause/Play/Open/Seek Backward-Forward/FullScreen/Record/TakeSnapshot/Speed Up-Down/Delays/Prev-Next Frame/Pan Zoom In-Out-Reset/Toggle AVS On-Off/Volume Up-Down-Mute)

2) Mouse Bindings (Config.Player.MouseBindigns.Enabled - ON By Default)
OpenOnDragAndDrop (Drag & Drop), PanMoveOnDragAndCtrl (Pan Move), PanZoomOnWheelAndCtrl (Pan Zomm In/Out), ToggleFullScreenOnDoubleClick (Toggle FullScreen)

3) Activity Mode (Config.Player.ActivityMode - ON By Default) | Master Thread required
Monitors user's actions based on Key/Mouse events and updates the mode to Idle / Active(keyboard only) / FullActive(mouse) based on Config.Player.ActivityTimeout
Exposes Player.Activity.ForceIdle / ForceActive / ForceFullActive for custom updates

4) Extends frequently used (Helper) methods for direct calls, Key Bindings assignments or ICommands usage (Player / Player.Audio / Player.Video / Player.Subtitles / Player.Commands)

5) Master Thread (Master.UIRefresh, UIRefreshInterval, UICurTimePerSecond - ON By Default)
Will monitor and refresh all players on single UI Invoke (CurTime/BufferedDuration/BitRate Stats etc.)
Allows updates even when the players/demuxers are not running
Allows more frequent update for CurTime (Master.UICurTimePerSecond = false) rather than on exact second change on timestamps

6) Additional Config.Player offsets added (for key/mouse bindings)
AudioDelayOffset, AudioDelayOffset2, SubtitlesDelayOffset, SubtitlesDelayOffset2
SeekOffset, VolumeOffset, ZoomOffset

7) Auto Play (Config.Player.AutoPlay - ON By Default)
Not required to subscribe on open completed events to start playing

8) Adds HLS Live cache support amp; uses accurate timestamps

9) Adds BufferingStarted / BufferingCompleted (with error support) events and success/fail to PlaybackCompleted

10) Updates (FFmpeg.AutoGen / Vortice)

[Issues]

1) Fixes a read timeout issue with live streams (while demuxing at the end of stream and waiting for new packets)
2) Fixes a dead lock with Audio Decoder during multiple ReSyncs
3) Fixes critical issues during swaping players new feature
4) Controls.WPF: Fixes an issues with comma/dot string to double convert issue based on system culture

[Breaking / Important Changes]

1) Config.Demuxer.FormatOpt["probesize"] amp; Config.Demuxer.FormatOpt["analyzeduration"] have been added by default which can cause an already exists exception
2) Config.Demuxer.BufferDuration changed from 5 minutes to 2 (to reduce RAM)
3) Config.Player.MinBufferDuration change from 1000ms to 500ms
4) Config.Decoder.MaxVideoFrames changed from Math.Max(10, Environment.ProcessorCount) to 4 (to reduce VRAM)
5) Config.Player.Speed amp; Config.Player.SpeedReverse moved to single Player.Speed (valid values 0.0 - 1.0 and 1,2,3,4)
6) VideoView.IsFullScreen / FullScreen / NormalScreen moved to Player and support also WinForms now
7) Check more changes and renames on Controls.WPF -> Flyleaf.xaml