Commit Graph

135 Commits

Author SHA1 Message Date
Robert Reif 2b3247a424 winmm: Always check for open and close enents in wave test.
Always check for open and close events.
Send WM_APP message to thread to terminate it rather than TerminateThread.
Fix CreateThread/waveOutOpen race by waiting for background thread to
run before waveOutOpen is called.
Add more non-hardware supported formats.  There is a bug in wave
mapper GetPosition when multiple headers are used and this helps
trigger it.
2006-05-31 11:45:22 +02:00
Robert Reif fe2becaee3 winmm: Add multiple header wave tests.
The current wave tests only use a single header for playback.  Tests
have been added to use multiple headers and to reuse them.  This is
how streaming applications and direct sound use the wave api.
2006-05-30 12:22:58 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Reif ed62b0150c winmm: Fix wave test handle use after close bug. 2006-05-20 14:00:22 +02:00
Robert Reif d1b838e948 winmm: Fix wave test volume warning.
Volume is only valid when sound card has volume support.
2006-05-11 12:10:45 +02:00
Robert Reif 9ff27bf6bc winmm: Print out more info on failed test.
Print out more info on failed test.  Looks like there is a bug in ALSA
OSS emulation where it is returning a mid-sample position.
2006-05-09 20:44:56 +02:00
Robert Reif a9bd81be63 winmm: Check waveOutGetVolume parameter. 2006-05-09 11:54:55 +02:00
Robert Reif 319633963d winmm: More wave callback tests.
Add tests for CALLBACK_FUNCTION and CALLBACK_THREAD.  The only
callback type not tested now is CALLBACK_WINDOW.
2006-05-08 14:49:11 +02:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Robert Reif 274de441f7 Add waveOutPause/waveOutRestart test.
Tighten up play duration test when ending too soon.
Set VirtualFree size to 0.
2005-10-31 10:03:25 +00:00
Dmitry Timoshkov 08de86c831 Add a test for mmioDescend, make it pass under Wine. 2005-09-16 19:40:27 +00:00
Stefan Huehner 863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Mike McCormack 383302c11e Make functions static. 2005-06-20 10:30:15 +00:00
Stefan Huehner 03cc8c4181 Remove some -Wstrict-prototypes warnings. 2005-06-17 10:11:37 +00:00
Mike McCormack 65ad7da1f7 Fix some declaration and write string warnings. 2005-06-16 10:45:25 +00:00
Alexandre Julliard c2d5b444b3 Moved the NONAMELESSUNION/STRUCT macros to wine/test.h so that they
can be used in all the test.
2005-06-13 12:10:54 +00:00
Robert Reif 684f111070 Remove priority boost stuff. 2005-04-24 17:23:51 +00:00
Robert Reif 419e92812b Set thread priority for timer thread.
Add timer thread priority test.
2005-04-23 19:03:47 +00:00
Robert Reif ed8cf4e3a9 Changed regression test to make sure position is correctly checked
when a different type is returned.
Added Jeremy White's WAVE_FORMAT_DIRECT/WAVE_MAPPER fix.
Added waveInGetPosition checks.
2005-04-11 12:49:22 +00:00
Robert Reif 83d29a0761 Check wave out volume support. 2005-03-18 10:25:48 +00:00
Francois Gouget 9e53994abe Warn the user if he is running the test in interactive mode but the
sound is turned off.
2005-03-03 13:49:30 +00:00
Jeremy White 494a34bfda An interactive test should have volume, else a rational user will
decide it is broken.
2005-02-23 20:28:28 +00:00
Jeremy White 1b685779a4 When testing the WAVE_MAPPER device, it seems inappropriate (to me) to
demand WAVE_FORMAT_DIRECT; this fixes another slew of tests.
2005-02-23 12:42:43 +00:00
Robert Reif e3566d8260 Fix timer tests to pass on windows 98. 2005-02-18 12:51:54 +00:00
James Hawkins 993fbb94e0 Fix improper type-conversions. 2005-02-16 17:52:35 +00:00
Robert Reif ecdf41ef2c Add some missing \ns. 2005-02-14 20:54:12 +00:00
Robert Reif b33ef44105 Added parameter checking to timeGetDevCaps.
Added timer tests.
2005-02-14 11:00:59 +00:00
Robert Reif 53e5799949 Don't consider a MMSYSERR_NOTSUPPORTED failure a test failure. 2004-11-03 22:13:44 +00:00
Robert Reif 01d55a404b win 9x doesn't always support waveOutGetDevCapsW so don't generate an
error for MMSYSERR_NOTSUPPORTED.
Play one second of silence for each sound card when not in interactive
mode.
2004-10-26 21:18:27 +00:00
Robert Reif c67bfb2895 Don't consider no driver a test failure. 2004-10-25 21:46:12 +00:00
Robert Reif 9c8dd0a294 Don't consider MMSYSERR_NOTSUPPORTED an error for wide functions. 2004-10-18 23:14:54 +00:00
Francois Gouget 4b0cb7d581 Don't include 'mmddk.h', it's not needed. The winmm tests can now be
compiled on Windows without the DDK.
2004-08-31 17:33:03 +00:00
Robert Reif 1e82007cae Test 32 bit float samples. 2004-08-30 18:36:06 +00:00
Robert Reif fa70d5c0d0 Adds tests to read and write control details. 2004-08-27 19:39:10 +00:00
Francois Gouget dff5004bc0 Assorted spelling fixes. 2004-08-26 00:31:20 +00:00
Robert Reif 4e64906797 Added 32 bit sample size tests and 4 and 6 channel tests. 2004-08-19 01:13:58 +00:00
Robert Reif 39a008ed1a Added test for WAVEFORMATEXTENSIBLE support.
Error message cleanup.
2004-08-16 21:10:04 +00:00
Robert Reif 0369da5c9e More WAVEOUTCAPSW tests. 2004-08-13 23:50:18 +00:00
Francois Gouget 08177d6d7b The Windows headers support for NONAMELESSUNION and NONAMELESSSTRUCT
is unusable. So don't force this mode. Instead check whether
NONAMELESSUNION and/or NONAMELESSSTRUCT are set (by the Wine headers)
and define custom access macros accordingly.
2004-08-13 19:49:53 +00:00
Francois Gouget d244f6eb4f The Windows headers don't define the DRV_QUERYDEVICEINTERFACE(SIZE)
macros.
2004-08-13 19:46:43 +00:00
Robert Reif a34c67f6b9 Only print out verbose information when in interactive mode. 2004-08-11 18:50:09 +00:00
Huw D M Davies 26ae2dd365 Fix compilation of winmm tests. 2004-08-09 22:55:03 +00:00
Robert Reif 6d33f1c2c1 Added some mixer tests. 2004-08-09 18:46:26 +00:00
Francois Gouget e07608064a Play back what has been recorded when in interactive mode so that the
user can verify that the recording is correct.
2004-08-02 22:29:02 +00:00
Francois Gouget b90d590d6b Sort the winmm test formats by increasing sampling rate. 2004-07-23 19:06:03 +00:00
Robert Reif 6fb51fc072 Test waveInGetDevCapsW. 2004-07-23 19:05:49 +00:00
Robert Reif f3c85028ef Windows 95 doesn't support waveOutGetDevCapsW. 2004-07-23 19:05:37 +00:00
Francois Gouget da24dff4ff Make sure we won't get an overflow in check_position() even if we play
longer test tones.
2004-07-21 03:23:29 +00:00
Robert Reif f3b7cadf8d Adds *GetDevCapsW bad pointer check.
Adds waveOutGetDevCapsW test.
2004-07-21 03:10:24 +00:00
Francois Gouget 8b5c40fd0c Revert my previous incorrect check_position() patch: Windows returns
exactly the number of samples/bytes played (no plus one there).
Modify check_position() to work off the actual number of bytes as
calculated by wave_generate_la(). This fixes problems due to rounding
when duration is not a neat integer.
Round up the frame field when checking TIME_SMPTE.
2004-07-20 22:09:53 +00:00
Robert Reif c47b4f7941 Notify when position format not supported.
Test that position is 0 at start.
2004-07-20 01:22:47 +00:00
Francois Gouget 9d9c6431da In interactive mode, check that the tone duration is within 10% of the
expected value.
2004-07-19 21:20:03 +00:00
Francois Gouget 8d4b362631 Fix the check_position() test: on Windows waveOutGetPosition() returns
the number of samples played plus one (also one extra sample for the
byte count).
2004-07-19 20:08:24 +00:00
Robert Reif 3aab82079e Removed 11 bit sample size capture test because at least 2
manufacturers sound cards on two different OSs seem to support this.
Added some invalid parameter checks to wave[In,Out]GetDevCaps.
One test is commented out because wine doesn't handle it properly.
Minor info printing cleanup.
2004-06-14 17:54:45 +00:00
Robert Reif 7bd78fe59a Treat WAVE_MAPPER as a real device and performs all tests on it.
Added 16000Hz because win9x hardware spec requires it.
2004-06-04 17:58:00 +00:00
Robert Reif e32f49381a Added a test to check playback position after done playing. 2004-06-01 20:20:54 +00:00
Robert Reif 458cf0bd6d Added another possible windows failure mode. 2004-06-01 19:40:00 +00:00
Robert Reif a6e8430a23 Added WAVE_MAPPED flag test.
Added 8000 Hz test as a typically supported format.
Added 12000 Hz test as a typically unsupported format.
Test error reporting better by testing unsupported formats.
Test using PCMWAVEFORMAT in place of WAVEFORMATEX.
2004-05-27 20:00:26 +00:00
Robert Reif b0d62bb73f Fixed a bug I introduced in waveInGetDevCapsA(WAVE_MAPPER) test.
Moved format structure array to header file and restored
NB_WIN_FORMATS macro to calculate array size.
Added more error results and used macro as suggested by Andreas Mohr.
Cleaned up error result printing to be more consistent.
2004-05-21 20:53:45 +00:00
Francois Gouget c3b8ce939b Split off the winmm capture test. 2004-05-20 01:39:47 +00:00
Francois Gouget 53a20f3a4b Add a 5 second test tone to help debug issues with the tone duration
and help detect stutter issues.
Add explanations describing the interactive test.
2004-05-20 01:16:50 +00:00
Robert Reif 463d474cc7 Print human-readable capabilities flag. 2004-05-14 04:54:54 +00:00
Robert Reif eee90c26a9 waveOutGetDevCapsA can fail with MMSYSERR_BADDEVICEID or
MMSYSERR_NODRIVER when no drivers present.
Add better error messages.
2004-05-13 19:41:53 +00:00
Robert Reif abdce33943 You have to have at least one device before you can have a default
device.
2004-04-30 04:14:58 +00:00
Robert Reif 253ffd50d2 Another error return value check added after looking at the windows
tests results.
Replaced -1 with WAVE_MAPPER.
2004-04-28 03:50:36 +00:00
Robert Reif 7c80f993d2 Restore the 2 MHz sample rate test and fix the winealsa driver for
reasonable limits.
2004-04-27 23:28:46 +00:00
Francois Gouget f627aed58b waveOutGetDevCaps(-1...) must return the capabilities of the Wave
mapper.
DRV_QUERYDEVICEINTERFACE is not supported on all Windows versions.
Check the length returned by DRV_QUERYDEVICEINTERFACESIZE and fix
memory leak.
Some Windows sound drivers allow wild frequencies such as the 2MHz
one. So modify this test to use an invalid number of bits per sample
instead (hopefully that will fail really everywhere).
2004-04-26 23:30:26 +00:00
Robert Reif 7c112c918d Clean up white spaces.
Fix spelling error.
Improve capture error messages.
Fix error reporting when capturing from nonexistent device.
2004-03-27 20:42:57 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Robert Reif 56c449b9e6 Don't flag failed opens of unsupported formats as an error. 2003-11-11 21:56:21 +00:00
Robert Reif 342d59f262 Fix a race condition where result could be read before set.
Fix test to use correct event in interactive mode.
2003-11-11 00:25:50 +00:00
Robert Reif be4281522d Added support for getting the wave device name. 2003-10-28 00:15:16 +00:00
Francois Gouget 721dbf0b29 Modify ok("xxx") calls into ok("xxx\n") as is now expected. 2003-09-11 02:52:19 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Robert Reif cc365bd822 Added more information to some of the failure messages.
Fixed a bug where garbage data is printed out for the 2 MHz tests.
2003-04-02 22:38:42 +00:00
Robert Reif 6168a2ea20 Added waveIn tests. 2003-03-04 22:15:39 +00:00
Francois Gouget 48dacc4996 Make sure we always know about the 48 and 96kHz formats even if they
are not defined in the (old) Windows headers.
2003-01-20 23:28:50 +00:00
Gerald Pfeifer 3af9641e6f #include <stdlib.h> instead of the non-standard <malloc.h>. 2003-01-03 22:32:47 +00:00
Francois Gouget 88a5cb569b Add support for WINETEST_INTERACTIVE. If set then tests can perform
additional explicitly interactive tests.
Modify the winmm test to use WINETEST_INTERACTIVE.
2003-01-02 17:52:05 +00:00
Francois Gouget 8c777a8c8c Add the capacity of playing a test tone using the 'play' option.
Factorize the regular and WAVE_FORMAT_DIRECT tests.
Test the new 48 and 96kHz formats.
2002-12-16 22:12:32 +00:00
Francois Gouget f650222131 If given a bad device id waveOutGetDevCapsA is supposed to return
MMSYSERR_BADDEVICEID. Fixes a todo_wine in the winmm test.
2002-12-15 01:11:41 +00:00
Francois Gouget 52574ed701 Fix error reporting in wavemap.c:wodOpen(); this solves the
waveOutOpen problem so that we can remove the todo_wine.
Win9x does not support WAVE_FORMAT_DIRECT.
Don't check the format if the waveOutOpen command failed.
Use trace, not winetest_trace!
2002-12-12 22:23:15 +00:00
Vincent Béron 9c627aae6b Suppress some signed/unsigned comparison warning. 2002-12-10 19:10:46 +00:00
Francois Gouget 4ce28377f7 Test sound format support with waveOutGetDevCaps and waveOutOpen. 2002-11-04 23:47:49 +00:00