Alexandre Julliard
f8aa3b506c
Added -Wpointer-arith gcc flag, and fixed the resulting warnings.
2003-01-23 21:32:35 +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
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
Jeff Smith
b9f0fce668
Correct all instances of mixMessage to mxdMessage.
2002-12-23 02:05:30 +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
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