Commit Graph

1087 Commits

Author SHA1 Message Date
Jeremy White 15ec2780ef When we are converting from one sample rate to another, we do have to
adjust when calculating TIME_SAMPLES.
2005-02-23 12:42:32 +00:00
Christian Costa 87844214ab Fixed offsets calculations. 2005-02-18 12:53:26 +00:00
Robert Reif e3566d8260 Fix timer tests to pass on windows 98. 2005-02-18 12:51:54 +00:00
Alex Villacís Lasso 18bfe6a095 Change SUBLANG_DEFAULT to SUBLANG_NEUTRAL for LANG_SPANISH in all
resources, so that Spanish locales other than Spain also use Spanish
resources.
2005-02-16 21:10:59 +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
Eric Pouech 1eed552b4d - rewrite MCI interfaces as Unicode interface (as it should be)
- made some winmm APIs rely on the Unicode version for the core
  implementation (instead of Ansi flavor)
2005-02-09 22:26:25 +00:00
Robert Reif 7d92b5d8b4 Fix structure member name to match windows headers and fix up all
uses.
Nameless struct fix for dsound/propset.c to compile on both windows
and wine.
2005-01-28 17:21:07 +00:00
Alexandre Julliard d1685b00bf Authors: Klemens Friedl <klemens_friedl@gmx.net>, Henning Gerhardt <henning.gerhardt@web.de>
Spelling fixes.
2005-01-17 13:43:31 +00:00
James Hawkins ed12a3defd - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-12 19:55:24 +00:00
Vincent Béron 151015fa02 Only use Alsa if 1.0 is detected. 2005-01-10 13:26:33 +00:00
Mike McCormack 4a0f999859 Use CreateEventW in preference to CreateEventA for unnamed events. 2005-01-07 15:40:09 +00:00
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
Francois Gouget 20ab4b395f Change the ARTS_Init() error message from an ERR() to a WARN() since
it can happen in perfectly normal conditions.
2004-06-15 20:25:11 +00:00
Robert Reif a9d5f0829a Added tracing to all functions.
Added error explanations.
Changed debug channel from msacm to wavemap so not confused with
msacm.
2004-06-14 17:55:03 +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 1e2dcc457e Reset played variables on open. 2004-06-14 16:59:34 +00:00
Mike McCormack 8b0b70ab50 Fix PlaySound. 2004-06-14 16:55:33 +00:00
Robert Reif 95bd820fe1 Don't try to map the mapper device. 2004-06-14 16:53:59 +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 a7e8f6f3a2 Handle case where partial structure update requested.
Minor white space cleanup.
2004-06-04 17:57:40 +00:00
Robert Reif bdbb54f340 Fix calculation of SMPTE time (round up to full frame).
More accurate ms calculation.
2004-06-01 20:22:11 +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 0f939fc9b5 Returns proper error code when trying to get caps when no devices
present.
2004-06-01 20:19:30 +00:00
Robert Reif c75c2668f2 Fixed a bug where wrong a return value was returned when mapping is
not possible.
2004-06-01 19:41:18 +00:00
Robert Reif fd758586d1 Added some trace and debug printing. 2004-06-01 19:40:48 +00:00
Robert Reif 458cf0bd6d Added another possible windows failure mode. 2004-06-01 19:40:00 +00:00
Uwe Bonnes 0a5f393483 Fixed missing inversion in bit manipulation. 2004-05-27 20:12:51 +00:00
Robert Reif 41c6b5b5b9 Fixed a problem were a trace accesses a data member that may be
outside of the actual data structure passed in.
Added some more debug traces.
2004-05-27 20:05:08 +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
Ivan Leo Puoti 3e42f6953e Changed my name, so update copyright info. 2004-05-27 02:25:13 +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
Francois Gouget ceeed96a38 Use triggers to disable the sound input/output side we don't care
about when in pseudo fullduplex mode.
2004-05-20 01:16:10 +00:00
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Robert Reif 463d474cc7 Print human-readable capabilities flag. 2004-05-14 04:54:54 +00:00
Robert Reif ee0868e013 Sample rate sanity check.
Fix SMPTE time.
2004-05-14 00:44:06 +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 4a787831f0 Add an interface name to wineoss, winealsa, winearts and winejack.
Add support for wave interface message where missing.
2004-05-11 04:28:13 +00:00
James Courtier-Dutton 0040ba959b Updated to the new alsa api. 2004-05-05 22:03:48 +00:00
Francois Gouget 9f1aea2fb8 Assorted spelling fixes. 2004-05-05 01:09:24 +00:00
Francois Gouget df4409fb95 winejack.drv only supports 16bit sound so we can simplify the sound
format checks.
2004-05-05 01:06:27 +00:00
Francois Gouget 91c2507dd4 If ARTS_WaveInit() failed then transmit the failure upstream in
ARTS_DriverProc().
2004-05-05 01:06:09 +00:00
Francois Gouget bf75c5c163 Taking into account wavemap and midimap there can be up to 8 output
drivers. So increase the size of the MMDrvs array accordingly.
Skip already loaded drivers before complaining (asserting) that they
don't fit in the MMDrvs array.
2004-05-05 01:00:54 +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 8db4d73d89 Forgot to limit capture sample rates. 2004-04-29 00:20:35 +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
Ove Kaaven c6ad91ba3c Fixed a couple of bugs. 2004-04-28 00:24:09 +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 da29b6547f Make sure the 'alsa handle' is initialized to NULL before calling
snd_pcm_open(). Otherwise if it fails we get a crash trying to close
an invalid alsa handle.
2004-04-26 23:31:11 +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
Francois Gouget cce19caacb Fix a warning in JACK_drvLoad(). 2004-04-26 20:04:21 +00:00
Francois Gouget 8ceb200817 We only support 8 and 16 bit sound so we should reject the other
formats.
2004-04-26 20:03:59 +00:00
Francois Gouget ebf0eb3138 Make static Unicode strings const. 2004-04-20 00:34:52 +00:00
Ove Kaaven 276ccc44ed Added detection of 48kHz and 96kHz support. Fixed a thinko, and some
misleading indentation.
2004-04-19 23:06:48 +00:00
Ove Kaaven 59917f4cfa Code and concepts merged in from wineoss in order to get the
non-dsound wave output performance in winealsa to an acceptable
level. It's still possible to do better than the current code, but
this should do for now.
2004-04-19 19:24:25 +00:00
Robert Reif a1f01d353c Cleanup reference counting.
Move notify array to buffer.
Add state info and fix GetStatus.
Remove unnecessary driver description flags.
2004-04-12 23:12:17 +00:00
Robert Reif dc4535f91a Remove trailing white space.
Cleanup white space and format in direct sound capture routines.
2004-04-12 22:01:47 +00:00
Francois Gouget 20547de012 Patch the fragment size if it does not match the current sound
format. This saves us from triggering a kernel freeze on some OSS 2.4
+ SoundBlaster 16 systems.
2004-04-09 19:05:09 +00:00
Dmitry Timoshkov f560c71c29 Fallback to a compression scheme specified in the stream format in the
case FOURCC handler does not exist or format is not supported.
2004-04-05 20:19:09 +00:00
Eric Pouech 30dbb04998 - implemented MCI_SOUND command
- fixed MCI command table in resource
- added a TODO list on MCI handling
2004-04-05 20:16:11 +00:00
Felix Nawothnig 301851da5a Don't free ALSA device string when the device is closed since it might
be reopened.
2004-03-31 20:05:45 +00:00
Robert Reif 86976d53e2 More duplex mode soundcard info. 2004-03-31 19:57:53 +00:00
Sylvain Petreolle 2504ac59b4 Fixed error reporting. 2004-03-29 22:55:26 +00:00
Robert Reif 605064a4bf Print out sound card info for playback, capture and duplex modes.
Hardware capabilities can vary depending on usage mode.
Print out format requested and actual format returned.
2004-03-29 20:27:50 +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
Mike Hearn ce32fc5684 Allow configuration of output devices to use and change standard
output plugin requested to "default".
2004-03-27 01:38:54 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Dmitry Timoshkov 5983223b70 Just update from/to pointers and exit on a subsequent MCI_PLAY
command.
2004-03-19 19:15:03 +00:00
Christian Costa abec033938 Release lock before wave calls that generate notification. 2004-03-18 01:34:36 +00:00
Christian Costa 6eac29532b Added support for MCI_DGV_WHERE_MAX flag in MCIAVI_mciWhere.
Fixed WHERE_WINDOW.
2004-03-16 03:09:14 +00:00
Christian Costa e55a4b634b Handle avi files with non standard video stream names. 2004-03-16 01:14:39 +00:00
Christian Costa c2adec0c70 MCI strings are case insensitive.
Fixed a returned error value.
2004-03-16 01:14:27 +00:00
Christian Costa b3b3f4c0c3 Default to FOURCC_DOS if no IOProc found. 2004-03-16 01:14:07 +00:00
Christian Costa 4bbeb429c8 Fixed deadlock when stopping playback. 2004-03-16 01:13:52 +00:00
Robert Reif af3fa1c48d Enable exact position calculation when hardware supports it. 2004-03-12 19:43:44 +00:00
Jason Edmeades ed593fdf2f Handle playing of files containing a '+' as part of the filename. 2004-03-05 20:43:40 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Dmitry Timoshkov 199247672c - Add a lot of traces to make debugging a bit easier.
- Add support for MCIWNDF_NOAUTOSIZEMOVIE, MCIWNDF_NOAUTOSIZEWINDOW
  and MCIWNDF_NOERRORDLG flags in the MCIWndClass implementation.
- Implement support for MCI_UPDATE in the MCIAVI driver and use it in
  the MCIWndClass WM_PAINT handler.
- Reimplement MCI_STOP command in the MCIAVI driver via an event.
- Add a test preventing the MCIAVI driver to crash after MCI_SEEK
  behind an end of stream.
2004-03-01 23:38:25 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Robert Reif 7ca0381e7a Cleanup prepare/unprepare header parameter checking.
Fix midiInGetDevCapsW.
2004-02-27 21:29:32 +00:00
Dmitry Timoshkov 6e728e4077 Convert MCIAVI window support to unicode.
Allow multiple simultaneous MCIAVI driver instances.
2004-02-27 00:42:44 +00:00
Sean Young 65130e8a5d Check uSize parameter in waveOutUnprepareHeader and
waveOutPrepareHeader.
2004-02-26 05:28:01 +00:00
Christian Costa 009c04a040 Replaced the timer and its callback by a thread for receiving midi in
events.
Handled DRVM_EXIT in OSS_midMessage.
2004-02-24 01:22:18 +00:00
Christian Costa 26d73867e0 Fixed waveInGetDevCapsW. 2004-02-24 01:02:01 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Christian Costa 87bef514db Replaced the timer and its callback by a thread for receiving midi in
events.
Fixed time of MIM_LONGDATA notification.
Handled DRVM_EXIT in ALSA_midMessage.
2004-02-19 04:12:18 +00:00
Robert Reif d6993619ef Add secondary buffer array. 2004-02-16 20:23:42 +00:00
Robert Reif 20fff3d111 Enable hardware secondary buffer support on cards that support it (SB
live and audigy).
2004-02-13 21:10:21 +00:00
Robert Reif 61cb01781e Save oss device fd and creation flags in dsound buffer object. 2004-02-13 21:04:28 +00:00
Robert Reif e9b7222e34 Split buffer creation function into primary and secondary buffer
creation functions. Secondary buffer creation function is stubbed
out.
2004-02-13 20:56:21 +00:00
Robert Reif b6adacb81c Moved dsound mmap mapping info into dsound objects. 2004-02-13 20:44:42 +00:00
Robert Reif 391aede4ba Use pipe sync code from wineoss. 2004-02-13 20:44:12 +00:00
Robert Reif 9a3056b243 Don't need primary lock. Fixes error in dsound tests in interactive
mode.
2004-02-13 20:21:47 +00:00
Dmitry Timoshkov ab2266de9a AFMT_AC3 might be not defined in the system headers. 2004-02-11 23:57:17 +00:00
Robert Reif a9d2fb8ee7 Fixed a problem on BSD.
Fixed a trace.
2004-02-09 20:55:30 +00:00
Robert Reif bcb1387929 Show sound card info in trace. 2004-02-06 05:20:14 +00:00
Christian Costa 485390de6f Added missing notifications to MIDI_NotifyClient.
Made checks less strict in midPrepare, only return an error for buffer
in queue.
Fixed time of input events in Alsa driver.
2004-02-05 01:24:28 +00:00
Eric Pouech da49807ea3 Fixed synchronization issue. 2004-01-28 20:05:20 +00:00
Alexandre Julliard e43e394465 All sound drivers need -ldxguid. 2004-01-27 20:16:38 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Robert Reif e14a1b262a Added notify and property set to dsound output driver.
Cleaned up existing notify and property set for capture.
2004-01-20 01:47:27 +00:00
Robert Reif 76659e9e9f Fixed thread handle leaks. 2004-01-20 01:45:05 +00:00
Robert Lunnon 8732357912 Fixed type mismatch in widDsCreate. 2004-01-14 05:39:05 +00:00
Christian Costa 8349acab6c Added Midi IN support. 2004-01-13 01:05:34 +00:00
Eric Pouech 9db6037de8 - implemented TIME_KILL_SYCHRONOUS timer flags
- timeKillTimer is now thread safe
- replaced some iData attributes by global variables
2004-01-12 21:03:10 +00:00
Marcus Meissner 17ffed02eb Fixed HeapRealloc typo. 2004-01-09 20:08:48 +00:00
Jeremy Shaw ed69f0bff6 Added wave-in support and fixed a few bugs in the wave-out code. 2004-01-09 05:02:58 +00:00
Eric Pouech 6cf101c1b3 - Applied to all MCI drivers Dmitry's fix for MCI_STATUS_TIME_FORMAT
(wasn't returning string resource ID).
- Fixed mciseq when opened without a filename.
2004-01-08 00:42:02 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Dmitry Timoshkov 87af75269d Register window class on mciavi driver loading, and unregister it on
driver unloading.
2004-01-06 20:39:48 +00:00
Dmitry Timoshkov d81e04a8c0 Return correct resource id for time format strings. 2004-01-06 20:39:32 +00:00
Dmitry Timoshkov a938cbeb73 Accept all standard DIB compressions in the mciavi driver. 2004-01-05 23:07:27 +00:00
Dmitry Timoshkov 41b7218466 Decode stream number from AVI frame data and assign the data to
appropriate streams.
2004-01-05 21:13:58 +00:00
Christian Costa 092f7dd352 Fix compilation issue with ALSA 0.5. 2004-01-02 20:13:57 +00:00
Dmitry Timoshkov fbaab7d847 Remove a stray LeaveCriticalSection(). 2004-01-02 01:48:30 +00:00
Dmitry Timoshkov f41e047020 Much improved mciavi driver. Fixed synchronization, RIFF file with
many streams parsing, added support for some MCI_PUT and MCI_WHERE
cases.
2004-01-01 00:48:01 +00:00
Dmitry Timoshkov 91687f6aaf Use correct pointer to an internal driver description. 2004-01-01 00:07:14 +00:00
Dmitry Timoshkov 123ce73d6b Add MCI_SYSINFO command W to A mapping. 2004-01-01 00:07:01 +00:00
Dmitry Timoshkov 9741589bdf Fix many function prototypes and data types according to Platform SDK
definitions.
2003-12-31 23:49:45 +00:00
Dmitry Timoshkov be6d014f35 Add Unicode->ANSI MCI message mapping, implement mciSendCommandW, fix
a bug with a window creation belonging to another hInstance, add
support for MCI_WINDOW command in mciavi.drv, add support for MCI_PLAY
and MCI_STOP in the MCIWndClass implementation.
2003-12-31 19:00:03 +00:00
Gerald Pfeifer db1113fed1 Improve error messages in OSS_WaveOutInit() and OSS_WaveInInit() and
warn instead of aborting in case of problems reading mixer info.
2003-12-31 18:58:07 +00:00
Steven Edwards 6bbba607c9 Porting fix for winmm resources (patch by Filip Navara). 2003-12-15 19:52:14 +00:00
Christian Costa 00bfb75485 Exported widMessage function. 2003-12-15 19:48:15 +00:00
Jeremy Shaw f7cae99969 Move the data around when the ring buffer is resized so that the empty
messages are between the tosave and toget indexes.
2003-12-12 05:55:26 +00:00
Christian Costa 076000ce51 Added WaveIn support. 2003-12-11 04:27:18 +00:00
Eric Pouech ed37b7a8bb Move (again) usage of 16 bit specific functions (thunk lock) to 16 bit
code only.
2003-12-08 21:54:29 +00:00
Christian Costa 1469cf58f3 First enumerate all internal devices and then external midi ports. 2003-12-08 21:46:50 +00:00
Alexandre Julliard 628e27ad56 Define ALSA_PCM_OLD_* symbols for compatibility with Alsa 1.0. 2003-12-04 21:14:04 +00:00
Eric Pouech ce2d3ef77d Move usage of 16 bit specific functions (MapSL) in 16 bit code only. 2003-12-02 03:36:20 +00:00
Eric Pouech cd7328672e Move usage of 16 bit specific functions (MapSL) in 16 bit code only. 2003-12-01 22:38:19 +00:00
Christian Costa 3640c36f8b Fix handling of the lpuDeviceID input param in MIDI_StreamOpen. 2003-11-26 03:39:13 +00:00
Eric Pouech 1bcbd54697 HeapReAlloc doesn't allocate memory. 2003-11-21 23:54:04 +00:00
Ivan Leo Murray-Smith e51000f44f Added Italian translation. 2003-11-17 19:59:13 +00:00
Robert Reif 3f1498fc6c Fixes more use before set races.
Work around for queue reordering feature.
Stop recording on reset.
Better debug info.
Dsound callback capture state fix.
2003-11-14 21:03:24 +00:00
Christian Costa 2aba972aff Alsa midi fixes. 2003-11-12 22:40:59 +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
Eric Pouech b1a2d883fc Removed some more dependencies on wine 16-bit specific entities. 2003-11-09 01:19:58 +00:00
Robert Reif 636f29d83c Fix wave in stop. 2003-11-05 23:22:23 +00:00
Robert Reif 0c55534707 Fixed bug in capture stop. Only current header should be returned to
app.
Make wave fragment size adjustable to guarantee better than 10 ms
latency.  Makes a difference for 8 kHz voice apps.
2003-11-04 04:20:47 +00:00
Robert Reif d6f746de4c Cache the wave volume so it can be returned rather than the OSS
derived value when possible.
2003-10-30 23:08:46 +00:00
Robert Reif b4e9ef02c2 Clean up *GetDevCaps to check for valid pointer and only copy proper
amount of data.
2003-10-30 23:07:23 +00:00
Robert Reif be4281522d Added support for getting the wave device name. 2003-10-28 00:15:16 +00:00
Robert Reif f2133052b1 Fix SMPTE time.
Fix primary buffer volume setting.
2003-10-27 22:01:30 +00:00
Robert Reif 7d43722256 Only copy amount requested up to size of structure. 2003-10-27 22:01:01 +00:00
Robert Reif 4824460772 Clear a new hardware buffer to proper silence values based on format.
Allows dxdiag to play 8 bit sounds in hardware primary buffer now.
2003-10-27 22:00:10 +00:00
Robert Reif 80a7638006 Fix MMDRV_PhysicalFeatures to handle both 16 and 32 bit pointers
properly.
2003-10-22 03:04:07 +00:00
Robert Reif e14ae47c1d Only return the number of bytes requested. 2003-10-21 23:41:26 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Oleg Prokhorov cf8b84c19f Another portion of HeapReAlloc fixes. 2003-10-15 21:01:05 +00:00
Dimitrie O. Paun fc551563ff Merge win.ini/[mci extensions] into the registry. 2003-10-15 20:49:29 +00:00
Robert Reif 9d2e09851b Free should not happen when still playing. 2003-10-14 20:05:42 +00:00
Oleg Prokhorov 2f878e518b Small fix in sound flushing code. 2003-10-14 05:18:40 +00:00
Daniel Marmier 5202364a5b ALSA_WaveInit: repaired device name. 2003-10-14 01:17:16 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Robert Reif 9964e42988 Fixed SMPTE time.
Fixed bad wave in position at startup and reset.
2003-10-09 19:45:39 +00:00
Daniel Marmier 7e0ddbc60f Fixed warnings with gcc option "-Wwrite-strings". 2003-10-07 22:54:17 +00:00
Steven Edwards c48c16471c Remove a few unneeded include statements in internal headers.
Started bringing setupapi in line with PSDK.
2003-10-07 22:51:09 +00:00
Vincent Béron 5dc5bf5d8a Change resources from last language file used to LANG_NEUTRAL. 2003-10-06 21:13:01 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Michael Günnewig 4d375d1b8b Fixed warnings with gcc option "-Wwrite-strings". 2003-10-04 03:04:45 +00:00
Vincent Béron d1654b6128 Change some resources from LANG_NEUTRAL to LANG_ENGLISH. 2003-09-29 20:15:54 +00:00
Robert Reif 6b145f0473 Allow wave emulated capture while doing hardware accelerated
playback.
2003-09-27 02:20:19 +00:00
Dimitrie O. Paun 8b255842ec Remove the obsolete pascal16 (replaced by pascal -ret16). 2003-09-26 04:32:19 +00:00
Robert Reif 3be10b0458 Avoid divide by zero if the sound driver returns 0 for speed. 2003-09-25 20:23:52 +00:00
Vincent Béron bf5f07a5b4 Yet another batch of French resources updates. 2003-09-22 21:16:56 +00:00
Robert Reif c445c739f9 Volume and Pan driver requests need to return success even though they
are not implemented.
2003-09-22 21:13:33 +00:00
Oleg Prokhorov a6d37f6d31 Implemented sound flushing. 2003-09-22 19:25:52 +00:00
Michal Janusz Miroslaw 83fca4eef7 MMDRV_Install: Fix confusing indentation. 2003-09-22 19:25:11 +00:00
Robert Reif 99b0e8fa66 Added volume and pan support to primary buffers.
Added more property set support.
2003-09-19 00:10:51 +00:00
Oleg Prokhorov 223a442de1 Avoid crash if invalid rate was specified. 2003-09-17 22:39:20 +00:00
Alexandre Julliard 209ce0be91 Avoid linking error with older alsa libs. 2003-09-17 20:09:39 +00:00
Pavel Roskin e8db705fac Moved WINE_DEFAULT_DEBUG_CHANNEL outside of the #ifdef. 2003-09-16 20:25:39 +00:00
Christian Costa 2da25d9c57 Added midi support to the ALSA driver. 2003-09-15 22:08:39 +00:00
Eric Pouech 78b50f23e3 - Moved Wine extension to get DSound interface from a wave device from
include/mmsystem.h to include/mmddk.h.
- Removed all dependencies on heap.h.
- Fixed a few prototypes (mmioRename[AW], mciSendStringW, *Message).
2003-09-15 20:13:30 +00:00
Robert Reif 725d8c39aa Device enumeration callbacks should return a NULL guid for default
devices.
Fixed some volume and pan cases.
Added missing property set.
Fixed capture notification bug.
2003-09-15 20:08:05 +00:00
Eric Pouech 766ef669eb Moved some MM internal definition to internal include files. 2003-09-12 00:24: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 cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +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
Christian Costa 4b40180e38 Fix modLongData.
Enable opening of MOD_SYNTH type devices.
Add some comments.
2003-09-04 00:04:37 +00:00
Robert Reif 7d43d7bb3b Use the drivers to get device capabilities and property sets. 2003-09-03 19:28:20 +00:00
Rok Mandeljc d4c1ebabdb Minor updates of Slovenian translations. 2003-08-29 22:21:43 +00:00
Mike Hearn 61402c64de Fixed the error message in Wave(In|Out)Init, it used to give a
confusing message, now uses strerror.
2003-08-29 22:12:15 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
3d6e91cd99 Fix parameter to snd_pcm_sw_params_set_silence_size(). 2003-08-20 03:38:27 +00:00
Robert Reif a9460b3dbe Use same GUIDs as win2k and xp for dsound drivers. 2003-07-28 19:02:29 +00:00
Mike McCormack 604f0e95fb Fixed incorrect strcasecmp usage. 2003-07-18 22:59:41 +00:00
Marcus Meissner 104d9d44fd Use standard debugging macros for jack.
JACK_SONAME -> SONAME_LIBJACK so we do not need the devel symlink
there.
2003-07-03 18:08:32 +00:00
Francois Gouget 14a5d168e9 Fixed some common spelling errors. 2003-07-02 04:37:26 +00:00
Eric Pouech 5061d3a21d - renamed winmm.OpenDriverW into winmm.OpenDriver
- replaced all inter-DLL calls (msacm and msvideo) to OpenDriverA with
  OpenDriver (unicode form)
- as a consequence, driver name handling in msacm is now mostly
  unicode
- moved UserYield16 and UnMapLS call out of the 32bit part of winmm
2003-07-02 00:40:14 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Marcelo Duarte de08661413 - Localization to Portuguese of Brazil
- Revision and addition of missing resources
- Minor typo fix and codepage fix in programs/winefile resource.
2003-06-30 20:22:35 +00:00
Robert Lunnon ff4f127801 Added libuuid to wineaudioio makefile. 2003-06-30 18:26:40 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Rok Mandeljc e36fa4551a Updated a bunch of translations for Slovenian language. 2003-06-16 01:32:09 +00:00
Robert Reif a104d91ce8 Added a dynamically growing ring buffer for oss, alsa, arts, and nas. 2003-06-04 20:28:04 +00:00
Marcus Meissner d17bc912db winejack.drv.so needs -lwine_uuid too. 2003-05-14 19:34:16 +00:00
Eric Pouech 639db3ef8b Stop wavemap lookup if a device isn't functional (spotted by Lionel
Ulmer).
2003-05-11 03:30:51 +00:00
Alexandre Julliard 1bb3645443 Avoid local WINAPI function pointers. 2003-05-11 03:00:32 +00:00
Marcus Meissner dac51c005a Added include <errno.h>. 2003-05-06 18:25:11 +00:00
Robert Reif bcfff87be5 Added driver property set implementation.
Fixed notify release bug.
2003-05-02 20:16:20 +00:00
Alexandre Julliard 812b4f46e9 Avoid calling Win32 resource functions on 16-bit modules. 2003-04-30 17:28:45 +00:00
Robert Reif aa8559e84a Fixed a problem where OSS trigger support is inconsistent. 2003-04-29 22:54:09 +00:00
Robert Reif 144d7f5da2 Added driver notify implementation. 2003-04-29 22:47:59 +00:00
Alexandre Julliard 50149af8b5 Make sure that snd_pcm_open returned a valid handle before using it. 2003-04-27 00:38:39 +00:00
Jerry Ji 79916df96b The missing part of multiple device support for winearts, wineaudioio,
winejack and winenas.
2003-04-27 00:37:08 +00:00
Robert Reif f64f69abe7 Fixed bug caused by OSS inconsistent trigger operation on different
hardware.
2003-04-26 02:09:20 +00:00
Robert Reif 303d93680d Better error messages. 2003-04-10 18:33:46 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Eric Pouech f5554c3236 Work around not implemented ioctl in BSD. 2003-04-05 05:09:57 +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
Andreas Mohr 114b667f41 Some spelling and formatting fixes. 2003-04-02 01:23:43 +00:00
Alexandre Julliard 270d1b8ad7 Avoid crash if snd_pcm_open fails. 2003-03-28 19:34:50 +00:00
Alexandre Julliard e048adab83 List 16-bit spec files explicitly to avoid problems with some versions
of make.
2003-03-23 20:00:02 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Alexandre Julliard 7c7bd1c359 Avoid warnings. 2003-03-17 00:00:53 +00:00
Alexandre Julliard 3453746aa1 Added #ifdef checks for SOUND_MIXER_INFO. 2003-03-15 22:23:27 +00:00
Robert Reif 89b469fefe Added support for multiple direct sound devices. 2003-03-15 00:54:11 +00:00
Eric Pouech 8e90c68d56 Fixed error code when no mapping is found for wave input. 2003-03-10 19:03:08 +00:00
Robert Reif a20f86fc7b Fixed bug where the enable state of the output and input were not set
properly when doing full duplex.
Fixed bug where resetting the output would affect the capture when
doing full duplex.
2003-03-07 20:37:25 +00:00
Steven Edwards 1306fdbd01 Add import of ntdll. 2003-03-07 20:30:17 +00:00
Robert Reif 6168a2ea20 Added waveIn tests. 2003-03-04 22:15:39 +00:00
Robert Reif f851a860fc Capture thread checks queue for more headers before giving error.
Capture driver work started.
2003-03-04 02:11:21 +00:00
Alexandre Julliard 7e92c9af7b Replaced most uses of the auto-generated glue code by explicit calls
to WOWCallback16Ex.
2003-02-27 21:09:45 +00:00
Waldeck Schutzer a639d834fe Avoid playing data tracks. 2003-02-19 22:08:03 +00:00
Eric Pouech 893f5ff432 Allowed waveInMessage to use physical information (as waveOut does). 2003-02-17 01:48:47 +00:00
Robert Reif 4c9e56b163 Added additional formats.
Fixed a few bugs in read/write positions when the format is mapped
using acm.
Fixed a bug where the number of waveOut devices is used when iterating
over waveIn devices.
2003-02-15 00:00:12 +00:00
Robert Reif bcc4bb2d06 Started to add support for a real direct sound capture driver.
Changed the capture fragment size but this still needs tuning for best
performance.
2003-02-14 23:59:15 +00:00
Michael Stefaniuc 62ed0ffe00 Added some missing LeaveCriticalSection's. 2003-02-12 01:26:05 +00:00
Waldeck Schutzer c1a4cead2f Removed invalid char. 2003-01-31 03:20:03 +00:00
Alexandre Julliard 43690e9e47 Removed no longer needed inclusion of heap.h. 2003-01-24 00:54:58 +00:00
Matthew Davison 60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +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
Francois Gouget 9140349886 Warn if open_count is already 0 when OSS_CloseDevice is called.
Don't decrement it in that case.
2003-01-16 01:16:46 +00:00
Francois Gouget 2147b9f5da Return MMSYS_NOERROR even if we don't open the device with the
requested format, otherwise OSS_OpenDevice will not increment
open_count.
Use -1 to signal OSS_RawOpenDevice not to do ioctls because 0 is
ambiguous (also means mono as opposed to stereo).
2003-01-16 00:19:04 +00:00
Francois Gouget 6bbce6cd22 Initialize the pwave array whenever we don't have a hardware buffer.
Always create the wineoss thread.
Change the mmap ERR into a TRACE: there are normal circumstances where
mmap will fail and we can deal with them.
2003-01-15 00:44:50 +00:00
Francois Gouget ce0557fe8e Modify OSS_Wave{In,Out}Init to report the exact capabilities of the
OSS driver.
Add support for the 48kHz and 96kHz formats.
2003-01-11 22:47:51 +00:00
Eric Pouech e8a7ad3040 Some code cleanups.
Better error handling.
Removed unneeded internal variables.
2003-01-11 22:47:21 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Francois Gouget ede0e8ae64 In OSS_RawOpenDevice, always retrieve the device format and store it
in the OSS_DEVICE structure.
Modify our internal functions so that they can be told to still open
the device even if the device format is not an exact match.
In wodOpen return the actual device format if the WAVE_DIRECTSOUND
flag is set.
Fixes DirectSound on i810 soundcards (i.e. cards supporting only
48000x16x2).
2003-01-07 23:08:05 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Francois Gouget 772cabeba9 Fix the BlockSize check. 2003-01-07 19:43:02 +00:00
Gerald Pfeifer 3af9641e6f #include <stdlib.h> instead of the non-standard <malloc.h>. 2003-01-03 22:32:47 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Patrik Stridvall 46304a7361 Fixed some issues found by winapi_check. 2003-01-02 19:28:09 +00:00
Eric Pouech 1d854a10b0 When unmapping a (wave|midi)-header unprepare message, make sure the
unpreparation was successful.
2003-01-02 17:56:41 +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
Jeff Smith b9f0fce668 Correct all instances of mixMessage to mxdMessage. 2002-12-23 02:05:30 +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 8b97a3a391 In the latest sdk the {waveOut,midiOut}{Get,Set}Volume functions take
a handle as the first parameter.
2002-12-15 02:59:50 +00:00
Eric Pouech 59227d6b80 Fixed hangup condition at the end of some playback. 2002-12-15 02:59:13 +00:00
Francois Gouget e4eee61a3d If unable to set the desired format, OSS_RawOpenDevice should call
TRACE, not ERR.
2002-12-15 01:12:47 +00:00
Francois Gouget e385e5e467 Our resampling algorithm is quite primitive so try simple 8/16
mono/stereo conversions first. Only resample if we cannot avoid it.
2002-12-15 01:12:27 +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
Chris Morgan 4691b18520 Add support for Jack audio server. 2002-12-13 02:26:18 +00:00
Francois Gouget a522385e7d Add support for the 48 and 96kHz formats. 2002-12-13 02:18:20 +00:00
Nikolay Stefanov 08ee2e1cc2 Fix issues with i810-based audio cards.
Support for user-selectable audio cards through the ALSA_CARD
environment variable (M.Miroslaw@elka.pw.edu.pl).
2002-12-13 00:36:22 +00:00
Jeff Smith f88d00a25d MMDRV_GetDescription32 fix + a few cosmetic improvements. 2002-12-12 22:26:01 +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
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Rok Mandeljc 72a2c37076 Fixed some characters. 2002-12-11 01:29:10 +00:00
Vincent Béron 9c627aae6b Suppress some signed/unsigned comparison warning. 2002-12-10 19:10:46 +00:00
Chris Morgan 50bd40c775 Reset the oss device before we try to close it. Fixes hang on startup
of Starcraft due to oss device being in a bad state.
2002-12-10 19:06:51 +00:00
Jeff Smith 528ac6386e Fix for MIDI Mapper. 2002-12-02 18:57:00 +00:00
Jeff Smith 5e0bdcc4d1 Fixed 32 bit flag in midiOutShortMsg. 2002-11-30 01:51:56 +00:00
Eric Pouech f086286d4f Better support for multiple midi devices on the OSS interface. 2002-11-20 19:46:35 +00:00
Eric Pouech 689312b15e Now properly unloading multimedia drivers when winmm unloads. 2002-11-11 19:53:01 +00:00
Patrik Stridvall 517a93afe3 Fixed some issues found by winapi_check. 2002-11-06 19:57:49 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Francois Gouget 4ce28377f7 Test sound format support with waveOutGetDevCaps and waveOutOpen. 2002-11-04 23:47:49 +00:00
Francois Gouget ffd98e9c59 OSS_RawOpenDevice should return an error if the format is not
supported.
2002-11-04 22:39:19 +00:00
Alexandre Julliard cf2e57d0c7 Split out some more 16-bit code. 2002-10-31 22:06:53 +00:00
Alexandre Julliard 7a1cb65cb9 Moved 16-bit definitions out of mmddk.h into mmsystem16.h. 2002-10-31 02:23:43 +00:00
Eric Pouech ac5de27d1c winmm/mmsystem now compiles with -DSTRICT. 2002-10-31 01:02:41 +00:00
Eric Pouech 7efe3ff0d8 Return correct values for wave(In|Out)GetPosition even if playing non
PCM files.
2002-10-31 00:54:27 +00:00
Eric Pouech 10d312eac1 wavemap now compiles with -DSTRICT. 2002-10-30 20:25:38 +00:00
Eric Pouech f97ba160f9 Moved 16 bit joystick function to mmsystem.c. 2002-10-29 22:02:57 +00:00
Eric Pouech 50ade2b33d - internal renaming (no longer using MMSYSTEM prefixes for WINMM only
functions)
- moved time 16/32 conversions functions to 16 bit source files
- final Makefile changes (16 bit part can now really be not compiled
  when -disable-win16 is requested)
2002-10-29 22:02:00 +00:00
Eric Pouech 8b7a45f4f7 - let all time related functions make use of low level drivers 16 bit
functions
- some renaming (prefixing internal time functions with TIME)
2002-10-29 21:59:24 +00:00
Eric Pouech 5942f98f92 All low level driver functions (internals for wave, midi, mixer and
aux) are now cleanly separated.
2002-10-29 21:55:25 +00:00
Eric Pouech 9becf85a2c All MCI functions are now cleanly separated. 2002-10-29 21:53:44 +00:00
Eric Pouech b4df16b3b2 All driver functions are now properly separated. 2002-10-29 21:51:24 +00:00
Eric Pouech 74b20fb8d8 - revisited mmsystem/winmm loading mechanism
- added WINMM_CheckMMSystem function (helps 32 bit code detect
  presence of our own mmsystem DLL)
- some internal renaming (MULTIMEDIA => WINMM)
2002-10-29 21:49:35 +00:00
Eric Pouech 2b0e56c8d8 Now only storing thread id for mci tasks (16 bit htask is now gotten
from WOW functions).
2002-10-29 21:44:23 +00:00
Eric Pouech 5e81d9a7ba - finish mmio separation
- no longer storing function pointers in global IData
2002-10-29 21:26:00 +00:00
Eric Pouech 1563fab4db Move low level multimedia message mapping out of 32 bit code. 2002-10-28 20:53:10 +00:00
Eric Pouech fdb623335a Move MCI message mapping out of 32 bit code. 2002-10-28 20:51:36 +00:00
Eric Pouech 894eedf5d3 Move driver message mapping out of 32 bit code. 2002-10-28 20:44:26 +00:00
Eric Pouech cfcc9e1094 Fixed mciSendString debug reporting when an error occurs (spotted by
Erland Lewin).
2002-10-28 20:05:25 +00:00
Andreas Mohr 6e256c72fe - fix some pselling
- enhance some TRACEs
2002-10-25 19:09:02 +00:00
Eric Pouech 1e3e87d430 Simplify the global internal data handling. 2002-10-25 19:00:12 +00:00
Eric Pouech fb8bad49d9 Unify the constant used for error codes reporting mapping functions
success/failures.
2002-10-25 03:51:40 +00:00
Vincent Béron d1d586e2a9 Bring some French resources in sync with English ones. 2002-10-23 23:34:32 +00:00