Robert Reif
2d8e75dab5
A driver does not have to support all formats.
2004-12-20 19:08:18 +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
Robert Reif
24da756e68
One step closer to getting hardware accelerated capture working.
2004-11-19 18:25:03 +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
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
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
Francois Gouget
3c4525af93
Add support for the AUDIODEV and MIXERDEV environment variables.
2004-09-01 01:28:12 +00:00
Robert Reif
79b1c4dbe7
Round results of conversions between OSS and windows values.
2004-08-30 18:35:53 +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
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 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
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
370d5d244e
Cleanup messages in supportedFormat.
2004-08-19 01:10:36 +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
Robert Reif
e24f873b0f
Added WAVEFORMATEXTENSIBLE support.
2004-08-16 21:09:52 +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
Robert Reif
17a8372302
Only copy number of bytes specified up to size of DevCaps structure.
2004-08-11 18:48:46 +00:00
Robert Reif
7bf7bce0da
Add CRITICAL_SECTION debug info.
2004-08-04 18:14:21 +00:00
Francois Gouget
eed1b5209d
Added bytes_to_mmtime() to convert the stream position from bytes to
...
the requested MMTIME format. This function should be identical in all
drivers.
Remove the corresponding code from wodGetPosition() and
widGetPosition() and use bytes_to_mmtime() instead.
bytes_to_mmtime() uses no floating-point arithmetic to compute
TIME_SMPTE and no longer uses round(). It should have no integer
overflows either.
2004-07-23 23:01:21 +00:00
Francois Gouget
54751b230d
Use round() instead of ceil() in wodGetPosition(TIME_SMPTE).
...
Fixes the corresponding winmm conformance test.
2004-07-19 20:08:06 +00:00
Francois Gouget
170dbf4243
An SNDCTL_DSP_SETDUPLEX failure should be a WARN(), not an ERR(),
...
since the OSS specifications say we have to call it before knowing if
the sound card is full-duplex capable.
2004-07-14 21:44:50 +00:00
Robert Reif
33e4506cda
Get certification for VerifyCertification from driver to match
...
GetCaps.
Change OSS driver to report certified.
Change OSS driver to show message name rather than number in traces.
2004-07-06 18:43:57 +00:00
Francois Gouget
d8e9b8f7aa
Log the format when mapping the sound device (or failing to).
2004-06-16 20:06:48 +00:00
Francois Gouget
1d834f4717
Fix the check for SNDCTL_DSP_GETCAPS so that it is compliant with the
...
OSS specification.
Only test the different formats if tracing is on.
2004-06-15 20:25:46 +00:00
Robert Reif
bdbb54f340
Fix calculation of SMPTE time (round up to full frame).
...
More accurate ms calculation.
2004-06-01 20:22:11 +00:00
Francois Gouget
ceeed96a38
Use triggers to disable the sound input/output side we don't care
...
about when in pseudo fullduplex mode.
2004-05-20 01:16:10 +00:00
Robert Reif
4a787831f0
Add an interface name to wineoss, winealsa, winearts and winejack.
...
Add support for wave interface message where missing.
2004-05-11 04:28:13 +00:00
Francois Gouget
9f1aea2fb8
Assorted spelling fixes.
2004-05-05 01:09:24 +00:00
Francois Gouget
8ceb200817
We only support 8 and 16 bit sound so we should reject the other
...
formats.
2004-04-26 20:03:59 +00:00
Robert Reif
a1f01d353c
Cleanup reference counting.
...
Move notify array to buffer.
Add state info and fix GetStatus.
Remove unnecessary driver description flags.
2004-04-12 23:12:17 +00:00
Robert Reif
dc4535f91a
Remove trailing white space.
...
Cleanup white space and format in direct sound capture routines.
2004-04-12 22:01:47 +00:00
Francois Gouget
20547de012
Patch the fragment size if it does not match the current sound
...
format. This saves us from triggering a kernel freeze on some OSS 2.4
+ SoundBlaster 16 systems.
2004-04-09 19:05:09 +00:00
Robert Reif
86976d53e2
More duplex mode soundcard info.
2004-03-31 19:57:53 +00:00
Robert Reif
605064a4bf
Print out sound card info for playback, capture and duplex modes.
...
Hardware capabilities can vary depending on usage mode.
Print out format requested and actual format returned.
2004-03-29 20:27:50 +00:00
Alexandre Julliard
9e4ed6460c
.spec.c files are no longer used for 32-bit dlls.
2004-03-24 03:36:44 +00:00
Robert Reif
af3fa1c48d
Enable exact position calculation when hardware supports it.
2004-03-12 19:43:44 +00:00
Christian Costa
009c04a040
Replaced the timer and its callback by a thread for receiving midi in
...
events.
Handled DRVM_EXIT in OSS_midMessage.
2004-02-24 01:22:18 +00:00
Robert Reif
d6993619ef
Add secondary buffer array.
2004-02-16 20:23:42 +00:00
Robert Reif
20fff3d111
Enable hardware secondary buffer support on cards that support it (SB
...
live and audigy).
2004-02-13 21:10:21 +00:00
Robert Reif
61cb01781e
Save oss device fd and creation flags in dsound buffer object.
2004-02-13 21:04:28 +00:00
Robert Reif
e9b7222e34
Split buffer creation function into primary and secondary buffer
...
creation functions. Secondary buffer creation function is stubbed
out.
2004-02-13 20:56:21 +00:00
Robert Reif
b6adacb81c
Moved dsound mmap mapping info into dsound objects.
2004-02-13 20:44:42 +00:00
Dmitry Timoshkov
ab2266de9a
AFMT_AC3 might be not defined in the system headers.
2004-02-11 23:57:17 +00:00
Robert Reif
a9d2fb8ee7
Fixed a problem on BSD.
...
Fixed a trace.
2004-02-09 20:55:30 +00:00
Robert Reif
bcb1387929
Show sound card info in trace.
2004-02-06 05:20:14 +00:00
Christian Costa
485390de6f
Added missing notifications to MIDI_NotifyClient.
...
Made checks less strict in midPrepare, only return an error for buffer
in queue.
Fixed time of input events in Alsa driver.
2004-02-05 01:24:28 +00:00
Alexandre Julliard
20b4585e3c
Only link against libdxguid where necessary.
2004-01-27 00:11:16 +00:00
Francois Gouget
6b6ed724ae
Add missing '\n's to debug traces.
2004-01-27 00:01:43 +00:00
Robert Reif
e14a1b262a
Added notify and property set to dsound output driver.
...
Cleaned up existing notify and property set for capture.
2004-01-20 01:47:27 +00:00
Gerald Pfeifer
db1113fed1
Improve error messages in OSS_WaveOutInit() and OSS_WaveInInit() and
...
warn instead of aborting in case of problems reading mixer info.
2003-12-31 18:58:07 +00:00
Jeremy Shaw
f7cae99969
Move the data around when the ring buffer is resized so that the empty
...
messages are between the tosave and toget indexes.
2003-12-12 05:55:26 +00:00
Robert Reif
3f1498fc6c
Fixes more use before set races.
...
Work around for queue reordering feature.
Stop recording on reset.
Better debug info.
Dsound callback capture state fix.
2003-11-14 21:03:24 +00:00
Robert Reif
342d59f262
Fix a race condition where result could be read before set.
...
Fix test to use correct event in interactive mode.
2003-11-11 00:25:50 +00:00
Robert Reif
636f29d83c
Fix wave in stop.
2003-11-05 23:22:23 +00:00
Robert Reif
0c55534707
Fixed bug in capture stop. Only current header should be returned to
...
app.
Make wave fragment size adjustable to guarantee better than 10 ms
latency. Makes a difference for 8 kHz voice apps.
2003-11-04 04:20:47 +00:00
Robert Reif
d6f746de4c
Cache the wave volume so it can be returned rather than the OSS
...
derived value when possible.
2003-10-30 23:08:46 +00:00
Robert Reif
be4281522d
Added support for getting the wave device name.
2003-10-28 00:15:16 +00:00
Robert Reif
4824460772
Clear a new hardware buffer to proper silence values based on format.
...
Allows dxdiag to play 8 bit sounds in hardware primary buffer now.
2003-10-27 22:00:10 +00:00
Oleg Prokhorov
cf8b84c19f
Another portion of HeapReAlloc fixes.
2003-10-15 21:01:05 +00:00
Dimitrie O. Paun
fbdfd910c1
Remove SYMBOLFILE and LDDLLFLAGS from Makefiles.
2003-10-11 01:09:15 +00:00
Robert Reif
9964e42988
Fixed SMPTE time.
...
Fixed bad wave in position at startup and reset.
2003-10-09 19:45:39 +00:00
Daniel Marmier
7e0ddbc60f
Fixed warnings with gcc option "-Wwrite-strings".
2003-10-07 22:54:17 +00:00
Robert Reif
6b145f0473
Allow wave emulated capture while doing hardware accelerated
...
playback.
2003-09-27 02:20:19 +00:00
Robert Reif
3be10b0458
Avoid divide by zero if the sound driver returns 0 for speed.
2003-09-25 20:23:52 +00:00
Robert Reif
99b0e8fa66
Added volume and pan support to primary buffers.
...
Added more property set support.
2003-09-19 00:10:51 +00:00
Robert Reif
725d8c39aa
Device enumeration callbacks should return a NULL guid for default
...
devices.
Fixed some volume and pan cases.
Added missing property set.
Fixed capture notification bug.
2003-09-15 20:08:05 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Christian Costa
4b40180e38
Fix modLongData.
...
Enable opening of MOD_SYNTH type devices.
Add some comments.
2003-09-04 00:04:37 +00:00
Robert Reif
7d43d7bb3b
Use the drivers to get device capabilities and property sets.
2003-09-03 19:28:20 +00:00
Mike Hearn
61402c64de
Fixed the error message in Wave(In|Out)Init, it used to give a
...
confusing message, now uses strerror.
2003-08-29 22:12:15 +00:00
Robert Reif
a9460b3dbe
Use same GUIDs as win2k and xp for dsound drivers.
2003-07-28 19:02:29 +00:00
Francois Gouget
14a5d168e9
Fixed some common spelling errors.
2003-07-02 04:37:26 +00:00
Francois Gouget
c5f775a9c7
Typos/spelling fixes.
2003-06-18 03:30:39 +00:00
Robert Reif
a104d91ce8
Added a dynamically growing ring buffer for oss, alsa, arts, and nas.
2003-06-04 20:28:04 +00:00
Eric Pouech
639db3ef8b
Stop wavemap lookup if a device isn't functional (spotted by Lionel
...
Ulmer).
2003-05-11 03:30:51 +00:00
Marcus Meissner
dac51c005a
Added include <errno.h>.
2003-05-06 18:25:11 +00:00
Robert Reif
bcfff87be5
Added driver property set implementation.
...
Fixed notify release bug.
2003-05-02 20:16:20 +00:00
Robert Reif
aa8559e84a
Fixed a problem where OSS trigger support is inconsistent.
2003-04-29 22:54:09 +00:00
Robert Reif
144d7f5da2
Added driver notify implementation.
2003-04-29 22:47:59 +00:00
Robert Reif
f64f69abe7
Fixed bug caused by OSS inconsistent trigger operation on different
...
hardware.
2003-04-26 02:09:20 +00:00
Robert Reif
303d93680d
Better error messages.
2003-04-10 18:33:46 +00:00
Alexandre Julliard
c2ebe1ff93
Removed uses of the non standard ICOM_VTBL macro.
2003-04-10 18:17:34 +00:00
Eric Pouech
f5554c3236
Work around not implemented ioctl in BSD.
2003-04-05 05:09:57 +00:00
Alexandre Julliard
7c7bd1c359
Avoid warnings.
2003-03-17 00:00:53 +00:00
Alexandre Julliard
3453746aa1
Added #ifdef checks for SOUND_MIXER_INFO.
2003-03-15 22:23:27 +00:00
Robert Reif
89b469fefe
Added support for multiple direct sound devices.
2003-03-15 00:54:11 +00:00
Robert Reif
a20f86fc7b
Fixed bug where the enable state of the output and input were not set
...
properly when doing full duplex.
Fixed bug where resetting the output would affect the capture when
doing full duplex.
2003-03-07 20:37:25 +00:00
Robert Reif
f851a860fc
Capture thread checks queue for more headers before giving error.
...
Capture driver work started.
2003-03-04 02:11:21 +00:00
Robert Reif
bcc4bb2d06
Started to add support for a real direct sound capture driver.
...
Changed the capture fragment size but this still needs tuning for best
performance.
2003-02-14 23:59:15 +00:00
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