Commit Graph

312 Commits

Author SHA1 Message Date
Ove Kaaven 9fd3538b45 Tweaks to improve playback performance and reduce sound glitches:
- wodGetPosition does not send an update message to the player thread;
this reduces the accuracy of the readout from byte-accuracy to near
fragment-accuracy, but we save 2-4 context switches and kernel
scheduling penalties.
- if FeedDSP runs out of data, do not flush output buffers before
notifications are sent and given the chance to provide more sound data.
Do not flush before we're down to the last fragment.
- messages to the player thread are signaled using Unix pipes instead
of Win32 synchronization primitives, to avoid having the player thread
wait for the wineserver (and context switches from/to it) before the
it can feed more data to the sound card.
- ring buffer size is increased from 30 to 192 to support some games
that fires 128 messages at once to determine DMA buffer size.
2002-08-26 21:49:42 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Michael Stefaniuc c8ff4da2ac Convert HMMIO to a void*. 2002-08-09 19:51:01 +00:00
Patrik Stridvall 4325554aef Fixed some issues found by winapi_check. 2002-08-09 01:07:29 +00:00
Michael Stefaniuc ec7d7b72b2 - Convert HDRVR to a void*.
- Fix declaration of DriverCallback().
2002-08-09 01:02:25 +00:00
Michael Stefaniuc c414344e2a Convert HMIXER, HMIXEROBJ to a void*. 2002-08-03 00:14:43 +00:00
Michael Stefaniuc bacc1b3b58 - Converted HWAVE, HWAVEIN, HWAVEOUT to void*.
- Fixed some HMIDI{IN,OUT}16 to HANDLE conversions.
- midiOutCacheDrumPatches16 called itself recursively in an infinite
  loop.
2002-08-02 19:02:49 +00:00
Alexandre Julliard 526531eb6c Create at most one glue file for a single dll.
Avoid the intermediate .tmp.o file when building programs.
2002-08-01 18:36:58 +00:00
Robert Lunnon 2a91e3f99b Preliminary audio driver for Solaris Libaudioio. 2002-08-01 18:22:38 +00:00
Alexandre Julliard 7cae201e3f Authors: Eric Pouech <eric.pouech@wanadoo.fr>, Michael Stefaniuc <mstefani@redhat.com>
Convert HMIDI, HMIDIIN, HMIDIOUT, HMIDISTRM to void*.
2002-08-01 18:17:51 +00:00
Nicolas Escuder 2a0dd0be05 Speed and buffer improvement, code clean up, and fix some bug
on close / reset waveout.
2002-07-31 17:23:47 +00:00
Alexandre Julliard 04b5a86c46 Merged the NAS driver written by Nicolas
Escuder <n.escuder@alineanet.com>.
2002-07-30 02:44:19 +00:00
Chris Morgan 6ecade7c84 Some dos VGA error handling. Misc TRACE changes. 2002-07-29 23:51:57 +00:00
Gerald Pfeifer 22780c814d Fixed format string. 2002-07-29 23:29:23 +00:00
Alexandre Julliard 13f2a17eb2 Convert HTASK to void* (based on a patch by Michael Stefaniuc). 2002-07-28 23:48:27 +00:00
Patrik Stridvall a3868218d0 Fixed some issues found by winapi_check. 2002-07-19 00:30:16 +00:00
Rok Mandeljc 3fb4b81379 Added Slovenian resources. 2002-07-10 03:03:46 +00:00
Eric Pouech 80884be68c Fixed another PlaySound bug (when SND_LOOP is requested). 2002-07-08 19:35:08 +00:00
Eric Pouech e3bd1361f1 Fixed a few compilation warnings. 2002-07-08 19:34:49 +00:00
Gregg Mattinson 7c4cb515b6 Cast void* to char* for pointer arithmetic. 2002-07-03 21:10:43 +00:00
Eric Pouech 34865e4c27 Fixed some more configuration issues. 2002-07-03 01:14:52 +00:00
Alexandre Julliard 958732d21c Fixed warnings. 2002-07-02 02:09:39 +00:00
Alexandre Julliard f92b7c06c2 Added some ALSA configure checks. 2002-06-28 18:31:01 +00:00
Eric Pouech a120ce015c Created an ALSA driver (with the help of David Hammerton and Marco
Pietrobono).
2002-06-28 17:40:16 +00:00
Eric Pouech d075eff2e9 Ensured full duplex mode is only used with same parameters in in/out
streams.
Some more work towards multiple audio cards support.
2002-06-28 17:31:31 +00:00
Eric Pouech 64284a8767 Fixed flags handling in sndPlaySound. 2002-06-25 02:58:48 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Eric Pouech 7efd615e4f Fixed another regression in PlaySound. 2002-06-04 00:51:38 +00:00
Steven Edwards fb24f71e5b Porting fixes. 2002-06-04 00:50:11 +00:00
Alexandre Julliard 7cae558bdc Removed some more trailing whitespace. 2002-06-01 02:55:48 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Eric Pouech 4664903d1e Some other synchronisation issues. 2002-05-29 19:04:41 +00:00
Eric Pouech c22256a01c Check for NULL ptr in midiStreamOut. 2002-05-29 00:31:00 +00:00
Sander van Leeuwen f81982aeed mixerGetControlDetailsW: translate strings for
MIXER_GETCONTROLDETAILSF_LISTTEXT option.
2002-05-28 22:40:40 +00:00
Alexandre Julliard 261e28a775 Removed some unnecessary imports. 2002-05-23 02:46:10 +00:00
Patrik Stridvall 5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00
Eric Pouech 48b98159ce Fixed hang in PlaySound in error cases; added registry lookup for sounds. 2002-05-22 01:52:31 +00:00
Steven Edwards 48ac89b627 Add check for <sys/ioctl.h>. 2002-05-19 22:25:02 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Eric Pouech ff8a62d8fe Fixed hangs when playing an ASCII resource. 2002-05-16 20:28:26 +00:00
Johan Gill b4f3cc9507 lpmmioinfo can sometimes, proven in the read case, be NULL. 2002-05-16 18:27:52 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Eric Pouech b93f1114de Better behavior of PlaySound (error handling, synchronization).
Removed some unnecessary tests about windows handles.
2002-05-12 03:10:26 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Eric Pouech 8be2e3d489 Let MCI drivers support the session instance loading mechanism (NULL
lParam2 in MCI_OPEN).
2002-05-11 23:02:55 +00:00
Eric Pouech bf98cf8404 Created session instance for installable drivers.
Now properly freeing library upon driver exit.
2002-05-11 22:55:29 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Alexandre Julliard 140e7222e0 Removed more code at Hidenori's request. 2002-05-05 19:40:57 +00:00
Eric Pouech 90b71b5191 Fixed multi-thread access to local variables (mainly fd for
/dev/dsp).
God rid of obsolete macro.
Fixed some slight init issues.
2002-04-22 22:35:30 +00:00
Eric Pouech ef1f015652 Fixed a mismatch in wavein 16/32 mapping.
Relaxed some tests about buffer lengths.
2002-04-22 22:34:26 +00:00