Multimedia Tests |
Last
updated on November 11, 1999
|
Type | Manual |
Operating system | Windows 2000 (RC3 or later); Windows 98 |
Log filename | dsdrvtst.log |
Processing time | Approximately 10 minutes |
Status | Required for systems with a soundcard with DirectSound drivers |
Requirements | A DirectSound driver |
Included in these HCTs: | 9.x |
Location in Test Manager: | \System\Manual-Tests\Multimedia |
The DirectSound automatic test suite tests DirectSound drivers.
Algorithm
The DirectSound automatic test suite runs the following tests on a DirectSound Driver:
4:1 Driver Certification test
This test determines whether or not the driver is DirectSound certified.
4:2 Mix many copies of the same wave with one LPDIRECTSOUND
This test opens up a PCM wave file and loads it into many software buffers on the same DirectSound object. The buffers are then played simultaneously.
4:3 Mix many copies of the same wave with different LPDIRECTSONDs
This test opens up multiple DirectSound objects and creates a software buffer for each one. The buffers are then played simultaneously.
4:4 Mix many copies of the same wave with one LPDIRECTSOUNDBUFFER
This test opens up one DirectSound object and one software buffer. Play is then issued on the one software buffer many times.
4:5 Mix same wave with one LPDIRECTSOUND, random sound file
This test is similar to number 2 but it uses random PCM files for the different software buffers instead.
4:6 Mix same wave with different LPDIRECTSOUNDs, random sound file
This test is similar to number 3 but it uses a common random PCM file for software buffers.
4:7 Mix many different waves with one LPDIRECTSOUND, random sound file
This test is similar to number 3 but it uses random PCM files for each software buffer.
4:8 Mix many different waves with different LPDIRECTSOUNDs, random sound file
This test is similar to number 4 but it uses random PCM files for each software buffer.
4:9 Playing buffer stop/start
This test creates a software buffer and loads a PCM wave file into it. It then goes through 4 different sections: 1) Plays to the end of the buffer, stopping and starting with random pauses from the current position; 2) Plays to the end of the buffer, stopping and starting with random pauses from the end of the buffer; 3) Plays looping, stopping and starting with random pauses, from the current position; 4) Plays looping, stopping and starting with random pauses from the beginning. In all cases, the play operation should be successful.
4:10 Play while playing
This test creates a software buffer and loads a PCM wave file into it. It then goes through 2 different sections: 1) Calls play on a normal playing buffer; 2) Calls play on a looping playing buffer.
4:11 Play file in primary buffer
This test creates a write-primary buffer and loads a PCM wave file into it. Depending on the size of the buffer, the entire wave file may be loaded or streamed in. In either case, the looping flag is set when play is issued on the buffer.
4:12 Play secondary buffer via streaming
This test is similar to 11 except it uses a secondary software buffer.
4:13 Release DirectSoundBuffer while playing
This test creates a software secondary buffer and loads a PCM wave file into it. Release is then called on the buffer while it is still playing.
4:14 Release DirectSound while playing
This test is similar to 13 except Release is called on the DirectSound object while it is still playing.
4:15.1 Cycle primary buffer format while playing
This test creates a secondary software buffer and loads valid PCM wave data into the buffer. Play with the looping flag is then issued on this buffer. A primary buffer is then created (on the same DirectSound object) and the various PCM wave formats are set.
4:15.2 Cycle through secondary buffer formats
This is similar to 15.1 except it uses the original secondary software buffer to cycle through the various PCM wave formats.
4:16 Play buffer stop/start, random sound file
This test is similar to 9 except it uses a random sound file.
4:17 Play while playing, random sound file
This test is similar to 10 except it uses a random sound file.
4:18 Play file in primary buffer, random sound file
This test is similar to 11 except it uses a random sound file.
4:19 Play secondary buffer via streaming, random sound file.
This test is similar to 12 except it uses a random sound file.
4:20.1 Release DirectSoundBuffer while playing, random sound file
This test is similar to 13 except it uses a random sound file.
4:20.2 Release DirectSound while playing, random sound file
This test is similar to 14 except it uses a random sound file.
4:21.1 Play file while modifying volume value, random sound file
This test creates a secondary software buffer and loads a random PCM wave file into the buffer. Play is then called and the volume is modified.
4:21.2 Play file while modifying pan value, random sound file
This test creates a secondary software buffer and loads a random PCM wave file into the buffer. Play is then called and pan is modified.
4:21.3 Play file while modifying frequency value, random sound file
This test creates a secondary software buffer and loads a random PCM wave file into the buffer. Play is then called and the frequency is modified.
4:22 Duplicate buffer and play
This test creates a secondary software buffer and then duplicates it many times. Play is then issued on each separate buffer (simultaneously) with the looping flag set.
4:23 Duplicate buffer and play all buffers in series
This test is similar to 22 except it plays the buffers in series and without the looping flag. Namely, it stops the previous buffer before issuing a play on the next.
4:24 Duplicate buffer, delete copies while playing
This test is similar to 22 except it releases the duplicate buffers while it is still in the play state.
4:25 Duplicate buffer, delete original while playing
This test is very similar to 25 except it releases the original buffer while it is still in the play state.
4:26 Duplicate buffer and play, modify control values
This test is similar to 22 except it modifies the volume, pan, and frequency of the buffers while they are playing.
4:27 Duplicate HW buffer and play, modify control values
This test is similar to 26 except it uses hardware buffers for the original and duplicate buffers instead of software buffers.
4:28 Duplicate multiple buffers and play
This test is similar to 22 except buffers are duplicated from multiple original buffers instead of just the one.
4:29 Duplicate multiple buffers and play, modify control values
This test is similar to 26 except buffers are duplicated from multiple original buffers instead of just the one.
4:30 Duplicate buffer and play (random sound file)
This test is similar to 22 except it uses a random PCM wave file
4:31 Duplicate buffer and play all buffers in series (random sound file)
This test is similar to 23 except it uses a random PCM wave file
4:32 Duplicate buffer, delete copies while playing (random sound file)
This test is similar to 24 except it uses a random PCM wave file
4:33 Duplicate buffer, delete copies while playing (random sound file)
This is very similar to 25 except it uses a random PCM wave file
4:34 Duplicate buffer, and play, modify control values (random sound file)
This test is similar to 26 except it uses a random PCM wave file
4:34.1 Validate Streaming HW buffer
This test checks the caps of the driver returned to DirectSound. It finds the first suitable PCM wave format supported by the driver and creates a certain number of streaming hardware buffers (based on the caps obtained). The caps obtained after the creation should equal the original buffer count minus the number of buffers created. The buffers are then released and the caps obtained again. The original free buffer count should now be the same as the free buffer count reported this time.
4:34.2 Validate Static HW buffer
This test is similar to 34.2 except it checks static hardware buffers.
4:35 Check for positional drift
This test creates a secondary software buffer and sets the current position to some valid value. It then compares the current position with the one obtained to ensure that the value hasn't changed. This is done multiple times.
4:35.0 Check for play, write positional drift
This test creates a secondary software buffer loading it with PCM wave file data. Play is then called on the buffer and the test checked to see whether or not the play and write cursors function correctly. The cursors should always ascend and never descend (for the normal play case).
4:35.1 Get/Set Primary Format
This test creates a write-primary DirectSound object and creates a 3D primary buffer. Values for the 3D Listener are then set and retrieved to see if they are the same.
4:36 3D GetCaps
This test tests the validity of the caps returned from the driver. Based on the free buffer value returned from the driver, it may create that buffer amount. It is considered a failure if the number of buffers actually created is less than that reported.
4:37 3D Listener Orientation
This test creates a DirectSound object and obtains a 3D Listener interface to a 3D hardware listener. Different orientation values are then set on the listener.
4:38 3D Listener Position
This test is similar to 37 except it tests the position.
4:39 3D Listener Rolloff Factor
This test is similar to 37 except it tests the Rolloff factor.
4:40 3D Listener Doppler Factor
This test is similar to 37 except it tests the Doppler factor.
4:41 3D Listener Velocity
This test is similar to 37 except it tests the velocity.
4:42 3D Buffer Position
This test creates a DirectSound object and obtains a 3D Buffer interface to a 3D hardware buffer. Different position values are then set on the buffer.
4:43 3D Buffer Velocity
This test is similar to 42 except it tests the velocity.
4:44 3D Buffer Cone Angle
This test is similar to 42 except it tests the cone angle
4:45 3D Buffer Cone Orientation
This test is similar to 42 except it tests the cone orientation.
4:46 3D Buffer Cone Outside Volume
This test is similar to 42 except it tests the cone outside volume.
Issues
This test does not work with driver verifier, so you will be required to reboot your system before and after running this test when testing with Windows 2000.
Type | Manual |
Operating system | Windows 2000 (Beta 3 or later); Windows 98 |
Log filename | ntfduplex.log |
Processing time | Approximately 50 minutes |
Status | Required for systems with a Full-Duplex soundcard. |
Requirements | A Full-Duplex Soundcard and an audio loopback connector (described below) |
Included in these HCTs: | 9.0, 9.1, 9.5 |
Location in Test Manager: | \System\Manual-Tests\Multimedia |
A full duplex soundcard is a soundcard that can record and play audio simultaneously. The full duplex test analyzes an audio signal that is output through the soundcard's line out and then recorded through the soundcard's mic in or line in to test the soundcard's simultaneous recording and playback capabilities.
This test tests input and output at like sample rates. For example: when this test is checking 8kHz sample rates, both recording and playback occur at the 8kHz sample rate.This test does not require a microphone or speakers because it uses an audio loopback connector to record the output from the soundcard's line out to the soundcard's line in or microphone in. The audio loopback connector consists of two 1/8" stereo audio jacks (like the ones found on most consumer headphones) and the appropriate cable to connect them. This part can be purchased from most electronics stores.
To run the Full-Duplex test
"Full Duplex test requires a wave loopback cable.Do you want to run the Mixer Calibration Wizard? If you do not run the Wizard, the test will assume that you have appropriate mixer settings."
Issues
This test may fail if the volume settings on the mixer are set too high or too low. If the signal is distorted due to the mixer settings, the full duplex test will fail. A distorted signal may be the result of a faulty full-duplex implementation, or it may be the result of This section describes how to set recording and playback levels on your full duplex soundcard so that you can pass the full duplex test.
This test does not work with driver verifier, so you will be required to reboot your system before and after running this test when testing with Windows 2000.
Type | Manual |
Operating system | Windows 2000 (RC3 or later); Windows 98 |
Log filename | ntmixdrv32.log |
Processing time | Approximately 5 minutes |
Status | Required for systems with a soundcard. |
Requirements | |
Included in these HCTs: | 9.x |
Location in Test Manager: | \System\Manual-Tests\Multimedia |
This test verifies that the mixer functions of the soundcard's driver are implemented correctly.
Issues
This test does not work with driver verifier, so you will be required to reboot your system before and after running this test when testing with Windows 2000.
Type | Manual |
Operating system | Windows 2000 (RC3 or later); Windows 98 |
Log filename | waveDrv32.log |
Processing time | Approximately 60-120 minutes |
Status | Required, except for some servers (see Issues below). This test is no longer required for submissions made with the following HCT versions: 8.0, 8.1 and 8.2 beta. |
Required Hardware | Soundcard or on-board chipset and driver must be installed. |
Included in these HCTs: | 9.x |
Location in Test Manager: | \System\Manual-Tests\Multimedia |
Description:
This test uses the low-level multimedia wave APIs, not the MCI interface, to verify audio hardware and driver support for all base wave functionality, as well as the extended functionality reported for the device. Failures in this test often indicate a driver or system board timing problems. Systems with an actual sample rate drift greater than 1% of theoretical may exhibit other symptoms such as lip-sync problems when playing AVI files, data corruption and gaming problems.
For any given audio device, WavDrv32 looks only at features accessible through documented Win32 APIs. Specifically, it verifies the following:
All WavDrv32 test cases are automatic and run for 60 minutes or more, depending on the speed of the test machine. Speakers and a microphone must be attached to the audio card being tested, and an audio driver must be installed.
If there are multiple audio devices, the test will, by default, choose the first one enumerated by the system. This selection can be overridden by manually selecting the desired input and output devices. Once WavDrv32 has been closed, it will remember which devices were chosen the next time it is launched. All test cases are expected to pass.
Issues
The Wavedrift test is not required for server testing if no audio components will ship with any configuration of the system.
This test does not work with driver verifier, so you will be required to reboot your system before and after running this test when testing with Windows 2000.
Type | Manual |
Operating system | Windows 2000 (RC3 or later) |
Log filename | dvdtest.log |
Processing time | Approximately 10 minutes |
Status | Required for systems with a DVD drive |
Requirements | A digital video disk (DVD), an audio CD, and a non-audio CD-ROM. |
Included in these HCTs: | 8.x, 9.x |
This test tests whether the DVD drive supports the Mt. Fuji commands listed in the Microsoft PC 99 System Design Guide. This test issues Mt. Fuji commands to the specified DVD drive using the SCSI pass through and ATA pass through interfaces.
To run the DVD testThe Mt. Fuji commands outlined in the PC 99 system design guide are issued one by one and a status report is printed.
The DVD test issues ATA commands if you are testing a system with an IDE DVD drive. These ATA commands are outlined in the PC 99 system design guide.
IssuesAt this time Windows 2000 is unable to determine the drive letter of a DVD drive, so you will have to enter the drive letter as a test parameter in Test Manager. This is described above under 'To run the DVD test'.
If you do not insert DVD media into the test drive before starting the DVD test, you will fail the DVD test.
Algorithm