Skip to content

Fix: Video Call Interference & Cross-Platform Improvements - #23

Closed
Vladush wants to merge 18 commits into
masterfrom
feature/opencv-upgrade-static
Closed

Vladush wants to merge 18 commits into
masterfrom
feature/opencv-upgrade-static

Conversation

@Vladush

@Vladush Vladush commented Jan 27, 2026

Copy link
Copy Markdown
Owner

Description

This PR addresses the "AUTH_FAIL: No face detected" error during video calls by refining camera timing and timeouts. It also includes cross-platform build fixes and enhanced debugging output.

Fixes

  • Video Call Interference: Adjusted IR_TRIGGER_DELAY_MS and CAMERA_WARMUP_FRAMES to ensure the IR camera has time to settle auto-exposure even when the RGB camera is busy.
  • Timeouts: Increased PAM client timeout to 10s to prevent premature failures.
  • Build: Fixed CMake timestamp policy (CMP0135) for compatibility with older CMake versions (Ubuntu 22.04).
  • Debugging: linuxcampam test now reliably saves debug images (success and fail) for analysis.

Type of change

  • Bug fix
  • Documentation update
  • Build improvement

How Has This Been Tested?

  • Video Call Simulation: Verified that linuxcampam test captures valid IR images while an external process (video call) is using the RGB camera.
  • Cross-Platform Build: Verified compilation on i386, aarch64, and riscv64 using the build script.
  • Local Install: Verified service startup and CLI functionality on the host machine.

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • New and existing unit tests pass locally with my changes

- Fix FetchContent timestamp policy (CMP0135) in CMakeLists.txt
- Implement robust rate-limiting tests in test_auth_logic.cpp
- Modernize C++ usage (headers, casts, const) across PAM and service
- Extract IPC protocol to src/common/
- Deep clean of build configuration
- **Build**: Disabled excessive GTest installation in CMake to resolve package conflicts.
- **Tests**: Increased lockout duration in test_auth_logic.cpp to prevent flakiness on slower emulated architectures.
- **Docker**: Fixed FetchContent SSL errors (added ca-certificates) and ensure models are correctly installed before running tests.
- **Cleanup**: Updated .gitignore to exclude log files.
…dels

- **CI**: Added  step to , , and  jobs to ensure tests running on host can find models in .
- **CI**: Added missing  step to .
- **Models**: Updated  and  to fetch models from Hugging Face (OpenCV Zoo mirror).
- **Models**: Updated YuNet model to .
…face detection, and include Git hash or build date in the version string.
- Promoted isValidUsername to public utility in utils.hpp

- Removed unused headers (numeric, string_view)

- Fixed CMake CMP0135 warning for googletest

- Resolved test linking errors
- Updated Dockerfiles to install models to /usr/share/linuxcampam/models

- Updated .dockerignore to exclude opencv_static and build artifacts to prevent cross-arch contamination
@Vladush Vladush closed this Jan 27, 2026
@Vladush
Vladush deleted the feature/opencv-upgrade-static branch January 27, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant