Jeff Smith
f88d00a25d
MMDRV_GetDescription32 fix + a few cosmetic improvements.
2002-12-12 22:26:01 +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
Eric Pouech
f086286d4f
Better support for multiple midi devices on the OSS interface.
2002-11-20 19:46:35 +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
b34fb35b31
Fixed warnings caused by conversion to -DSTRICT.
2002-10-18 23:48:57 +00:00
Eric Pouech
580235504d
Fixed some multi-sound card related bugs.
2002-10-09 20:37:09 +00:00
Alexandre Julliard
6ac4da7efb
Fixed file descriptor corruption.
2002-10-09 18:15:05 +00:00
Eric Pouech
dcb44969b9
Added support for several soundcard.
...
Remove non full duplex mode in code.
OSS Commercial doesn't properly handle SNDCTL_DSP_RESET, so close/open
device to workaround this issue (by Ove Kaaven).
2002-10-07 18:23:40 +00:00
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
ec7d7b72b2
- Convert HDRVR to a void*.
...
- Fix declaration of DriverCallback().
2002-08-09 01:02:25 +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
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
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Patrik Stridvall
5e6943f421
Fixed some issues found by winapi_check.
2002-05-22 01:55:18 +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
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
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
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
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
a1e57324e4
More robust and less time consuming playback.
2002-04-01 21:02:49 +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
Patrik Stridvall
74e4d21ebe
Avoid wildcards in .cvsignore.
2002-01-29 03:05:12 +00:00
Andreas Mohr
bfbe3b5c62
Fixed ==/!= mismatch.
2002-01-29 02:56:50 +00:00
Francois Gouget
54697dd302
Print the strerror instead of just the errno.
2002-01-21 18:00:42 +00:00
Eric Pouech
738669a709
Fixed the wodReset implementation, internal messages priority, full
...
duplex code, wait algorithm for feeding the OSS buffer.
2002-01-12 21:15:08 +00:00
Eric Pouech
d547450b35
Added full-duplex capability.
...
Added missing init for wave-in.
Fixed pause behavior in wave-out.
Added message-ring deletion.
Added experimental full-duplex capability.
2001-12-21 20:28:43 +00:00
Eric Pouech
37083176e8
Thawed some freezes.
...
Cleaned up time and notification handling.
Typos fixes (Gerard).
Added breakloop support.
2001-12-14 22:44:29 +00:00
Simon Britnell
5ba7438df1
Fix a loop playing failure and a problem with choppy sound.
2001-11-19 02:10:50 +00:00
Eric Pouech
fa7a8c6306
Fixed some race conditions in notification vs. operation
...
synchronization using the same in process message ring in waveIn as in
waveOut.
2001-11-12 15:55:37 +00:00
Simon Britnell
78bae03241
Cleaned up the wodPlayer functionality to make it easier to follow.
...
Changed notification to be calculated from bytes played rather than
time elapsed.
2001-11-09 20:26:59 +00:00
François Gouget
1425941e29
Fix the #include order for config.h.
...
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Eric Pouech
2f9eb3b0cb
Fixed dst / src lines implementation.
...
Added mux/mixer control for master rec.
Added framework for multiple mixers.
2001-11-05 23:53:48 +00:00
Francois Gouget
3bb9a36ee0
Spelling, grammar and a bit of comment formatting fixes.
2001-10-22 19:04:32 +00:00
Francois Gouget
588ff3743a
Documentation updates (mainly thru vs. through).
2001-08-21 17:07:17 +00:00
Eric Pouech
96c514bdf8
Replaced memset by hand made equivalent to work around some buggy
...
memset implementations.
2001-08-18 16:09:41 +00:00
Alexandre Julliard
1922c72b8a
Removed unnecessary inclusion of heap.h.
2001-07-25 00:43:29 +00:00
Patrik Stridvall
044855c6ec
Documentation fixes.
2001-07-11 18:56:41 +00:00
Patrik Stridvall
01d5e5b071
Documentation fixes.
2001-07-02 19:59:40 +00:00
Huw D M Davies
738e2461f0
Attempt to write fragments and check whether we can notify the client
...
after every message.
2001-05-29 20:52:23 +00:00
Francois Gouget
e76218dd61
Add '\n' at the end of traces.
2001-05-09 17:31:31 +00:00
Bang Jun-Young
d52e89ac36
Call OSS_MidiInit() only if HAVE_OSS_MIDI is defined.
2001-05-07 18:16:57 +00:00
Bang Jun-Young
31031abaa1
Include missing errno.h.
2001-05-07 18:16:38 +00:00
James Hatheway
8290c3e1e7
Make sure to return our variable with the correct return value.
2001-04-20 18:28:38 +00:00
Eric Pouech
7a3ec5d705
Fixed some buffers issue in recording.
...
Zeroed unnecessary second parameter for WIM_DATA notification.
2001-04-13 22:26:51 +00:00
Ove Kaaven
e746f665ef
Show an error if small enough fragment sizes couldn't be set.
...
Force a complete close/reopen of the sound device if pause is
requested in DirectSound mode (many drivers require this).
2001-03-21 03:37:33 +00:00
Andreas Mohr
8c2f4b18fa
Some more message cleanups.
2001-03-03 00:22:50 +00:00
Andreas Mohr
1ea771c218
Don't touch WAVEHDRs dwLoops variable.
2001-02-12 01:24:18 +00:00
Patrik Stridvall
d5f824b482
Fixed some issues found by winapi_check.
2001-01-25 22:23:08 +00:00
Huw D M Davies
53cb7cecc5
Fix off by one error in buffer length check.
2001-01-18 20:29:41 +00:00
Alexandre Julliard
d8e9a09d9b
Removed unnecessary headers.
2001-01-15 20:22:30 +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
Marcus Meissner
f7e09367bf
Set fragments for wave input to 7 x 1024 byte.
2001-01-04 19:28:14 +00:00
Marcus Meissner
7a01b38321
Read 4 bytes to wake up GETISPACE.
2001-01-02 20:32:33 +00:00
Ulrich Weigand
d34bc744f8
Compile fix if HAVE_OSS is not defined.
2000-12-27 18:43:30 +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
Ove Kaaven
96f9a8d609
Enable the DirectSound HAL for sound drivers that do not report
...
DSP_CAP_REALTIME. Set precision of these to 256 bytes (about 3ms).
2000-12-21 20:20:34 +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
db0747d095
Removed some unnecessary includes.
...
Got rid of ldt.h.
2000-12-13 20:23:41 +00:00
Andreas Mohr
1af53cbb2a
- README update
...
- add offsets to ASPI struct defines
- spelling
2000-12-09 03:15:32 +00:00
David Elliott
ea186796eb
Remove libXXXX.so.1.0 lines from .cvsignore files.
2000-11-30 19:57:34 +00:00
Dimitrie O. Paun
529da54394
Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ;
2000-11-27 23:54:25 +00:00
Marcus Meissner
c7dd25420e
WARN() about missing /dev/sequencer, it's too confusing for newbies.
2000-11-27 23:01:10 +00:00
Dimitrie O. Paun
5298812be1
Make sure all files using config.h constants actually #include "config.h"
2000-11-26 04:04:21 +00:00
Stephane Lussier
cb2abbc2d3
- Read all the fragments available, not only one fragment before
...
going back to sleep.
- Use SNDCTL_DSP_SETTRIGGER ioctl command to trigger the start the
recording. If this command is not supported by the device, read 4
bytes in the sound device instead.
2000-11-25 02:10:53 +00:00
Alexandre Julliard
27939f00fd
Start using import tables for dlls that can already support it.
2000-11-12 03:50:10 +00:00
Alexandre Julliard
eb58e1d597
Declare debug channels in all dlls that need them; added imports of
...
ntdll where necessary.
2000-11-05 04:53:07 +00:00
Dimitrie O. Paun
334a42f521
Fixed a few compilation warnings
2000-10-29 18:07:04 +00:00
Andreas Mohr
4ff660838f
Transform device open error TRACE()s into WARN(); better error msgs.
2000-10-25 20:29:39 +00:00
Francois Jacques
0282825f63
- All audio device handles are initialized to -1 and set to -1 when closed.
...
- WINE_WM_HEADER event should *NOT* make the recording thread start. The
thread should only start through waveInStart. The application calling
waveInAddBuffer might not be in a state to provide another buffer in
a period of time short enough to avoid buffer underrun in widRecorder
thread.
- widRecorder - improved robustness of widRecorder to avoid some data
loss that occured when not reading one full fragment from the OSS
audio driver.
2000-10-24 02:20:01 +00:00
Andreas Mohr
c472708f69
Added sleep time calculation for the wodPlayer thread.
...
Changed the wodPlayer thread messaging to use its own fast 30 entries
ring buffer list.
2000-10-22 23:43:15 +00:00
Andreas Mohr
d747b76cb6
Sequencer error message fix.
2000-10-19 22:31:37 +00:00
Francois Jacques
11805e0a4b
Should test unixdev against -1 (see wodOpen/widOpen).
...
widRecorder: bytesRead is now tested against (DWORD) -1.
2000-10-19 20:26:04 +00:00
Andreas Mohr
1563abe8ec
- stupid spelling fixes
...
- some more loadorder array work
2000-10-13 20:26:52 +00:00
Chris Morgan
3b37e7ae6a
Indicate that the MIDI error message only affects programs that need MIDI.
2000-10-13 20:21:27 +00:00
Marcus Meissner
0d30481a31
Suppress junk noise at startup of DirectSound on SB Live! and ES 1371.
2000-10-12 20:37:51 +00:00
Eric Pouech
96d920fd25
Store a copy of MIDIOPENDESC information instead of pointer.
2000-09-27 22:28:51 +00:00
Huw D M Davies
044e082cf5
Set close on exec() flag at times when we leave /dev/dsp and
...
/dev/sequencer open.
2000-09-22 20:54:51 +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
Eric Pouech
c70082fb22
Fixed recording format settings (16 bit was broken) and reentrancy
...
issues.
2000-08-25 21:33:45 +00:00
Ed Snow
909b677e83
Clean out the hack on BASS/TREBLE and suppress them in the mask as was
...
recommended oh so long ago.
2000-08-18 23:42:43 +00:00
Alexandre Julliard
6c9d83aa4c
Added imports of user32/gdi32/kernel32 wherever necessary.
2000-08-03 00:04:24 +00:00
Eric Pouech
731e9f5309
- removed (now obsolete) driver.h file (it's content is now in mmsystem.h)
...
- upgraded vfw.h content
2000-07-26 18:07:04 +00:00
Eric Pouech
eef1fb8f41
Fixed first seek on MEM mmio files.
2000-07-23 13:35:39 +00:00
Patrik Stridvall
6314ad696b
Fixed some warnings.
2000-07-15 21:33:38 +00:00
Ed Snow
276495e3af
Fixes unmuting when unmuted.
...
Unifies scale reported with scale used for volume control.
Hack for Bass/Treble until better fix is complete.
2000-07-15 21:28:51 +00:00
Eric Pouech
b4905d2241
Cleaned up loading/init code in OSS.
...
Cleaned up getDevCaps in midi part.
Implemented asynchronous waveIn recording using a thread.
2000-06-24 17:54:43 +00:00
Ove Kaaven
fd92ebdb4c
Implemented the DirectSound HAL in winmm's wineoss (Open Sound System)
...
driver, and winmm's interface for DirectSound to access it. It
requires the ability to mmap /dev/dsp, to trigger playback, and
sample-accurate position readouts. (If the soundcard's device driver
does not report these capabilities, wineoss will report the HAL as
unavailable and force DirectSound to use its HEL instead.)
2000-06-24 12:55:33 +00:00
Gerald Pfeifer
e6ba02e57a
Fixed format strings.
2000-06-20 20:34:41 +00:00
Alexandre Julliard
6953d6756c
For dlls, derive SPEC_SRCS from MODULE and ALTNAMES.
2000-06-20 20:24:14 +00:00
Ove Kaaven
df0dd9ab49
Fixed WHDR_DONE race condition.
2000-06-20 20:18:09 +00:00
Andreas Mohr
2e011a5243
Lots of spelling fixes that accumulated in my tree again, made several
...
error msgs more verbose, doc updates.
2000-06-01 23:28:25 +00:00
Andreas Mohr
7aa70d3397
More verbose errors.
2000-05-14 23:45:03 +00:00
Eric Pouech
3de3cad9ce
Fixed division by zero.
2000-05-11 21:42:52 +00:00
Eric Pouech
a1894523b4
Changed WAVEHDR notification heuristic.
...
Added preliminary support for loops in WAVEHDRs.
Fixed issues when mixing open and getCaps calls.
2000-05-09 22:35:47 +00:00
Alexandre Julliard
84eb8334da
Added some missing import directives.
2000-04-19 16:54:02 +00:00
Marcus Meissner
502e15b6e7
open() the OSS sounddevice non-blocking in case another process has it
...
open already.
2000-03-30 20:22:12 +00:00
Francois Gouget
6d77d3a1df
Use min/max instead of MIN/MAX.
2000-03-25 21:44:35 +00:00
Patrik Stridvall
fcfacb95a7
Added/fixed some documentation reported by winapi_check.
2000-03-24 20:46:04 +00:00
Alexandre Julliard
d0edc5fecd
Moved dll-specific make rules to a separate Makedll.rules file.
2000-03-04 22:31:27 +00:00
Alexandre Julliard
e1d78899ea
Made winmm a separate shared library.
2000-02-26 13:45:34 +00:00
Alexandre Julliard
90476d6b4a
Moved SystemHeap allocations to the process heap.
2000-02-16 22:47:24 +00:00
Alexandre Julliard
383da68cf9
Optimized debugging API to reduce code size.
2000-02-10 22:15:21 +00:00
Jeremy White
d3e22d9d55
Removed #include of wingdi.h and windef.h from winuser.h (and resolved
...
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Alexandre Julliard
318f4cefd2
Build most dlls as separate shared libraries.
2000-01-31 05:02:49 +00:00
Uwe Bonnes
d0b0dbdc17
Always initialize lpWaveHdr->lpNext to NULL.
...
Don't fail on strange fragment sizes.
2000-01-18 01:09:45 +00:00
Eric Pouech
0adb3c23ad
Use a uniform naming scheme for driver modules.
2000-01-04 00:27:39 +00:00
Eric Pouech
1bf5dea29a
Removed extraneous ERR message.
2000-01-04 00:25:39 +00:00
Francois Gouget
baa9bf9a23
Buffer overflows and strncpy fixes.
1999-12-27 05:24:06 +00:00
Marcus Meissner
bac7be750b
Cast the unsigned int to signed, or NEAR_MATCH will not work.
1999-12-25 22:55:40 +00:00
Eric Pouech
29ebdb7690
Fake MIDI_IO_STATUS support in midi in open
...
Fixed bug in midi in while reading data
1999-12-05 02:19:24 +00:00
Eric Pouech
6ff83ad45f
Fixed infinite loop for 0-length wavehdrs.
1999-12-05 02:18:59 +00:00
Marcus Meissner
f95df54d1c
Allow 1% deviation from specified sampling rate for some soundcards.
1999-12-04 03:58:37 +00:00
Patrik Stridvall
2c92835f7b
Added missing configuration #if:s and #includes:s.
1999-10-31 02:07:54 +00:00
Eric Pouech
3b8e9b43d4
Fix (some) bad behavior with buffer underrun.
1999-10-31 01:53:47 +00:00
Eric Pouech
68944c205c
Split the multimedia/ directory into dlls/ subdirectories.
1999-10-24 18:42:42 +00:00
Eric Pouech
d629ca4c6c
Added missing (and now required) filename directive.
1999-10-13 16:01:10 +00:00
Eric Pouech
6fea55f1e7
Added dlls/winmm and dlls/winmm/wineoss directories.
1999-09-22 16:51:42 +00:00