-
Notifications
You must be signed in to change notification settings - Fork 19
Add PipeWire support to AudioRecord and AudioPlayback tests #137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
tmoida
commented
Aug 8, 2025
- Updated AudioRecord and AudioPlayback scripts to support both PulseAudio and PipeWire
- Added AUDIO_BACKEND variable for backend selection
- Updated README files with usage instructions for both backends
- Modified LAVA test plan to run tests with both PulseAudio and PipeWire
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tmoida Could you please squash the commits into a single one?
Hi @smuppand , |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
few chnages needed like pre-scan dmesg (use common helpers) -> Run playback (possibly loop) -> post-scan dmesg fir any potential audio-related dmesg messages detected.
better to add a daemon check which prevents false failures when the server isn't running
loops + timeout - Lets you simulate longer playback without hanging CI.
Hi @smuppand,
Please let me know if there is anything else that needs to be addressed. |
@tmoida , please squash your commits. |
Hi @smuppand, I've squashed the commits and fixed the Shell Check warning by using the loop variable. Please let me know if there is anything else that needs to be addressed. Also. I have validated these scripts on Yocto builds, and they work fine. However, on Mainline (Nightly sanity) builds, they are being skipped due to a missing timeout binary. I wanted to check: will the timeout binary be included in future builds, or should I update the script to avoid using it? |
You can use the library function run_with_timeout() if the build does not include the timeout utility. |
…PipeWire Signed-off-by: tmoida <[email protected]>
Hi @smuppand, Thanks for the suggestions! I've updated the loop logic to handle early exits cleanly and added clearer return handling to distinguish between success and timeout cases. Also, I've replaced timeout with run_with_timeout() as a fallback to ensure compatibility on builds where the timeout binary is missing. Please let me know if there is anything else that needs to be addressed. |
@tmoida Please update the https://github.com/qualcomm-linux/qcom-linux-testkit/blob/main/Runner/plans/meta-ar-ci-premerge.yaml to include the changes that involve launching or adding any tests. |