End to end audio testing prototype on Android

Registered by Kurt Taylor

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 out jack to the in jack in the lab and then have a testcase that plays a sine wave or something using tinyplay and checks that it gets proper input/signal on the jack in.

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.

This blueprint is 3 of 4, to create a prototype command-line tool for Android.

After further investigation, the right way to do this is to write a new tool for Android. This tool will need to use the audioflinger api to play a sine wav and then sample the output in a similar way to the e2eaudiotest for the Ubuntu-based LEB.

It might be better to have a script that drives different tools that test the entire stack, native and audioflinger api.

Other tools might be used such as: https://gitorious.org/omap-audio/omap-audio-tool

Blueprint information

Tom Gall
Kurt Taylor
Needs approval
Kurt Taylor
Series goal:
Accepted for trunk
Milestone target:
milestone icon backlog
Completed by
Jesse Barker


Roadmap id: LINUX2012-Continue-Basic-enablement-testing
Headline: Unattended test application for testing the end to end audio stack for Android on a pandaboard

Acceptance Criteria: Run the test application on Android LEB image for a panda, verify successful test results for working and non-working test cases.

Output: prototype code checked into Linaro git


Work Items

Work items:
Create pandaboard images with working audio from Android LEB: DONE
Create tinyalsa utils for open and read: DONE
Write tool to play sine wave to audioflinger: TODO
Write tool to sample and test frequency, similar to e2eaudiotest (testfreq): TODO
Test loopback cable case on pandaboard with tinyalsa-based executable for Android: TODO

This blueprint contains Public information 
Everyone can see this information.


No subscribers.