Commit Graph

902 Commits

Author SHA1 Message Date
Dmitry Timoshkov
eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Robert Reif
3433d8bb29 Don't open device if already open.
Don't need opened device to get/set volume.
2005-06-06 10:03:18 +00:00
Robert Reif
bbb01ae0d0 Fix a problem where actual sample rate doesn't exactly match
requested.
2005-06-05 19:18:52 +00:00
Robert Reif
72b7071e5a Return proper error code.
Change ERR to WARN for failed requests.
2005-06-05 18:06:35 +00:00
Robert Reif
2b7438224f Add support for more than 2 audio channels. 2005-05-30 11:12:07 +00:00
Francois Gouget
62253b752f Assorted spelling fixes. 2005-05-30 09:56:56 +00:00
Marcus Meissner
33f4108b69 #undef interface before including alsa headers. 2005-05-29 20:03:05 +00:00
Robert Reif
8a67554a3a Fix a multiple sound card interface bug.
Add better error messages.
2005-05-29 20:02:58 +00:00
Robert Reif
84e1e9948b Fix volume control. 2005-05-29 20:02:05 +00:00
Alexandre Julliard
0ddd30b0b6 Removed unnecessary code in the 16-bit DllEntryPoint function of some
dlls, and also fixed its ordinal in a few places.
2005-05-23 10:00:26 +00:00
Mike McCormack
66cee15084 Set thread priorities to time critical. 2005-05-14 18:49:40 +00:00
Alexandre Julliard
34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Robert Lunnon
dc1ceb95cb Fix segmentation fault caused by incorrect referencing of client audio
format specifications array.
2005-05-07 12:17:28 +00:00
Robert Reif
723a67d1f8 Change FIXME to WARN. 2005-05-06 19:32:36 +00:00
Mike McCormack
b2ba933fcf Make multimedia threads high priority. 2005-04-27 09:39:55 +00:00
Mike McCormack
795b17e055 Make WINMM_IData statically allocated. 2005-04-27 08:12:58 +00:00
Christian Costa
0b3c79f712 Fixed flags handling in MCIAVI_mciInfo. 2005-04-26 14:29:57 +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
Alex Villacís Lasso
569db3c812 Perform one more commit in ALSA non-emulation if there are still
frames to be transmitted.
2005-04-22 19:05:34 +00:00
Peter Berg Larsen
6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Robert Reif
da9c394f67 Stub out DRVM_MAPPER_RECONFIGURE support. 2005-04-12 10:14:57 +00:00
José Manuel Ferrer Ortiz
4f50a2c0dc Spanish translations updated. 2005-04-11 13:01:46 +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
c002dfc005 Correctly handle where waveOutGetPosition changes timepos.wType
because the requested type is not supported.
Added Jeremy White's waveOutGetPosition fix to waveInGetPosition.
2005-04-11 12:49:04 +00:00
Paul van Schayck
d2c7a6863b Don't stop looking for devices if one can't be opened. 2005-03-31 10:07:02 +00:00
Jerry Jenkins
4a8ce2ae41 Improve winealsa dsound driver by accessing sound driver's buffer
directly in an undocumented way.
2005-03-29 19:48:07 +00:00
Jerry Jenkins
2239b3ae2e Don't mistake frames for bytes. 2005-03-27 17:52:32 +00:00
Jakob Eriksson
9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Francois Gouget
93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Robert Reif
b19aaf1e46 Don't fail when opening a device in direct sound mode. Rather, try
alternate formats first before failing.
2005-03-23 11:58:05 +00:00
Jeremy White
cd5ee268b8 Revamp the volume logic to be more self contained, fix a few bugs so
that the volume is correctly read, and is correctly converted to
windows style volume numbers.
2005-03-23 10:22:16 +00:00
Robert Reif
f1565973b6 Fix direct sound capabilities to match hardware. 2005-03-21 12:32:48 +00:00
Alexandre Julliard
c3b7da47f8 Fixed a missing patch chunk. 2005-03-21 11:50:06 +00:00
Robert Reif
3279b6de6e Clean up handle usage. 2005-03-21 11:21:18 +00:00
Vincent Béron
811725ac20 Correct and complete some api documentation. 2005-03-21 10:55:13 +00:00
Filip Navara
4a5ade0eb1 Specify correct buffer size in GetPrivateProfileStringW calls. 2005-03-21 10:28:38 +00:00
Robert Reif
0c9c020d68 Print out message name to make reading traces easier. 2005-03-21 10:27:47 +00:00
Robert Reif
2b3aa7c5be Fall back to default prepare/unprepare header functions. 2005-03-19 17:11:02 +00:00
Robert Reif
03c88f5f60 Add support for more than one sound card.
Fix wave out support when no volume control is present.
Use proper structure for wave in device caps.
2005-03-18 10:26:05 +00:00
Robert Reif
83d29a0761 Check wave out volume support. 2005-03-18 10:25:48 +00:00
Robert Reif
99042cfe64 Fall back to default header prepare and unprepare functions. 2005-03-17 18:56:14 +00:00
Robert Reif
f7be545ede Use real device name. 2005-03-17 18:54:20 +00:00
Jeremy White
40df53aae2 Do not fallback to defaults if a driver, mapper, or midi is specified
in the registry; consolidate MMDRV_Init() into a single function.
2005-03-17 10:25:25 +00:00
Robert Reif
1a90d1cc3c Provide default implementation of waveInPrepareHeader and
waveInUnprepareHeader if driver doesn't support them.
2005-03-16 11:30:34 +00:00
Robert Reif
8b55b76daf Fix memory leak in error path. 2005-03-15 15:39:03 +00:00
Robert Reif
cf4d0d9707 Fix memory leak when there are too many drivers. 2005-03-15 15:38:48 +00:00
Jason Edmeades
17cff085fb Avoid trap in mixerGetLineControlsA when cControls is uninitialized
and MIXER_GETLINECONTROLSSF_ONEBYTYPE requested.
2005-03-15 15:38:34 +00:00
Peter Berg Larsen
001a936176 Assorted memleak fixes. Found on Michael Stefaniuc smatch list. 2005-03-11 12:50:27 +00:00
Alexandre Julliard
7b738b7f8c Make sure to always pass valid QS_* flags to
MsgWaitForMultipleObjects.
2005-03-08 17:00:38 +00:00
Vincent Béron
d5749b454d Make wineoss's mixer know about DST_HEADPHONES, DST_LINE and
DST_VOICEIN. Use proper constants instead of 0 and 1.
2005-03-07 10:59:28 +00:00
Steven Edwards
5727918424 Added a check for poll.h. 2005-03-04 12:38:36 +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
Francois Gouget
fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Francois Gouget
7105248ae6 Apply Jeremy White's SMPTE calculation fix to each audio driver. 2005-03-02 13:39:23 +00:00
Alexandre Julliard
d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +00:00
Jeremy White
36e845ce05 Aggressively round up to the proper alignment when reporting position
on streams where we are converting up.
2005-03-02 12:17:28 +00:00
Jeremy White
cf23045791 More correctly establish cases where the OSS input buffer should not
be enabled.
2005-03-02 10:12:35 +00:00
Christian Costa
18a9738943 Added some more cases to MCI_MapMsgAtoW. 2005-02-26 17:41:11 +00:00
Jeremy White
2db20ef1f0 More correct fix for dsp empty case. 2005-02-23 21:00:02 +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
aa2046f643 In calculating the SMPTE time, we would round incorrectly (0:0:4.30
instead of 0:0:5.0 [the last column only goes to 29]).
2005-02-23 15:40:54 +00:00
Jeremy White
920ef0fbc9 When we get down to the last fragment or two in our output to the DSP,
we should use the SND_DSP_POST ioctl to let the sound card know to
flush those fragments.  This allows us to precisely know when the
buffer is empty, and fixes another set of winmm tests.
2005-02-23 12:43:04 +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
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