dragon-iso/src/TeamsISO.Engine.NdiInterop/NdiVersion.cs
Zac Gaetano d90ebb826f
Some checks failed
CI / build-and-test (push) Failing after 26s
fix(ndi): match the NDI 6 WIN64 runtime banner in version probe
Shipping NDI 6 reports its version as a build banner of the form

    NDI SDK WIN64 13:07:00 Jun  2 2025 6.2.0.3

not the 'NDI SDK for Windows v6.x.x.x' format the prefix constant assumed. As a result NdiRuntimeProbe raised a spurious mismatch alert on every supported install. Update ExpectedRuntimeVersionPrefix to 'NDI SDK WIN64' which is the stable architecture token in the new banner; the trailing four-part version remains available for a stricter major-version check if that becomes useful.
2026-05-07 15:15:03 -04:00

25 lines
1.2 KiB
C#

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";
}