Commit Graph
1 Commits
Author SHA1 Message Date
Divarion_D e7ceb42699 refactor(monitor): extract parseFrameRate from the FPS-check goto cluster
First step of untangling MonitorCommand::execute()'s obfuscated goto control
flow. The FPS baseline computation flattened a "30/1" -> 30.0 rational parse
across five labels (label768/780/1047/1052/1057). Pull the pure parse into
parseFrameRate() with unit tests; the label768 entry and the label1847 exit are
kept so control flow is unchanged -- four labels and their gotos are gone.

Guards a zero denominator (PHP 8 would otherwise throw on "x/0") -- an input
ffprobe does not produce, so behaviour is unchanged in practice.

PHPStan cannot see the self::parseFrameRate call through the surrounding goto
maze and reports the method unused; baselined until the label768 region is
destructured, then the entry drops out.

Verified: phpstan level 5 green, phpunit 408/408, make gates green.
2026-08-08 19:28:37 +03:00