dragon-iso/src/TeamsISO.Engine.NdiInterop/NdiVersion.cs

26 lines
1.2 KiB
C#
Raw Normal View History

namespace TeamsISO.Engine.NdiInterop;
/// <summary>
/// Constants describing the NDI SDK version this build was compiled against.
/// The runtime version reported by <see cref="NdiNative.Version"/> is compared against
/// <see cref="ExpectedRuntimeVersionPrefix"/> by the engine's runtime probe to detect
/// installations that pre-date or post-date the SDK headers (per spec §6).
/// </summary>
public static class NdiVersion
{
/// <summary>The SDK family this build targets (NDI 6).</summary>
public const string SdkFamily = "NDI 6";
/// <summary>
/// Prefix of the runtime version banner we expect. The shipping NDI 6 runtime
/// reports its version as a build banner of the form
/// "NDI SDK WIN64 13:07:00 Jun 2 2025 6.2.0.3"
/// where the architecture token ("WIN64" / "WIN32") is stable across patch
/// releases and confirms we loaded the binary the engine P/Invokes against
/// (Processing.NDI.Lib.x64.dll). The trailing four-part token is the SDK's
/// numeric version. The probe checks this prefix; a stricter probe could
/// additionally enforce the leading "6." in the trailing version token.
/// </summary>
public const string ExpectedRuntimeVersionPrefix = "NDI SDK WIN64";
}