Skip to content

GStreamer imsdk camera test suite#405

Merged
smuppand merged 2 commits intoqualcomm-linux:mainfrom
nitinn22:feature/camera-gst
Apr 29, 2026
Merged

GStreamer imsdk camera test suite#405
smuppand merged 2 commits intoqualcomm-linux:mainfrom
nitinn22:feature/camera-gst

Conversation

@nitinn22
Copy link
Copy Markdown
Contributor

@nitinn22 nitinn22 commented Apr 15, 2026

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 (2) + Preview (2) + Encode (3)
    • Used when qtiqmmfsrc is not available or explicitly requested
    • Supports NV12 format only

Lava job for reference with these changes, Refer https://lava.infra.foundries.io/scheduler/job/182439#L2523

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from 5638a88 to 54e7f3b Compare April 15, 2026 18:00
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/Camera_Tests.yaml Outdated
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 Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md Outdated
Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/README.md Outdated
Comment thread Runner/utils/lib_gstreamer.sh Outdated
Comment thread Runner/utils/lib_gstreamer.sh Outdated
@nitinn22
Copy link
Copy Markdown
Contributor Author

nitinn22 commented Apr 17, 2026

  • Removed pipeline related functions from the lib_gstreamer.sh
  • Fixed a timeout bug in GStreamer pipeline execution
  • Enhanced error detection with SIGSEGV/crash detection, currently camera preview shows this error on recent builds.
  • Improved test output with file size reporting for encode tests

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.

Please squash the commits into

At most, 2 logical commits would make sense:

  1. shared Runner/utils/[lib_gstreamer.sh](http://lib_gstreamer.sh/) helper additions
  2. Camera_Tests suite files

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 Outdated
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 Outdated
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 Outdated
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from 72274d8 to e6e24b7 Compare April 18, 2026 02:48
@nitinn22
Copy link
Copy Markdown
Contributor Author

quashed commits as suggested.
Final history now contains two logical commits:

  • shared Runner/utils/lib_gstreamer.sh helper changes
  • Camera_Tests suite files and all follow‑up fixes

Please review. Thanks!

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from ff80587 to 35f4a80 Compare April 18, 2026 03:01
@smuppand smuppand added the enhancement New feature or request label Apr 18, 2026
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.

The PR is much closer now, and I no longer see the previous major structural blockers. Only minor comment fixes and the main shell lint issues remain.

Comment thread Runner/suites/Multimedia/GSTreamer/Camera/Camera_Tests/run.sh Outdated
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from adecc41 to 99ff31a Compare April 19, 2026 00:22
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch 2 times, most recently from 0bffdac to 7536960 Compare April 21, 2026 02:04
@nitinn22
Copy link
Copy Markdown
Contributor Author

To get the camera working, we need to load the cdt first. This support is not available on LAVA yet; the scripts have been locally tested and validated already.

@bhargav0610
Copy link
Copy Markdown
Contributor

To get the camera working, we need to load the cdt first. This support is not available on LAVA yet; the scripts have been locally tested and validated already.

we are loading CDT for rb3gen2

@smuppand
Copy link
Copy Markdown
Contributor

To get the camera working, we need to load the cdt first. This support is not available on LAVA yet; the scripts have been locally tested and validated already.

we are loading CDT for rb3gen2

Could you indicate which lava job is running the camera tests?

@bhargav0610
Copy link
Copy Markdown
Contributor

To get the camera working, we need to load the cdt first. This support is not available on LAVA yet; the scripts have been locally tested and validated already.

we are loading CDT for rb3gen2

Could you indicate which lava job is running the camera tests?

sorry missed earlier to place the lava job and here is the lava job where we ran on next branch and waiting for these changes to consume in meta-qcom https://lava.infra.foundries.io/scheduler/job/181041#L205

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch 2 times, most recently from e021a23 to 7f664b5 Compare April 22, 2026 10:14
@nitinn22
Copy link
Copy Markdown
Contributor Author

I’ve rebased the branch onto the latest main, cleaned up the history, and force‑pushed with two focused commits. Please take another look.

@smuppand
Copy link
Copy Markdown
Contributor

I’ve rebased the branch onto the latest main, cleaned up the history, and force‑pushed with two focused commits. Please take another look.

Please resolve conflicts

@nitinn22
Copy link
Copy Markdown
Contributor Author

resolved.

@nitinn22
Copy link
Copy Markdown
Contributor Author

nitinn22 commented Apr 22, 2026

Tried on rb8, with has-camera tag enabled. I see same errors for both
camera base tests: https://lava.infra.foundries.io/scheduler/job/185098 and
camera imsdk tests: https://lava.infra.foundries.io/scheduler/job/185087.
It could be the camera setup issue itself. @bhargav0610 @smuppand

@smuppand
Copy link
Copy Markdown
Contributor

Tried on rb8, with has-camera tag enabled. I see same errors for both camera base tests: https://lava.infra.foundries.io/scheduler/job/185098 and camera imsdk tests: https://lava.infra.foundries.io/scheduler/job/185087. It could be the camera setup issue itself. @bhargav0610 @smuppand

@bhargav0610, could you please confirm whether the camera sensors are connected to the RB8 devices? @nitinn22, could you try using RB3GEn2, where the camera will be installed beforehand?

@smuppand
Copy link
Copy Markdown
Contributor

@nitinn22 please address the execute permission issues for the run.sh https://github.com/qualcomm-linux/qcom-linux-testkit/actions/runs/24783804921/job/72824221798?pr=405

@nitinn22
Copy link
Copy Markdown
Contributor Author

Fixed exec permissions on run.sh

@smuppand
Copy link
Copy Markdown
Contributor

@nitinn22 Functionally this looks good to merge.

Only minor non-blocking notes remain:

  • YAML still uses the older wrapper style and leaves send-to-lava.sh unquoted
  • PR description has a small stale detail for libcamerasrc test split
  • has 4 commits, please squash them.

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from d01d77f to 27095aa Compare April 24, 2026 06:40
@nitinn22
Copy link
Copy Markdown
Contributor Author

Resolved all items.

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from 331fc36 to ed90e86 Compare April 24, 2026 06:51
@smuppand
Copy link
Copy Markdown
Contributor

@nitinn22 There are still merge conflicts. Could you please resolve them?

@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from ed90e86 to a82ce9d Compare April 28, 2026 09:56
Signed-off-by: nitinn <nitinn@qti.qualcomm.com>
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from a82ce9d to 84edd1e Compare April 29, 2026 01:44
Signed-off-by: nitinn <nitinn@qti.qualcomm.com>
@nitinn22 nitinn22 force-pushed the feature/camera-gst branch from 84edd1e to 6c720a1 Compare April 29, 2026 02:08
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.

LGTM

@smuppand smuppand merged commit 1d925b5 into qualcomm-linux:main Apr 29, 2026
12 checks passed
@nitinn22
Copy link
Copy Markdown
Contributor Author

@nitinn22 There are still merge conflicts. Could you please resolve them?

Resolved conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants