diff --git a/Get-VideoInfo.ps1 b/Get-VideoInfo.ps1 index ea7a411..03aea01 100644 --- a/Get-VideoInfo.ps1 +++ b/Get-VideoInfo.ps1 @@ -127,9 +127,20 @@ try { $fieldExists = $parsedComment.PSObject.Properties.Name -contains 'force_fps' if ($fieldExists) { - $fps = [double]$parsedComment.force_fps + # force_fps may be a number (e.g. 30) or a non-numeric mode string + # (e.g. "control" in some WanGP/LTX presets). Only override the + # default when the value parses as a positive number. + $forceFpsRaw = $parsedComment.force_fps + $parsedFps = 0.0 + if ([double]::TryParse( + [string]$forceFpsRaw, + [System.Globalization.NumberStyles]::Float, + [System.Globalization.CultureInfo]::InvariantCulture, + [ref]$parsedFps) -and $parsedFps -gt 0) { + $fps = $parsedFps + } } - + $frames = [int]$fieldValue $secondsAt24fps = [Math]::Round($frames / $fps, 1) $valueDisplay = ('{0} frames ({1}s, {2} fps)' -f $frames, $secondsAt24fps, $fps)