Basic end-to-end audio testing prototype

Registered by Ilias Biris on 2011-09-28

While for some hardware ports it's hard to test whether a port really gets a proper signal etc, we feel for audio this might be
relatively straight forward: we could connect a cable from jack out to jack in in the lab and then have a testcase that plays something using aplay and checks that he gets proper input/signal on the jack in.

This could be done on alsa level and later pa level (for ubuntu).

The thought here would be to programmatically detect silence via hardwired loopback, then a test tone at a specific frequency(s), then silence again, all in a scriptable command line driven tool.

Initial release will be for a command line tool for both Android and Ubuntu. The application will need to use the alsa-lib for Ubuntu and tinyalsa for Android.

The code available for 11.12 release in -> http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git

Blueprint information

Status:
Complete
Approver:
Kurt Taylor
Priority:
Medium
Drafter:
Kurt Taylor
Direction:
Approved
Assignee:
Kurt Taylor
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2011.12
Started by
Kurt Taylor on 2011-11-04
Completed by
Kurt Taylor on 2011-12-15

Related branches

Sprints

Whiteboard

Meta:
Roadmap id: LINUX2011-ENABLEMENT-TESTING
Headline: Unattended test application for testing the end to end audio stack for Ubuntu.

Acceptance Criteria: Run the test application on intel/ Ubuntu image, verify successful test results for working and non-working test cases.

(?)

Work Items

Work items:
Verify needed functionality and library compatibility across Ubuntu: DONE
Create basic application that will open and read a sample from PCM : DONE
Add frequency analysis from available library: DONE
Test basic application with speakertest playing a sine wave: DONE
Integrate playing a sine wave: DONE
Create driver script for app: DONE
Add functionality to allow passing different card/device passing: DONE
Verify intended functionality on Ubuntu: DONE
Enumerate test cases for positive and negative results report correctly: DONE

This blueprint contains Public information 
Everyone can see this information.