Commit Graph

654 Commits

Author SHA1 Message Date
Francois Gouget 53a20f3a4b Add a 5 second test tone to help debug issues with the tone duration
and help detect stutter issues.
Add explanations describing the interactive test.
2004-05-20 01:16:50 +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
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Robert Reif 463d474cc7 Print human-readable capabilities flag. 2004-05-14 04:54:54 +00:00
Robert Reif ee0868e013 Sample rate sanity check.
Fix SMPTE time.
2004-05-14 00:44:06 +00:00
Robert Reif eee90c26a9 waveOutGetDevCapsA can fail with MMSYSERR_BADDEVICEID or
MMSYSERR_NODRIVER when no drivers present.
Add better error messages.
2004-05-13 19:41:53 +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
James Courtier-Dutton 0040ba959b Updated to the new alsa api. 2004-05-05 22:03:48 +00:00
Francois Gouget 9f1aea2fb8 Assorted spelling fixes. 2004-05-05 01:09:24 +00:00
Francois Gouget df4409fb95 winejack.drv only supports 16bit sound so we can simplify the sound
format checks.
2004-05-05 01:06:27 +00:00
Francois Gouget 91c2507dd4 If ARTS_WaveInit() failed then transmit the failure upstream in
ARTS_DriverProc().
2004-05-05 01:06:09 +00:00
Francois Gouget bf75c5c163 Taking into account wavemap and midimap there can be up to 8 output
drivers. So increase the size of the MMDrvs array accordingly.
Skip already loaded drivers before complaining (asserting) that they
don't fit in the MMDrvs array.
2004-05-05 01:00:54 +00:00
Robert Reif abdce33943 You have to have at least one device before you can have a default
device.
2004-04-30 04:14:58 +00:00
Robert Reif 8db4d73d89 Forgot to limit capture sample rates. 2004-04-29 00:20:35 +00:00
Robert Reif 253ffd50d2 Another error return value check added after looking at the windows
tests results.
Replaced -1 with WAVE_MAPPER.
2004-04-28 03:50:36 +00:00
Ove Kaaven c6ad91ba3c Fixed a couple of bugs. 2004-04-28 00:24:09 +00:00
Robert Reif 7c80f993d2 Restore the 2 MHz sample rate test and fix the winealsa driver for
reasonable limits.
2004-04-27 23:28:46 +00:00
Francois Gouget da29b6547f Make sure the 'alsa handle' is initialized to NULL before calling
snd_pcm_open(). Otherwise if it fails we get a crash trying to close
an invalid alsa handle.
2004-04-26 23:31:11 +00:00
Francois Gouget f627aed58b waveOutGetDevCaps(-1...) must return the capabilities of the Wave
mapper.
DRV_QUERYDEVICEINTERFACE is not supported on all Windows versions.
Check the length returned by DRV_QUERYDEVICEINTERFACESIZE and fix
memory leak.
Some Windows sound drivers allow wild frequencies such as the 2MHz
one. So modify this test to use an invalid number of bits per sample
instead (hopefully that will fail really everywhere).
2004-04-26 23:30:26 +00:00
Francois Gouget cce19caacb Fix a warning in JACK_drvLoad(). 2004-04-26 20:04:21 +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
Francois Gouget ebf0eb3138 Make static Unicode strings const. 2004-04-20 00:34:52 +00:00
Ove Kaaven 276ccc44ed Added detection of 48kHz and 96kHz support. Fixed a thinko, and some
misleading indentation.
2004-04-19 23:06:48 +00:00
Ove Kaaven 59917f4cfa Code and concepts merged in from wineoss in order to get the
non-dsound wave output performance in winealsa to an acceptable
level. It's still possible to do better than the current code, but
this should do for now.
2004-04-19 19:24:25 +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
Dmitry Timoshkov f560c71c29 Fallback to a compression scheme specified in the stream format in the
case FOURCC handler does not exist or format is not supported.
2004-04-05 20:19:09 +00:00
Eric Pouech 30dbb04998 - implemented MCI_SOUND command
- fixed MCI command table in resource
- added a TODO list on MCI handling
2004-04-05 20:16:11 +00:00
Felix Nawothnig 301851da5a Don't free ALSA device string when the device is closed since it might
be reopened.
2004-03-31 20:05:45 +00:00
Robert Reif 86976d53e2 More duplex mode soundcard info. 2004-03-31 19:57:53 +00:00
Sylvain Petreolle 2504ac59b4 Fixed error reporting. 2004-03-29 22:55:26 +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
Robert Reif 7c112c918d Clean up white spaces.
Fix spelling error.
Improve capture error messages.
Fix error reporting when capturing from nonexistent device.
2004-03-27 20:42:57 +00:00
Mike Hearn ce32fc5684 Allow configuration of output devices to use and change standard
output plugin requested to "default".
2004-03-27 01:38:54 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Dmitry Timoshkov 5983223b70 Just update from/to pointers and exit on a subsequent MCI_PLAY
command.
2004-03-19 19:15:03 +00:00
Christian Costa abec033938 Release lock before wave calls that generate notification. 2004-03-18 01:34:36 +00:00
Christian Costa 6eac29532b Added support for MCI_DGV_WHERE_MAX flag in MCIAVI_mciWhere.
Fixed WHERE_WINDOW.
2004-03-16 03:09:14 +00:00
Christian Costa e55a4b634b Handle avi files with non standard video stream names. 2004-03-16 01:14:39 +00:00
Christian Costa c2adec0c70 MCI strings are case insensitive.
Fixed a returned error value.
2004-03-16 01:14:27 +00:00
Christian Costa b3b3f4c0c3 Default to FOURCC_DOS if no IOProc found. 2004-03-16 01:14:07 +00:00
Christian Costa 4bbeb429c8 Fixed deadlock when stopping playback. 2004-03-16 01:13:52 +00:00
Robert Reif af3fa1c48d Enable exact position calculation when hardware supports it. 2004-03-12 19:43:44 +00:00
Jason Edmeades ed593fdf2f Handle playing of files containing a '+' as part of the filename. 2004-03-05 20:43:40 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Dmitry Timoshkov 199247672c - Add a lot of traces to make debugging a bit easier.
- Add support for MCIWNDF_NOAUTOSIZEMOVIE, MCIWNDF_NOAUTOSIZEWINDOW
  and MCIWNDF_NOERRORDLG flags in the MCIWndClass implementation.
- Implement support for MCI_UPDATE in the MCIAVI driver and use it in
  the MCIWndClass WM_PAINT handler.
- Reimplement MCI_STOP command in the MCIAVI driver via an event.
- Add a test preventing the MCIAVI driver to crash after MCI_SEEK
  behind an end of stream.
2004-03-01 23:38:25 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Robert Reif 7ca0381e7a Cleanup prepare/unprepare header parameter checking.
Fix midiInGetDevCapsW.
2004-02-27 21:29:32 +00:00
Dmitry Timoshkov 6e728e4077 Convert MCIAVI window support to unicode.
Allow multiple simultaneous MCIAVI driver instances.
2004-02-27 00:42:44 +00:00
Sean Young 65130e8a5d Check uSize parameter in waveOutUnprepareHeader and
waveOutPrepareHeader.
2004-02-26 05:28:01 +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
Christian Costa 26d73867e0 Fixed waveInGetDevCapsW. 2004-02-24 01:02:01 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Christian Costa 87bef514db Replaced the timer and its callback by a thread for receiving midi in
events.
Fixed time of MIM_LONGDATA notification.
Handled DRVM_EXIT in ALSA_midMessage.
2004-02-19 04:12: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
Robert Reif 391aede4ba Use pipe sync code from wineoss. 2004-02-13 20:44:12 +00:00
Robert Reif 9a3056b243 Don't need primary lock. Fixes error in dsound tests in interactive
mode.
2004-02-13 20:21:47 +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
Eric Pouech da49807ea3 Fixed synchronization issue. 2004-01-28 20:05:20 +00:00
Alexandre Julliard e43e394465 All sound drivers need -ldxguid. 2004-01-27 20:16:38 +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
Robert Reif 76659e9e9f Fixed thread handle leaks. 2004-01-20 01:45:05 +00:00
Robert Lunnon 8732357912 Fixed type mismatch in widDsCreate. 2004-01-14 05:39:05 +00:00
Christian Costa 8349acab6c Added Midi IN support. 2004-01-13 01:05:34 +00:00
Eric Pouech 9db6037de8 - implemented TIME_KILL_SYCHRONOUS timer flags
- timeKillTimer is now thread safe
- replaced some iData attributes by global variables
2004-01-12 21:03:10 +00:00
Marcus Meissner 17ffed02eb Fixed HeapRealloc typo. 2004-01-09 20:08:48 +00:00
Jeremy Shaw ed69f0bff6 Added wave-in support and fixed a few bugs in the wave-out code. 2004-01-09 05:02:58 +00:00
Eric Pouech 6cf101c1b3 - Applied to all MCI drivers Dmitry's fix for MCI_STATUS_TIME_FORMAT
(wasn't returning string resource ID).
- Fixed mciseq when opened without a filename.
2004-01-08 00:42:02 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Dmitry Timoshkov 87af75269d Register window class on mciavi driver loading, and unregister it on
driver unloading.
2004-01-06 20:39:48 +00:00
Dmitry Timoshkov d81e04a8c0 Return correct resource id for time format strings. 2004-01-06 20:39:32 +00:00
Dmitry Timoshkov a938cbeb73 Accept all standard DIB compressions in the mciavi driver. 2004-01-05 23:07:27 +00:00
Dmitry Timoshkov 41b7218466 Decode stream number from AVI frame data and assign the data to
appropriate streams.
2004-01-05 21:13:58 +00:00
Christian Costa 092f7dd352 Fix compilation issue with ALSA 0.5. 2004-01-02 20:13:57 +00:00
Dmitry Timoshkov fbaab7d847 Remove a stray LeaveCriticalSection(). 2004-01-02 01:48:30 +00:00
Dmitry Timoshkov f41e047020 Much improved mciavi driver. Fixed synchronization, RIFF file with
many streams parsing, added support for some MCI_PUT and MCI_WHERE
cases.
2004-01-01 00:48:01 +00:00
Dmitry Timoshkov 91687f6aaf Use correct pointer to an internal driver description. 2004-01-01 00:07:14 +00:00
Dmitry Timoshkov 123ce73d6b Add MCI_SYSINFO command W to A mapping. 2004-01-01 00:07:01 +00:00
Dmitry Timoshkov 9741589bdf Fix many function prototypes and data types according to Platform SDK
definitions.
2003-12-31 23:49:45 +00:00
Dmitry Timoshkov be6d014f35 Add Unicode->ANSI MCI message mapping, implement mciSendCommandW, fix
a bug with a window creation belonging to another hInstance, add
support for MCI_WINDOW command in mciavi.drv, add support for MCI_PLAY
and MCI_STOP in the MCIWndClass implementation.
2003-12-31 19:00:03 +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
Steven Edwards 6bbba607c9 Porting fix for winmm resources (patch by Filip Navara). 2003-12-15 19:52:14 +00:00
Christian Costa 00bfb75485 Exported widMessage function. 2003-12-15 19:48:15 +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
Christian Costa 076000ce51 Added WaveIn support. 2003-12-11 04:27:18 +00:00
Eric Pouech ed37b7a8bb Move (again) usage of 16 bit specific functions (thunk lock) to 16 bit
code only.
2003-12-08 21:54:29 +00:00
Christian Costa 1469cf58f3 First enumerate all internal devices and then external midi ports. 2003-12-08 21:46:50 +00:00
Alexandre Julliard 628e27ad56 Define ALSA_PCM_OLD_* symbols for compatibility with Alsa 1.0. 2003-12-04 21:14:04 +00:00
Eric Pouech ce2d3ef77d Move usage of 16 bit specific functions (MapSL) in 16 bit code only. 2003-12-02 03:36:20 +00:00
Eric Pouech cd7328672e Move usage of 16 bit specific functions (MapSL) in 16 bit code only. 2003-12-01 22:38:19 +00:00