Sinaxxr.FFME.Windows 8.1.361-sinaxxr.8

This is a prerelease version of Sinaxxr.FFME.Windows.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sinaxxr.FFME.Windows --version 8.1.361-sinaxxr.8
                    
NuGet\Install-Package Sinaxxr.FFME.Windows -Version 8.1.361-sinaxxr.8
                    
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="Sinaxxr.FFME.Windows" Version="8.1.361-sinaxxr.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sinaxxr.FFME.Windows" Version="8.1.361-sinaxxr.8" />
                    
Directory.Packages.props
<PackageReference Include="Sinaxxr.FFME.Windows" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sinaxxr.FFME.Windows --version 8.1.361-sinaxxr.8
                    
#r "nuget: Sinaxxr.FFME.Windows, 8.1.361-sinaxxr.8"
                    
#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.
#:package Sinaxxr.FFME.Windows@8.1.361-sinaxxr.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sinaxxr.FFME.Windows&version=8.1.361-sinaxxr.8&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Sinaxxr.FFME.Windows&version=8.1.361-sinaxxr.8&prerelease
                    
Install as a Cake Tool

Fork of Unosquare.FFME upgraded to FFmpeg 8.1 with lifecycle and performance work: ThreadPool-free engine (every worker on a dedicated thread, event-driven command dispatch), DirectSoundPlayer audio output, deterministic teardown, spurious-MediaEnded fix, UI-decoupled video rendering. Native FFmpeg binaries are not included; see repository for installation notes.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.1.361-sinaxxr.9 75 8/27/2026
8.1.361-sinaxxr.8 76 7/27/2026
8.1.361-sinaxxr.7 73 7/10/2026
8.0.361-sinaxxr.2 126 4/26/2026
8.0.361-sinaxxr.1 87 4/25/2026

8.1.361-sinaxxr.8: IsBuffering gains hysteresis. Previously the flag recomputed as "reader wants packets AND queue below full" every buffering-stats update; on local files the packet queue oscillates by one packet around the reader's pause threshold at steady state, flapping IsBuffering (and the BufferingStarted/BufferingEnded events, each a UI-dispatcher post) once per consumed packet — ~17-20 times per second per playing clip, continuously. Buffering now engages only when genuinely starved (sync-buffering or BufferingProgress below 0.5) and releases only when replenished (reader satisfied, or full buffer outside sync-buffering); between thresholds the state holds. Events now mark real starvation boundaries: open, seek/loop flush, actual underruns.
     8.1.361-sinaxxr.7: Command dispatch moves off the ThreadPool. IntervalWorkerBase now runs each worker (CommandManager, log flusher, LegacyAudioPlayer) on its own dedicated AboveNormal thread and the shared StepTimer is deleted — under pool saturation, play/pause/seek dispatch lagged 500+ ms and every 15 ms tick paid one no-op pool dispatch per open element. Play/pause/seek/stop now wake the command thread immediately on enqueue (sub-millisecond dispatch).
     8.1.361-sinaxxr.6: Video render no longer blocks the engine's Highest-priority quantum thread on a synchronous UI dispatch. WriteableBitmap updates post to the dispatcher fire-and-forget (coalesced to one in-flight per renderer); the InteropBitmap renderer stops waiting on its UI invalidation. UI stalls can no longer starve audio feeding, clock updates, or end-of-media detection, and many concurrent elements no longer convoy their render workers on the single dispatcher thread.
     8.1.361-sinaxxr.5: Fix spurious MediaEnded on reused elements. New engine invariant: MediaEnded cannot fire for an open generation that has never rendered a main-component block. An open-generation token invalidates stale queued MediaEnded dispatcher delegates (including their LoopingBehavior Stop/Close actions) across Close/Open, and guards the decode worker's HasDecodingEnded publication against straggler cycles. Consumers no longer need pre-open Stop()+Close() or Seek(0)-after-Open workarounds.
     8.1.361-sinaxxr.4: Deterministic teardown. DirectSound COM objects are released on their owning cycle thread (never the finalizer thread); worker disposal stops cycles deterministically and joins dedicated threads; concurrent double-close (interrupt-close racing dispose) is serialized; renderer close is exception-isolated; decode calls run under the container decode lock so disposal cannot free a codec context mid-decode; audio device creation failures degrade to no-audio instead of orphaning COM state.
     8.1.361-sinaxxr.3: Upgrade to FFmpeg 8.1 (FFmpeg.AutoGen 8.1.0). Sonames unchanged from 8.0 (avcodec-62 et al.); pair with BtbN n8.1 win64-gpl-shared binaries.
     8.0.361-sinaxxr.2: Fix heap corruption (0xc0000374) on H.264 video with non-mod-16 visible width/height. Root cause: sws_scale's SIMD output kernel writes 16-pixel-wide chunks and overruns an exactly-sized destination buffer by up to 15 pixels. VideoBlock.Allocate now over-allocates row stride to a 16-pixel boundary; VideoRenderer copies row-by-row when source/destination strides differ.
     8.0.361-sinaxxr.1: Fork of Unosquare.FFME upgraded to FFmpeg 8 / FFmpeg.AutoGen 8.0.0.1, dedicated decode/read worker threads, DirectSoundPlayer audio output, seek-to-zero close/open workaround.
     This package does not contain the required FFmpeg binaries. See repository README for installation instructions: https://github.com/sinaxxr/ffmediaelement