Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: MycroBeat/Flyleaf

Tags

v3.4.7

Toggle v3.4.7's commit message
Updating to 3.4.7 / 1.1.20

-= Enriches FlyleafLib with Logging =-

* Adds Log Support for both FlyleafLib and FFmpeg (with separate log levels for each)
* Organizes the previously Master and renaming it to Engine
* Allows runtime/dynamic changes to log configuration
* Collects all the Global configuration to one place and allows Load/Save
* Controls.WPF: Renames Buffering Tab to Player and adds the new Logging settings
* Controls.WPF: Adds Read Timeout to Player Settings
* AudioOnly: Prevents the initialization of VideoDecoder and Renderer
* Adds a read timeout even on the demuxer (Player.VideoDemuxer.TimedOut)

[Breaking/Important Changes]
* New way to initialize FlyleafLib with Engine.Start
* Master has been renamed to Engine
* Master.RegisterFFmpeg and Master.RegisterPlugins have been removed
* Master.GPUAdapters transferred to Engine.Video.GPUAdapters
* Master.AudioMaster.Devices transferred to Engine.Audio.Devices
* Master configuration properties transferred to Engine.Config

[Start Engine Example]

Engine.Start(new EngineConfig()
{
 UIRefresh           = true,  // Required for Activity, BufferedDuration and Stats in combination with Config.Player.Stats = true
 UIRefreshInterval   = 250,  // How often to update the UI
 UICurTimePerSecond  = false, // Whether to update CurTime only when it's second changed or by UIRefreshInterval
 HighPerformaceTimers= false, // Forces TimeBeginPeriod(1) always active

 //LogOutput           = ":debug",
 //LogOutput           = ":console",
 LogOutput           = "C:\\logs\\file.log",

 LogLevel            = LogLevel.Debug,
 FFmpegLogLevel      = FFmpegLogLevel.Warning,

 PluginsPath         = "C:\\SomePath\\Plugins",
 FFmpegPath          = "C:\\SomePath\\FFmpeg",
});

* FFmpegPath and PluginsPath support both relative and absolute paths and can specify the ":" prefix for any folder below the current

[Solution Notes]
* FFmpeg libraries for x86 platforms have been removed from the solution
* FFmpeg libraries have been transferred to FFmpeg/ folder
* All the global classes have been transferred to Engine/

v3.4.5

Toggle v3.4.5's commit message
Updating to 3.4.5 / 1.1.19

-= 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 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

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

Updates Vortice (you might need to update System.Runtime.CompilerServices.Unsafe to Version>=6.0.0.0)

Controls.WPF: Updates Settings with Filters/Deinterlace
Extractor: Adds support also to the new D3D11VP

v3.4.4

Toggle v3.4.4's commit message
Updating to 3.4.4

-= 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
* Solution: Sample builds will not copy Libs and Plugins to the output
* Solution: Plugins.NET6 will be created in Plugins folder now

v3.4.3

Toggle v3.4.3's commit message
Updating to 3.4.3

-= 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)
* 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)

v3.4.2

Toggle v3.4.2's commit message
Updating to v3.4.2

-= 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

v3.4

Toggle v3.4's commit message
Fixes UI update issues

v3.3.13

Toggle v3.3.13's commit message
Updating to v3.3.13 / v1.1.14

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

Tests.FlyleafMultiPlayer (WPF): Adds Test project for multiplayers and players' swaping.

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

v3.3.11

Toggle v3.3.11's commit message
Updating to v3.3.11

v3.3.10

Toggle v3.3.10's commit message
Updating to v3.3.10

Adds Chapters support
Improves language handling (Fixes SuRGeoNix#95)
Fixes a resync issue during audio stream switch
Updating Libraries (BitSwarm, YT-DLP, Vortice, FFmpeg.Autogen)

Samples.FlyleafPlayer: Adds Win10 dark theme suggested by @ahmadsafi24

v3.3.9

Toggle v3.3.9's commit message
Updating to v3.3.9 / v1.1.13

Ensures decoders are paused on Player's pause (was causing rendering issues)
Fixes Pan Zoom In/Out to respect aspect ratio
Fixes and Improves Recording to start and stop more accurate and support audio only (moved from demuxers to decoders)
Fixes AudioDemuxer to seek within queue
Fixes a rare dead lock during seeking and re-syncing (after open/download) subtitiles

Controls.WPF: Adds subtitles shadow for better visibility
Controls.WPF: Fixes IsRecording bindings
Plugins.BitSwarm: Updating to v2.4.2 which fixes a critical issue that sometimes it wouldn't start after pause