Commit Graph

774 Commits

Author SHA1 Message Date
Francois Gouget 9d589acc26 Assorted spelling fixes. 2005-01-04 20:39:54 +00:00
Alexandre Julliard 75f87dd43f Get rid of the ThunkData stubs, these are not functions. 2005-01-03 20:47:48 +00:00
Michael Stefaniuc 15a308a9d7 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-03 14:56:42 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget ee0344a4a2 Remove unneeded NULL casts. 2004-12-22 15:13:20 +00:00
Robert Reif 2d8e75dab5 A driver does not have to support all formats. 2004-12-20 19:08:18 +00:00
Robert Reif 6ca75f8bb7 Return actual result on error. 2004-12-20 17:09:12 +00:00
Robert Reif 7b53f635f7 Return flag for DRVM_MAPPER_PREFERRED_GET. 2004-12-17 19:04:28 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Ge van Geldorp c24ca67f58 Match PSDK definitions for LPCWAVEFORMATEX. 2004-12-08 13:57:55 +00:00
Michael Jung 0e9f423b17 Fixed linking issues. 2004-12-08 13:44:41 +00:00
Alexandre Julliard 5f1ef6d09b Fixed compile error. 2004-12-07 14:31:53 +00:00
Alexandre Julliard b4e495574b Authors: Eric Pouech <pouech-eric@wanadoo.fr>, Filip Navara <xnavara@volny.cz>
32 bit low level drivers now use a Unicode interface (used to be ANSI):
- Send the *_GETDEVCAPS messages in unicode format from the
  *GetDevCapsW function and call the *GetDevCapsW from their respective
  Ansi versions.
- Modify all low level drivers to correctly process the *_GETDEVCAPS
  messages as unicode.
- *_GETDEVCAPS messages are now mapped from/to unicode for 16 bit code.
- Removed all SoundBlaster naming oldies.
Better use of some unicode functions (instead of Ansi) in winmm.
2004-12-06 20:55:25 +00:00
Filip Navara 155c8acfbd - Check the return value from *_GETNUMDEVS message as per KB90562.
- Fix typo in MMDRV_InstallMap.
2004-12-01 15:32:19 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Eric Pouech 5c2a891c43 Made some functions and variables static. 2004-11-29 18:00:10 +00:00
Rémi Assailly 8cd13776e2 Add some missing error values in WINMM_ErrorToString. 2004-11-21 15:37:04 +00:00
Robert Reif 24da756e68 One step closer to getting hardware accelerated capture working. 2004-11-19 18:25:03 +00:00
Robert Shearman 84eaaa168f Fix broken thread start routines. 2004-11-03 22:18:44 +00:00
Robert Reif 53e5799949 Don't consider a MMSYSERR_NOTSUPPORTED failure a test failure. 2004-11-03 22:13:44 +00:00
Jeremy White e078899218 The Sleep(0) in this loop is incorrect, and should be removed. This
fixes iTunes and a game reported by che.
2004-11-02 19:26:22 +00:00
Robert Reif 0e3c524f4c Split up audio.c into three separate .c files:
audio.c: OSS functions and waveIn and waveOut driver functions.
dscapture.c: direct sound capture driver implementation.
dsrender.c: direct sound renderer driver implementation.
2004-10-26 22:04:55 +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
Francois Gouget ceab348973 Remove HAVE_LIBAUDIOIO_MIDI and LIBAUDIOIO_MidiInit(). 2004-10-21 19:58:08 +00:00
Vincent Béron 6c644d68cf Fix various function prototypes. 2004-10-19 23:55:15 +00:00
Robert Reif 9c8dd0a294 Don't consider MMSYSERR_NOTSUPPORTED an error for wide functions. 2004-10-18 23:14:54 +00:00
Jeremy White fea27b1348 Revise winmm/time.c to fix timer resolution at 1 ms. This then allows
a much more efficient implementation of timer events and timeGetTime,
and callers that used sub 10 ms resolution will now get correct
results.
2004-10-18 21:44:32 +00:00
Hans Leidekker 804277371a getMessage() is only defined when HAVE_OSS is defined. 2004-10-14 00:28:43 +00:00
Eric Pouech 1876d185e9 - bring the multimedia doc up-to-date
- moved the TODO from the doc into the code
2004-10-11 19:57:10 +00:00
Jerry Jenkins ccdea75dca Fix an error message. 2004-10-04 20:41:10 +00:00
Jerry Jenkins 30b8cccc07 Don't use the SND_PCM_ASYNC flag for the moment. 2004-10-04 19:30:04 +00:00
Uwe Bonnes 17e22fba88 Call GetProcessHeap() instead of passing its address. 2004-09-27 20:35:13 +00:00
Alexandre Julliard 4521ea6e76 Revert broken change in previous patch. 2004-09-22 04:00:14 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Alexandre Julliard f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Rein Klazes ad6b12c64c Fix a heap corruption in MIX_Init ( sizeof() != strlen() ). 2004-09-02 22:57:39 +00:00
Alexandre Julliard 1b30417811 Function parameters don't need WINE_UNUSED. 2004-09-01 04:58:21 +00:00
Francois Gouget 3c4525af93 Add support for the AUDIODEV and MIXERDEV environment variables. 2004-09-01 01:28:12 +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 79b1c4dbe7 Round results of conversions between OSS and windows values. 2004-08-30 18:35:53 +00:00
Robert Reif fa70d5c0d0 Adds tests to read and write control details. 2004-08-27 19:39:10 +00:00
Robert Reif d7d1c3846b Set proper target type.
Set proper max and step for mux control.
2004-08-27 19:38:47 +00:00
Francois Gouget dff5004bc0 Assorted spelling fixes. 2004-08-26 00:31:20 +00:00
Dmitry Timoshkov 03490879bd Fix an obvious typo leading to a crash. 2004-08-25 17:31:03 +00:00
Robert Reif c8fa57539d Added 32 bit float support. 2004-08-25 02:11:12 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Robert Reif b15504e122 Added support for multiple mixers.
Get mixer name from OSS.
More tracing.
2004-08-22 22:26:48 +00:00
Robert Reif 6f4be5494b Fixed bug in volume control step size so that it actually works.
Added additional debug tracing.
Code cleanup.
2004-08-22 02:02:27 +00:00
Robert Reif 7bf4eee7ad Remove wine specific DRV_QUERYDSOUNDGUID message and calculate it in
dsound.dll (like in 2k/xp).
2004-08-20 20:01:31 +00:00
Robert Shearman 941ed629a3 - Input path can have trailing slash.
- Improve some debugging messages.
2004-08-20 19:27:15 +00:00
Robert Reif 5ae2835e82 Change step size from 0 to 1 for volume controls to stop divide by
zero in app.
Change debug channel to mixer.
Add more tracing and errors.
2004-08-20 19:22:24 +00:00
Robert Reif 2e569d14c9 Added 24/32 bit sample size and 4/6 channel support.
Added dsound capture wine specific message support.
2004-08-19 19:55:38 +00:00
John K. Hohm cc3af24375 Consistently suggest proper Emulation rather than Emulated for
HardwareAcceleration in [dsound] section of config file.
2004-08-19 18:54:41 +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 370d5d244e Cleanup messages in supportedFormat. 2004-08-19 01:10:36 +00:00
Robert Reif c710121132 Don't try to find alternate formats for non PCM formats. 2004-08-19 01:07:49 +00:00
Robert Reif 7fe0568482 Some sound cards have different capabilities when doing full duplex so
add duplex caps and return them when necessary.
Clean up event message printing.
2004-08-18 00:30:01 +00:00
Eric Pouech f2ea78cdfb Implemented the mmTask* functions. 2004-08-16 23:19:17 +00:00
Robert Reif 39a008ed1a Added test for WAVEFORMATEXTENSIBLE support.
Error message cleanup.
2004-08-16 21:10:04 +00:00
Robert Reif e24f873b0f Added WAVEFORMATEXTENSIBLE support. 2004-08-16 21:09:52 +00:00
David Kredba b45744c817 Added Czech resources. 2004-08-16 20:02:09 +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 c5a15bf3ec Better mmap failure error message. 2004-08-13 19:42:36 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Alexandre Julliard b459952144 Avoid some non-portable makefile constructs, and get rid of the
ALTNAMES variable.
2004-08-11 23:59:06 +00:00
Robert Reif a34c67f6b9 Only print out verbose information when in interactive mode. 2004-08-11 18:50:09 +00:00
Robert Reif 17a8372302 Only copy number of bytes specified up to size of DevCaps structure. 2004-08-11 18:48:46 +00:00
Huw D M Davies 26ae2dd365 Fix compilation of winmm tests. 2004-08-09 22:55:03 +00:00
Mike Hearn 81fd67d0d7 Only trace FOURCC handler when one is specified 2004-08-09 18:47:37 +00:00
Robert Reif 6d33f1c2c1 Added some mixer tests. 2004-08-09 18:46:26 +00:00
Robert Reif c427708bd5 Change MIXER_GetDev to take pointer to returned address pointer and
return one of 3 possible return values rather than an address or
NULL.
2004-08-09 18:45:05 +00:00
Robert Reif 7bf7bce0da Add CRITICAL_SECTION debug info. 2004-08-04 18:14:21 +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
Marcelo Duarte 4a132c4f15 Localization of devenum to Portuguese and minor corrections. 2004-07-29 02:40:15 +00:00
Francois Gouget eed1b5209d Added bytes_to_mmtime() to convert the stream position from bytes to
the requested MMTIME format. This function should be identical in all
drivers.
Remove the corresponding code from wodGetPosition() and
widGetPosition() and use bytes_to_mmtime() instead.
bytes_to_mmtime() uses no floating-point arithmetic to compute
TIME_SMPTE and no longer uses round(). It should have no integer
overflows either.
2004-07-23 23:01:21 +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
Filip Navara 2b95caccd3 - Implementation of mmTaskCreate. Based on patch by Eric Pouech.
- Fallback implementation in waveOut[Un]PrepareHeader.
2004-07-21 03:02:36 +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 2e13bf774e Check that we are still playing in wodUpdatePlayedTotal(). If not,
then the value returned by snd_pcm_delay() is not usable so assume
delay=0. This gets the winmm test to complete in interactive mode with
winealsa.
2004-07-19 21:20:59 +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
Francois Gouget 54751b230d Use round() instead of ceil() in wodGetPosition(TIME_SMPTE).
Fixes the corresponding winmm conformance test.
2004-07-19 20:08:06 +00:00
Francois Gouget 170dbf4243 An SNDCTL_DSP_SETDUPLEX failure should be a WARN(), not an ERR(),
since the OSS specifications say we have to call it before knowing if
the sound card is full-duplex capable.
2004-07-14 21:44:50 +00:00
Dmitry Timoshkov 4381a80efe Make it possible to open read-only AVI files for a playback. 2004-07-14 21:43:03 +00:00
Henning Gerhardt 4bbc1b3fb6 More German translations. 2004-07-13 23:36:37 +00:00
Robert Reif 33e4506cda Get certification for VerifyCertification from driver to match
GetCaps.
Change OSS driver to report certified.
Change OSS driver to show message name rather than number in traces.
2004-07-06 18:43:57 +00:00
Dimitrie O. Paun 0415030f51 Lookup driver information in registry and system.ini.
Make the code inspect the registry/system.ini at call time, rather
then initialization time.
Code cleanups.
2004-06-30 18:12:20 +00:00
Hajime Segawa 76e280b401 Added some Japanese translations. 2004-06-28 23:50:22 +00:00
Francois Gouget d8e9b8f7aa Log the format when mapping the sound device (or failing to). 2004-06-16 20:06:48 +00:00
Francois Gouget 1d834f4717 Fix the check for SNDCTL_DSP_GETCAPS so that it is compliant with the
OSS specification.
Only test the different formats if tracing is on.
2004-06-15 20:25:46 +00:00