Class NDISourcesChangedEventArgs
- Namespace
- VisioForge.Core.Types.X.Sources
- Assembly
- VisioForge.Core.dll
Carries an updated NDI source snapshot plus the per-item diff for the
DeviceEnumerator.NDISourcesChanged event.
public sealed class NDISourcesChangedEventArgs : EventArgsInheritance
Inherited Members
Remarks
Threading: the event fires from the background watcher thread that
drives NDIlib_find_wait_for_sources. Subscribers that touch UI must
marshal to their UI thread (e.g. RunOnUiThread, Dispatcher.Invoke,
BeginInvokeOnMainThread) — the SDK does not do that for them.
Identity: "added" / "removed" / "current" are computed by NDI source name (the canonical NDI identifier — two senders with the same Name on the network is the user-visible misconfiguration the NDI spec forbids). A sender that comes back online after a brief disconnect surfaces as a VisioForge.Core.Types.X.Sources.NDISourcesChangedEventArgs.Removed entry followed by an VisioForge.Core.Types.X.Sources.NDISourcesChangedEventArgs.Added entry on the next event, not as a continuous presence — there's no way for libndi (and therefore for us) to correlate that it's the same physical sender.
Constructors
NDISourcesChangedEventArgs(NDISourceInfo[], NDISourceInfo[], NDISourceInfo[])
Initializes a new instance of VisioForge.Core.Types.X.Sources.NDISourcesChangedEventArgs.
public NDISourcesChangedEventArgs(NDISourceInfo[] current, NDISourceInfo[] added, NDISourceInfo[] removed)Parameters
currentNDISourceInfo[]-
Full current source list at the moment of the notification.
addedNDISourceInfo[]-
Sources that appeared since the previous notification.
removedNDISourceInfo[]-
Sources that disappeared since the previous notification.
Properties
Added
Sources that appeared since the previous notification (or since the watcher started, on the first event). Never null.
public NDISourceInfo[] Added { get; }Property Value
Current
The full current NDI source list as of this notification — equivalent
to what a NDISourcesAsync() call would return at this instant.
Never null; empty array if all sources went offline.
public NDISourceInfo[] Current { get; }Property Value
Removed
Sources that disappeared since the previous notification. Never null. Emitted when libndi drops a sender from its internal table after ~5–10 seconds without an mDNS heartbeat.
public NDISourceInfo[] Removed { get; }