Share via


Full-duplex Audio Power Management and Playback Verification (Compact 7)

3/12/2014

The Full-duplex Audio Power Management and Playback Verification test exercises waveform audio functionality for audio drivers around power management activities. The test verifies that the driver can playback supported formats in full-duplex through the Waveform Audio application programming interface.

Test Prerequisites

Your device must meet the following requirements before you run this test.

The following tables show the hardware requirements for this test.

Requirement Description

Audio card

An audio card that supports full-duplex audio and is compatible with Windows Embedded Compact.

Keyboard

Needed for a device without a graphical user interface (GUI).

The following tables show the software requirements for this test.

Requirement Description

Tux.exe

Test harness, required for executing the test.

Kato.dll

Logging engine, required for logging test data.

Testutildrv.dll

Test library to support power management functionality.

Wavetest.dll

Test library.

At least 0.3 megabytes (MB) of free storage memory

If there is not sufficient space in the root directory of the target device, the test cannot run properly.

At least 1.0 MB of free program memory on the target device

If there is not sufficient program memory on the target device, the test cannot run properly.

SYSGEN_MININPUT and any dependencies

Images that are designed to work on a device without a graphical UI require SYSGEN_MININPUT and any dependencies therein to be present on the system. (This is the minimum requirement for Keyboard support which is needed to get the interactive user input from a device without a graphical UI.)

In order for the Waveform Audio Driver Test to function correctly you must have included the waveform audio component, SYSGEN_AUDIO, as well as an audio driver in your OS build using BSP_WAVEDEV_<driver_name> or BSP_AUDIO_<driver_name>. Some board support packages (BSPs) include an audio driver by default.

Subtests

The table below lists the subtests included in this test.

SubTest ID Description

5000

Test Power Down/Up with PlaySound Synchronous.

Tests the functionality of WAV_PowerUp and WAV_PowerDown

5001

Test Power Down/Up with PlaySound Asynchronous.

Tests the functionality of WAV_PowerUp and WAV_PowerDown

5002

Test Power Down/Up with sndPlaySound Synchronous.

Tests the functionality of WAV_PowerUp and WAV_PowerDown

5003

Test Power Down/Up with sndPlaySound Asynchronous.

Tests the functionality of WAV_PowerUp and WAV_PowerDown

5004

Test Power Down/Up with waveOutWrite.

Tests the functionality of WAV_PowerUp and WAV_PowerDown

Setting Up the Test

The sound card or audio driver must be installed and active.

Running the Test

This test library can have one or more optional command line entries to change the behavior of the test. To specify the optional command-line entries to the test library, you must use the -c command line option. This option forces Tux to pass the specified string into the test library.

Note:Make sure you are reading the debug output, since that is where you will be prompted by text for an interactive user response.

The following table shows the optional command line parameters.

Command line parameter Description

"-i"

Forces the test to stop and prompt you for confirmation. You can run the test with this parameter to manually confirm that audio plays and records correctly.

"-h"

Run the tests on a device without a graphical UI. Prompts will be textual in the debug output. Interactive input will be entered through a keyboard attached to the device without a graphical UI. This parameter is designed to be used with the -i parameter, thus allowing you to run the tests in interactive mode on the device. (The system must have at least SYSGEN_MININPUT level of input support present.)

"-d duration"

Sets the duration of the tone being played or captured for all test cases. Duration is given in units of seconds. The default value is 1 second.

"-e"

Enables half-duplex testing and disables sound output when capturing. You must supply your own sound into the microphone when the test attempts to record sound.

"-wo device_identifier"

Specifies which Wave Output device to test. If your device is not the first output device, use this parameter to specify which device must be tested. The default value is zero.

"-wi device_identifier"

Specifies which Wave Input device to test. If your device is not the first input device, use this parameter to specify which device must be tested. The default value is zero.

"-c path\filename"

Specifies the path and filename of the CSV file in which to output latency test results. The default is to not save the results. If you specify -c but do not specify path\filename then the result is stored in \release\audio_latency_test_results.csv. The default file extension is .CSV.

"-f d_f_c_b"

Specifies the latency test duration and wave characteristics. *d = playback/capture duration in milliseconds; default value is 1000. *f = the sample frequency; default value is 11025. *c = number of channels; default value is 1. *b = number of bits per sample, either 8 or 16; default value is 8.

"-v path\filename"

Saves the audio file created by the playback interoperability test. Default is to not save the file. If you specify -v but do not specify path\filename then the file will be saved as \release\WaveInterOp.wav. Default file extension is .WAV.

"-ao duration"

Sets the expected playtime allowance for playback test cases. Duration is given in units of milliseconds. If the test case takes more time than ‘expected playtime + allowance’ or less time than ‘expected playtime - allowance’ for playback, then the test case will fail. The default value is 200 milliseconds.

"-ai duration"

Sets the expected capture time allowance for capture test cases. Duration is given in units of milliseconds. If the test case takes more time than ‘expected capture time + allowance’ or less time than ‘expected capture time - allowance’ for capture, then the test case will fail. The default value is 200 milliseconds.

"-p"

Enables Power Management tests. By default, power management tests are skipped as not all systems support power management.

"-s duration"

Sets the sleep interval for CALLBACK_NULL for all of the test cases. Duration is given in units of milliseconds. The default value is 50 milliseconds.

"-t threads"

Sets the number of threads for audio stability tests. This parameter is used by playback and capture mixing test cases to stress the system by launching the number of threads. The default value is 9 threads. The maximum value you can specify is 40 threads.

"-?"

Shows a help message containing all the parameters and their descriptions.

Verifying the Test

When the test completes running, verify that "PASS" appears in the test log for all sub-tests

Troubleshooting the Test

The following table shows troubleshooting tips.

Item Solution

The Power Management Tests are skipping.

These tests will skip if the power manager is not present on the system.

The Capture Multiple Stream Tests are skipping.

These tests will skip if the device driver does not support multiple capture streams.

If the build verification test (test case 100) determines that required functionality is not present, it may skip other test cases.

For additional platform specific issues, consult the CTK articles on the TechNet wiki.

See Also

Other Resources

Audio Tests