Commit Graph

55 Commits

Author SHA1 Message Date
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
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
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
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
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 1ea771c218 Don't touch WAVEHDRs dwLoops variable. 2001-02-12 01:24:18 +00:00
Huw D M Davies 53cb7cecc5 Fix off by one error in buffer length check. 2001-01-18 20:29:41 +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
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
Alexandre Julliard db0747d095 Removed some unnecessary includes.
Got rid of ldt.h.
2000-12-13 20:23:41 +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
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
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
Marcus Meissner 0d30481a31 Suppress junk noise at startup of DirectSound on SB Live! and ES 1371. 2000-10-12 20:37: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
Eric Pouech c70082fb22 Fixed recording format settings (16 bit was broken) and reentrancy
issues.
2000-08-25 21:33:45 +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
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
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
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
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
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
Uwe Bonnes d0b0dbdc17 Always initialize lpWaveHdr->lpNext to NULL.
Don't fail on strange fragment sizes.
2000-01-18 01:09:45 +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