Skip to content

GStreamer imsdk camera test suite#405

Open
nitinn22 wants to merge 2 commits intoqualcomm-linux:mainfrom
nitinn22:feature/camera-gst
Open

GStreamer imsdk camera test suite#405
nitinn22 wants to merge 2 commits intoqualcomm-linux:mainfrom
nitinn22:feature/camera-gst

Conversation

@nitinn22
Copy link
Copy Markdown
Contributor

This test suite provides comprehensive validation of camera functionality using GStreamer with Qualcomm's qtiqmmfsrc plugin (downstream) or libcamerasrc (upstream). Tests run in a specific sequence to validate different camera capabilities progressively.

The test suite automatically detects which camera source plugin is available:

  1. qtiqmmfsrc (Qualcomm CAMX downstream): Runs 10 tests

    • Fakesink (2) + Preview (2) + Encode (6)
    • Priority: Used by default when both plugins are detected
    • Supports NV12 and UBWC formats
  2. libcamerasrc (upstream): Runs 7 tests

    • Fakesink (1) + Preview (3) + Encode (3)
    • Used when qtiqmmfsrc is not available or explicitly requested
    • Supports NV12 format only

- Add GStreamer-based camera test suite at imsdk level
- Support both libcamera and qtiqmmfsrc pipelines
- Introduce duration-based timeout instead of num-buffers
- Add helpers in lib_gstreamer for camera validation
- Cleanup unsupported features and normalize scripts
- Add README and YAML definitions for camera tests

Signed-off-by: nitinn <nitinn@qti.qualcomm.com>
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from 5638a88 to 54e7f3b Compare April 15, 2026 18:00
Signed-off-by: nitinn <nitinn@qti.qualcomm.com>
Copy link
Copy Markdown
Contributor

@smuppand smuppand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR would be much easier to review and maintain if it is reduced to the minimum supported feature set.

Right now the suite is over-expanded for an initial submission: the runner is very large, the README is very long, and the shared library change includes helper additions that do not appear to be required by the suite’s current execution path.

Please tighten this PR. Suggested cleanup:

  1. Remove interfaces that are not actually implemented end-to-end yet

    • e.g. --test-name / CAMERA_TEST_NAME if single-test filtering is not wired up
    • remove snapshot-related helper additions if snapshot tests are not actually executed
  2. Keep only shared lib_gstreamer.sh helpers that are used by this suite today

  3. Reduce the README to the essentials

    • overview
    • prerequisites
    • actual supported test matrix
    • parameters
    • basic troubleshooting
  4. Split into 2 commits

    • shared helper additions
    • Camera_Tests suite files
  5. Fix the YAML wrapper to the repo-standard form while respinning

If needed, it would also be reasonable to reduce this to a smaller MVP first (for example only the verified backend/test paths), and then add more coverage in follow-up PRs.

Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md
Comment thread Runner/utils/lib_gstreamer.sh
Comment thread Runner/utils/lib_gstreamer.sh
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.

2 participants