fn fps_round(frame_rate: f32) -> u32
Round a reported (possibly fractional / NTSC) frame rate to a whole fps, clamped to at least 1. Non-finite / non-positive rates fall back to 30.