Commit Graph

726 Commits

Author SHA1 Message Date
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
Francois Gouget 20ab4b395f Change the ARTS_Init() error message from an ERR() to a WARN() since
it can happen in perfectly normal conditions.
2004-06-15 20:25:11 +00:00
Robert Reif a9d5f0829a Added tracing to all functions.
Added error explanations.
Changed debug channel from msacm to wavemap so not confused with
msacm.
2004-06-14 17:55:03 +00:00
Robert Reif 3aab82079e Removed 11 bit sample size capture test because at least 2
manufacturers sound cards on two different OSs seem to support this.
Added some invalid parameter checks to wave[In,Out]GetDevCaps.
One test is commented out because wine doesn't handle it properly.
Minor info printing cleanup.
2004-06-14 17:54:45 +00:00
Robert Reif 1e2dcc457e Reset played variables on open. 2004-06-14 16:59:34 +00:00
Mike McCormack 8b0b70ab50 Fix PlaySound. 2004-06-14 16:55:33 +00:00
Robert Reif 95bd820fe1 Don't try to map the mapper device. 2004-06-14 16:53:59 +00:00
Robert Reif 7bd78fe59a Treat WAVE_MAPPER as a real device and performs all tests on it.
Added 16000Hz because win9x hardware spec requires it.
2004-06-04 17:58:00 +00:00
Robert Reif a7e8f6f3a2 Handle case where partial structure update requested.
Minor white space cleanup.
2004-06-04 17:57:40 +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
Robert Reif e32f49381a Added a test to check playback position after done playing. 2004-06-01 20:20:54 +00:00
Robert Reif 0f939fc9b5 Returns proper error code when trying to get caps when no devices
present.
2004-06-01 20:19:30 +00:00
Robert Reif c75c2668f2 Fixed a bug where wrong a return value was returned when mapping is
not possible.
2004-06-01 19:41:18 +00:00
Robert Reif fd758586d1 Added some trace and debug printing. 2004-06-01 19:40:48 +00:00
Robert Reif 458cf0bd6d Added another possible windows failure mode. 2004-06-01 19:40:00 +00:00
Uwe Bonnes 0a5f393483 Fixed missing inversion in bit manipulation. 2004-05-27 20:12:51 +00:00
Robert Reif 41c6b5b5b9 Fixed a problem were a trace accesses a data member that may be
outside of the actual data structure passed in.
Added some more debug traces.
2004-05-27 20:05:08 +00:00
Robert Reif a6e8430a23 Added WAVE_MAPPED flag test.
Added 8000 Hz test as a typically supported format.
Added 12000 Hz test as a typically unsupported format.
Test error reporting better by testing unsupported formats.
Test using PCMWAVEFORMAT in place of WAVEFORMATEX.
2004-05-27 20:00:26 +00:00
Ivan Leo Puoti 3e42f6953e Changed my name, so update copyright info. 2004-05-27 02:25:13 +00:00
Robert Reif b0d62bb73f Fixed a bug I introduced in waveInGetDevCapsA(WAVE_MAPPER) test.
Moved format structure array to header file and restored
NB_WIN_FORMATS macro to calculate array size.
Added more error results and used macro as suggested by Andreas Mohr.
Cleaned up error result printing to be more consistent.
2004-05-21 20:53:45 +00:00
Francois Gouget c3b8ce939b Split off the winmm capture test. 2004-05-20 01:39:47 +00:00
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
Christian Costa 3640c36f8b Fix handling of the lpuDeviceID input param in MIDI_StreamOpen. 2003-11-26 03:39:13 +00:00
Eric Pouech 1bcbd54697 HeapReAlloc doesn't allocate memory. 2003-11-21 23:54:04 +00:00
Ivan Leo Murray-Smith e51000f44f Added Italian translation. 2003-11-17 19:59:13 +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
Christian Costa 2aba972aff Alsa midi fixes. 2003-11-12 22:40:59 +00:00
Robert Reif 56c449b9e6 Don't flag failed opens of unsupported formats as an error. 2003-11-11 21:56:21 +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
Eric Pouech b1a2d883fc Removed some more dependencies on wine 16-bit specific entities. 2003-11-09 01:19:58 +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 b4e9ef02c2 Clean up *GetDevCaps to check for valid pointer and only copy proper
amount of data.
2003-10-30 23:07:23 +00:00
Robert Reif be4281522d Added support for getting the wave device name. 2003-10-28 00:15:16 +00:00
Robert Reif f2133052b1 Fix SMPTE time.
Fix primary buffer volume setting.
2003-10-27 22:01:30 +00:00
Robert Reif 7d43722256 Only copy amount requested up to size of structure. 2003-10-27 22:01:01 +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
Robert Reif 80a7638006 Fix MMDRV_PhysicalFeatures to handle both 16 and 32 bit pointers
properly.
2003-10-22 03:04:07 +00:00
Robert Reif e14ae47c1d Only return the number of bytes requested. 2003-10-21 23:41:26 +00:00
Rolf Kalbermatter 76f13deb26 Use INVALID_FILE_ATTRIBUTES to test for failure of
GetFileAttributesA/W and not -1 or 0xFFFFFFFF.
2003-10-16 19:12:49 +00:00
Oleg Prokhorov cf8b84c19f Another portion of HeapReAlloc fixes. 2003-10-15 21:01:05 +00:00
Dimitrie O. Paun fc551563ff Merge win.ini/[mci extensions] into the registry. 2003-10-15 20:49:29 +00:00
Robert Reif 9d2e09851b Free should not happen when still playing. 2003-10-14 20:05:42 +00:00
Oleg Prokhorov 2f878e518b Small fix in sound flushing code. 2003-10-14 05:18:40 +00:00
Daniel Marmier 5202364a5b ALSA_WaveInit: repaired device name. 2003-10-14 01:17:16 +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
Steven Edwards c48c16471c Remove a few unneeded include statements in internal headers.
Started bringing setupapi in line with PSDK.
2003-10-07 22:51:09 +00:00