[X-engines] Resolved wrong aspect ratio with video resize effect/block
[X-engines] Updated GStreamer redist
[X-engines] Added Basler USB3/GigE cameras support in Media Blocks SDK .Net and Video Capture SDK .Net
[Windows] Added Stream support in MediaInfoReader. You can get the video/audio file information from a stream (DB, network, memory, etc.).
[X-engines] Updated Live Video Compositor engine, which improved support of the file sources
[X-engines] Added API to get snapshots from video files using MediaInfoReaderX: GetFileSnapshotBitmap, GetFileSnapshotSKBitmap, GetFileSnapshotRGB
[X-engines] iOS support in MAUI samples
[X-engines] Resolved memory leak issue for RTSP sources
MediaPlayerCore: Added support for data streams in video files using the FFMPEG source engine. Add the OnDataFrameBuffer event to get data frames (KLV or other) from the video file.
[Windows] Fixed the hang problem with the FFMPEG source when a network connection is lost
[X-engines] Added support for FLIR/Teledyne cameras (USB3Vision/GigE) using the Spinnaker SDK
.Net 7 support returned to the MAUI package (was removed by CI error).
The IAsyncDisposable interface was added to all SDK's core classes. DisposeAsync call should be used to dispose of the core objects in async methods.
[X-engines] Improved MAUI video rendering speed
[X-engines] Resolved MAUI media playback issues (decoding) in MAUI Android
[X-engines] Resolved an issue with the H264 webcam sources (sometimes not connected)
[X-engines] Resolved an issue with audio stream playback in the Live VideoCompositor engine
MediaPlayerCore: Added growing MPEG-TS file support for the VLC engine. You can play growing MPEG-TS files while it's recorded
[X-engines][API breaking change] DeviceEnumerator can now be used only by using DeviceEnumerator.Shared property. It is required to have one enumerator per app. DeviceEnumerator objects used by API have been removed
[X-engines][API breaking change] Android Activity is not required anymore to create SDK engines
[X-engines][API breaking change] X-engines require additional initialization and de-initialization steps. To initialize SDK, use the VisioForge.Core.VisioForgeX.InitSDK() call. To de-initialize SDK, use the VisioForge.Core.VisioForgeX.DestroySDK() call. You need to initialize SDK before any SDK class usage and de-initialize SDK before the application exits.
[Windows] Improved MAUI video rendering performance in Windows
[Windows] Added a mouse highlight for screen capture sources
[Windows] Resolved a CallbackOnCollectedDelegate call issue with the BasicWindow class
[Avalonia] Resolved an issue with Avalonia VideoView resize
[X-engines] Added the StartPosition and StopPosition properties to UniversalSourceSettings. You can use these properties to set the start and stop positions for the file source.
Resolved the issue with passwords with special characters used for RTSP sources
Resolved the rare video flip issue with the Virtual Camera SDK engine
The VisioForge MJPEG Decoder filter was removed from the SDK's NuGet packages. You can optionally add it to your project by file copying or COM registration deployment.
[X-engines] Fixed memory leak in the OverlayManager
[X-engines] DeviceEnumerator got events to notify about devices added/removed: OnVideoSourceAdded, OnVideoSourceRemoved, OnAudioSourceAdded, OnAudioSourceRemoved, OnAudioSinkAdded, OnAudioSinkRemoved
[X-engines] Added custom error handler support for MediaBlocks, VideoCaptureCoreX, and MediaPlayerCoreX engines. Use the IMediaBlocksPipelineCustomErrorHandler interface and the SetCustomErrorHandler method to set a custom error handler.
MediaPlayerCore: Added Virtual_Camera_Output_AlternativeAudioFilterName property to set a custom audio filter for the Virtual Camera SDK output
MediaPlayerCore: Updated Tempo effect.
[X-engines] Updated device enumerator. Removed unwanted firewall dialog when listing NDI sources.
[X-engines] Fixed an issue with the video mixer when adding/removing video sources.
Added Rotate property to WPF VideoView. You can rotate the video by 90, 180, or 270 degrees. Also, you can use the GetImageLayer() method to get the Image layer and apply custom transforms
API change - FilterHelpers renamed to FilterDialogHelper
VisioForge.Types and VisioForge.MediaFramework assemblies merged into VisioForge.Core
UI classes moved to "VisioForge.Core.UI.*" assemblies and independent NuGet packages
VisioForge.Types renamed to VisioForge.Core.Types
VisioForge.Core no longer depends on the Windows Forms framework
Added Settings_Load API. You can load the settings file saved by Settings_JSON. Be sure that device names are correct.
RTP support for the VLC source engine.
API breaking change: SDK_State property has been removed. We do not have TRIAL and FULL SDK versions anymore.
API breaking change: DirectShow_Filters_Show_Dialog, DirectShow_Filters_Has_Dialog, Audio_Codec_HasDialog, Audio_Codec_ShowDialog, Video_Codec_HasDialog, Video_Codec_ShowDialog, Filter_Supported_LAV, Filter_Exists_MatroskaMuxer, Filter_Exists_OGGMuxer, Filter_Exists_VorbisEncoder, Filter_Supported_EVR, Filter_Supported_VMR9 and Filter_Supported_NVENC has been moved to VisioForge.Tools.FilterHelpers class.
VFAudioStreamInfo/VFVideoStreamInfo duration type changed to Timespan.
Telemetry updated.
Custom redist loader updated.
API breaking change: Status property changes to State, type is PlaybackState in all SDKs.
API breaking change: UI controls split into Core (VideoCaptureCore, MediaPlayerCore, VideoEditCore) and VideoView.
API breaking change: In Media Player SDK Source_Stream... properties were merged into the Source_MemoryStream property of MemoryStreamSource type
Updated DVD playback
Updated FFMPEG source
API breaking change: Media Player SDK types moved from VisioForge.Types namespace to VisioForge.Types.MediaPlayer
API breaking change: Video Effects types moved from VisioForge.Types namespace to VisioForge.Types.VideoEffects
API breaking change: Audio Effects types moved from VisioForge.Types namespace to VisioForge.Types.AudioEffects
API breaking change: Event types moved from VisioForge.Types namespace to VisioForge.Types.Events
Added Video_Renderer_SetCustomWindowHandle method to set custom video renderer by Win32 window/control HWND handle
Breaking API change: All time*related API now uses TimeSpan instead of long (milliseconds)
Tag reader/writer * correct logo loading for some video formats
Removed legacy DirectX 9 video effects
Improved .Net Core compatibility
Virtual Camera SDK output added (as one of the video renderers)
Added Video_Effects_MergeImageLogos and Video_Effects_MergeTextLogos properties. If you have 3 or more logos you can set these properties to true to optimize video effects' performance
Fixed stretch/letterbox issue in the WPF version of all SDKs
Fixed issue with the equalizer on sample rate 16000 or less
Fixed problem with sample grabber for DirectShow source
Fixed encrypted file playback
Added DVDInfoReader class to read info about DVD files
Improved barcode detection quality for rotated images
The minimal .Net Framework version is .Net 4.5 now
Improved YouTube playback. Added OnYouTubeVideoPlayback event to select video quality for playback
Added Play_PauseAtFirstFrame property. If true playback will be paused on the first frame
Resolved issue with network stream playback in WPF applications
Added Fake Audio Source DirectShow filter, which produces a tone signal
Added Frame_GetCurrentFromRenderer method to all SDKs. Using this method you can get the currently rendered video frame directly from the video renderer.
SDKs now have AnyCPU only. To get the x86 app set the "Prefer 32-bit" option in your project settings
Added GPU-based video effects. You can set a custom DirectX pixel shader to get your video effect
Added Seamless Playback Demo to Media Player SDK
Added Zoom option to multiscreen
Added sharpen effect
Added TimeStamp video effect (based on TextLogo effect)
Added Mode property to Text Logo class. Now you can draw text, current date/time, frame timestamp, or number
Audio_OutputDevice property can be set to "NULL" (string) to have an audio sample grabber and VU*meter with disabled rendering to a real audio output device
Added standard tags support for video and audio files, including MP4, WMV, MP3, AAC, M4A, Ogg Vorbis, and other formats. Media Player SDK can read tags, Video Capture SDK and Video Edit SDK can write tags
Separate capture API now has SeparateCapture_Filename_Mask property to configure file name that will be used for auto split by duration or size
Added delayed start in all SDKs. This feature can be used to start multiple SDK controls almost at the same time. Check Start_DelayEnabled description
Audio effects are now written on C# and can be used in x64 applications. Old effects usage is saved as "legacy" if you have some issues with new filters or API
Improved information reading for some Speex files
Error tracking is added to the Visual Studio Output window, you'll see all errors that come from the OnError event (but without diagnostic information)
Added settings serialization to JSON format
LAV playback engine (FFMPEG based) added to Media Player SDK .Net
Blu*Ray playback in Media Player SDK .Net
Custom video effects 3rd*party filters can be added by CLSID now, before or after the main effects filter/sample grabber
Added MP3 splitter to resolve issues with some MP3 files, that can't be playable using the default splitter
VisioForge.Controls.WinForms and VisioForge.Controls.WPF assemblies were replaced by VisioForge.Controls.UI