Commit Graph

71 Commits

Author SHA1 Message Date
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 32140adefa DSB.SetFormat:Trace the requested format as soon as possible in case
it is not supported and simplify validity check.
Initialize the buffer format, and only from the fields we checked.
DirectSoundCreate8 fully initializes the buffer format (just in case).
2003-01-11 20:54:56 +00:00
Francois Gouget 112cf22a12 Always open the device in the default 22050x8x2 format, and let it
report the actual device format to us.
2003-01-07 19:43:18 +00:00
Alexandre Julliard 26d648887a Back out the aRts volume patch, this is not user-friendly at all. 2002-12-05 19:20:36 +00:00
Francois Gouget ee4d9c5e29 Return an error if dwSize is not valid.
No need to dump dwFlags before it is initialized.
2002-12-05 19:00:56 +00:00
Ove Kaaven 4774477b2b Fix for soundcards that can't do 8-bit audio, only 16-bit (also
checked for soundcards that can't do stereo while I was at it).
2002-09-29 18:01:33 +00:00
Jerry Jenkins 062425aee4 Added waveOutSetVolume when opening sound driver. Otherwise, there is
no sound if we use aRts.
2002-09-17 01:29:01 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +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 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 7015ce3096 No need to call GetModuleFileName16 now that GetModuleFileNameA
handles 16-bit tasks.
2002-07-05 01:28:10 +00:00
Ove Kaaven 935e3df35c Support DirectSound 8 interfaces. Split interface implementations into
separate files. Split primary buffer and secondary buffer interfaces
into separate implementations. Made the primary buffer state part of
the dsound object, so primary buffer objects can be created and
refcounted independently. Made the interfaces follow COM aggregation
rules more closely. Converted the dsound critical section to a R/W
lock to improve potential remixing concurrency. Fixed various bugs and
refcounting issues.
2002-06-13 19:15:06 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Johan Gill 7c61a61616 Only enumerate DirectSound devices if the first sound device in the
system supports the Wine implementation of DirectSound. Also added
some entries to the sample config file and changed the values of the
"EmulDriver" key to "Y"/"N".
2002-05-28 22:45:58 +00:00
Joris Beugnies ff60a9a27b Make defines configurable at run-time. 2002-05-11 22:53:00 +00:00
Johan Gill 8fc98cdef8 DirectSoundEnumerateA() now passes a GUID to the callback if the first
call returned TRUE.
2002-05-01 18:05:30 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Eric Pouech c745b52803 A bit more robust against wave???Open failures. 2002-04-22 22:36:18 +00:00
Chris Morgan ace56c62a3 Dsound will now try as many devices as are available when trying to
open a waveOut device in DirectSoundCreate().
2002-03-25 20:52:17 +00:00
Chris Morgan 9b0ba7ca2b Added aRts driver. 2002-03-21 01:38:19 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Ove Kaaven f250b6b5fa Further unified HAL and HEL mixing, and added some more intelligence
to prebuffering, with some basic prebuffer canceling support, to get
rid of mixing delays in Half-Life. Used a very small waveout buffer
queue in HEL mode, using a callback to queue additional buffers, to
get rid of playback delays in Half-Life. Fixed a couple of bugs.
2002-01-02 21:46:54 +00:00
Ove Kaaven fdebace998 Fix buffering problems in HEL mode. 2001-09-10 23:08:11 +00:00
Patrik Stridvall 2344798c46 Fixed some warnings. 2001-07-26 21:44:44 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Marcus Meissner 9c0ae56d39 Added definitions for IKsPropertySet, small stub implementation for
IDirectSound3DBuffer. Fixed one pointer reference.
2001-06-13 19:36:10 +00:00
Andreas Mohr c2bc22b91c Spelling fixes. 2001-05-24 18:44:25 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Ove Kaaven ed739334f4 Fixed sound disappearing after on-the-fly sample rate changes and
after certain underrun conditions.
Compilation fixes for when USE_DSOUND3D is defined.
2001-03-19 19:14:39 +00:00
Alexandre Julliard ddf825660e Chris Jacobson
Small bug fix.
2001-03-03 00:19:29 +00:00
Ove Kaaven 62510ddbf6 Fixes for various underrun-related problems. Also added a mechanism
for the sound driver to request that a Stop should close and reopen
the device.
2001-01-13 01:00:00 +00:00
Johan Gill d8dea427c1 Added a more truthful message about what really is wrong. 2001-01-06 00:36:14 +00:00
Eric Pouech ad250aac34 Now using manifest constant instead of raw values for all the
DRV_QUERY??? values.
2001-01-04 19:53:51 +00:00
Ove Kaaven 865cf3752c Bugfix for sound dropping out, and workaround for Half-Life's
braindead secondary sound buffer management.
2001-01-02 21:02:32 +00:00
Ove Kaaven 0c7c94b956 More intelligent DirectSound prebuffering. By tracking the
last-written position of streaming buffers, it attempts to avoid
prebuffering past this position unless necessary; this may avoid a
number of sound problems in various situations. Merged HEL and HAL
mixing code, which should reduce the HEL mode's CPU usage slightly.
2000-12-22 20:31:06 +00:00
Marcus Meissner eba8cee584 Handle errors for IDsDriver_GetPosition.
Report DSERR_UNINITIALIZED on non-opened WineOSS audio device.
2000-12-21 20:49:26 +00:00
François Gouget 44a182229b winuser.h now requires that we include winbase.h first. 2000-12-19 04:53:20 +00:00
Alexandre Julliard 5be8e7d8e0 Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
Andreas Mohr 49b3cec137 Reimplement patch by Marcus Meissner ('98) to "fix" problems with
DSCAPS_EMULDRIVER flag for games like Quake 2 and Unreal Tournament.
2000-10-25 20:30:31 +00:00
Patrik Stridvall a9f6a9daec Explicitly initialize structures. 2000-10-24 02:22:16 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
James Abbatiello 26d6c1f557 Don't use copies of critical sections made by memcpy()
Added missing WINAPIs
2000-09-01 01:22:21 +00:00
Andreas Mohr 349655636b - made the MIDI sequencer error message much better for confused users
to be found on #WineHQ
- use strerror instead of errno at important places
- got rid of HAVE_STRERROR macro
- removed some #include:s (hopefully I didn't break anything)
2000-08-26 20:31:48 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00
Ove Kaaven fddc3e15d8 Added a few C++ operators to Direct3D structures, and made some unions
'nameless'.
2000-07-23 14:19:19 +00:00
Patrik Stridvall 6314ad696b Fixed some warnings. 2000-07-15 21:33:38 +00:00
Ove Kaaven 9405793109 Fix a couple of problems with underruns and stopping/restarting. 2000-07-08 11:45:39 +00:00
Ove Kaaven 849c930481 Implemented the DirectSound HAL mode for DMA primary buffers, with a
10ms latency (not noticeable), and about 300ms of prebuffering. Fixed
a few bugs. Added a Wine-only WINMM flag for waveOutOpen for
DirectSound to use (so drivers like wineoss have some way of knowing
what to prepare itself for).
2000-06-24 12:54:49 +00:00
Ove Kaaven 353c776a66 Restructure DirectSound. Remove dsound thread, use MM timers
instead. Implemented the DirectSound HEL, with the ability to
prebuffer 300ms of sound, while maintaining play latency of 40ms, and
the exact playposition (Starcraft cinematics are lip-synched).  Some
initial HAL support.
2000-06-23 15:45:05 +00:00