Commit Graph

198 Commits

Author SHA1 Message Date
Jörg Höhle 38f9ba0070 mmdevapi: Enforce limits on period and duration. 2011-12-19 20:15:43 +01:00
Jörg Höhle 7c5b90006c mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now. 2011-11-22 18:24:53 +01:00
Andrew Eikum 2da60016af winecoreaudio.drv: Make driver sample accurate. 2011-11-22 17:17:34 +01:00
Andrew Eikum ca18b8ffb3 winecoreaudio.drv: Fix latency calculation. 2011-11-22 17:17:32 +01:00
Francois Gouget 1c3617a2c6 winecoreaudio.drv: Don't unset Spare[0] when deleting static critical sections. 2011-11-15 19:37:35 +01:00
Francois Gouget cfce8ab459 winecoreaudio.drv: Give a name to the midi and mmdevapi critical sections. 2011-11-08 09:49:30 +01:00
Jörg Höhle 00684f84a5 mmdevapi: IsFormatSupported EXCLUSIVE mode never returns S_FALSE. 2011-10-28 12:49:44 +02:00
Jörg Höhle 41c6ffea44 winecoreaudio: Release buffer memory. 2011-10-28 12:47:43 +02:00
Ken Thomases 7eadf7bb9f winecoreaudio: Improved tracing. 2011-10-21 12:12:43 +02:00
Ken Thomases cf39023208 winecoreaudio: Avoid an extra copy/conversion of a string. 2011-10-21 12:12:36 +02:00
Ken Thomases 4bceee9e15 winecoreaudio: Fix a test for allocation failure (copy/paste error). 2011-10-21 12:12:29 +02:00
Ken Thomases 9162c3d32d winecoreaudio: Fix a leak. 2011-10-21 12:12:23 +02:00
Andrew Eikum ad009330f5 winecoreaudio.drv: Don't fail if setting volume fails.
Some audio input devices don't support setting the device volume, while
others do. So attempt to set the volume, but don't return an error code
if it fails.
2011-10-13 19:57:18 +02:00
Andrew Eikum 8410dd353c audio: Change winmm import to delayed import. 2011-10-05 14:13:31 -05:00
Andrew Eikum f7364dfb4b mmdevapi: Don't fail if dwChannelMask is not set correctly. 2011-09-28 21:04:33 +02:00
Andrew Eikum a773b16d79 winecoreaudio.drv: Remove wave, mixer, and dsound driver code. 2011-09-26 18:34:53 +02:00
Jörg Höhle 08dd823c7c mmdevapi: Use UINT32 for a number of frames and UINT64 to sum them. 2011-09-08 20:08:09 +02:00
Jörg Höhle 57cbb01f0c winecoreaudio: Fix AudioRenderClient Get/ReleaseBuffer protocol. 2011-09-07 18:13:29 +02:00
Jörg Höhle df201d3ef3 mmdevapi: Accept up to 8 channels. 2011-09-07 18:13:29 +02:00
Andrew Eikum c4b94b1ba4 mmdevapi: Automatically select the correct driver. 2011-09-01 18:06:37 +02:00
Jörg Höhle 541075c3db mmdevapi: After GetBuffer, refuse Reset, but Start/Stop is ok. 2011-08-24 11:52:06 +02:00
Andrew Eikum 80fd691e9e mmdevapi: Use a sane default if no buffer size is requested. 2011-07-18 18:31:06 +02:00
Andrew Eikum 05df7e0b94 winecoreaudio.drv: Make AudioSessionManager methods static. 2011-07-11 19:49:01 +02:00
Jacek Caban dbba09ca29 audiopolicy.idl: Fixed SetGroupingParam declaration. 2011-07-04 13:45:14 +02:00
Andrew Eikum 0085689f5d mmdevapi: Implement ISimpleAudioVolume::{Set, Get}Mute. 2011-06-20 19:31:57 +02:00
Andrew Eikum a93efd5346 mmdevapi: Fix refcounts in IAudioClient::GetService. 2011-06-20 19:31:39 +02:00
Andrew Eikum 096fb434eb winecoreaudio: Set AudioQueue volume, not AudioDevice volume.
We want to control the volume for each particular stream, not the entire
system-wide device.
2011-06-20 11:28:49 +02:00
Andrew Eikum 4b62257b14 winecoreaudio.drv: Initialize audio description flags. 2011-06-14 12:59:43 +02:00
Andrew Eikum bc10fd3ce6 mmdevapi: Sessions should be unique per-device. 2011-06-14 12:59:39 +02:00
Jörg Höhle fd2d6f3928 winecoreaudio: mmdevapi's mixer format is 32bit floating point. 2011-06-06 21:49:21 +02:00
Jörg Höhle 8337ffb727 winecoreaudio: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. 2011-06-06 21:49:21 +02:00
Andrew Eikum 38d80c7310 winecoreaudio.drv: Partially implement IAudioSessionManager2. 2011-06-06 21:49:19 +02:00
Andrew Eikum e8f3d4736a winecoreaudio.drv: Implement volume control interfaces. 2011-05-09 11:58:52 +02:00
Andrew Eikum b9a66b1bc3 winecoreaudio.drv: Store the PropertyScope in ACImpl. 2011-05-09 11:58:50 +02:00
Andrew Eikum 5f4081e1f2 winecoreaudio.drv: Move IAudioClock closer to its related interfaces. 2011-05-09 11:58:48 +02:00
Andrew Eikum 3025f7f505 winecoreaudio.drv: Implement IAudioSessionControl::GetState. 2011-05-02 18:48:20 +02:00
Andrew Eikum 4a37f2f093 mmdevapi: Initialize global driver data at DLL load time. 2011-05-02 18:48:20 +02:00
Ken Thomases 518675fbb5 winecoreaudio.drv: Link against ole32 for CoTaskMemAlloc/Free. 2011-04-28 11:11:21 +02:00
Andrew Eikum d4c0bedd95 winecoreaudio.drv: Properly allocate and free the WAVEFORMATEX returned by IsFormatSupported. 2011-04-27 17:49:57 +02:00
Andrew Eikum d2f7b628d9 winecoreaudio.drv: Add mmdevapi driver. 2011-04-25 19:38:19 +02:00
Jörg Höhle 75dbd1162e winmm: Audio drivers unconditionally invoke DriverCallback. 2011-04-11 17:32:29 +02:00
Alexandre Julliard 41d9d0a2f3 winecoreaudio.drv: Remove unnecessary ifdefs. 2011-03-28 22:15:12 +02:00
Jörg Höhle a74c29e081 winecoreaudio: Fix 64-bits incompatibilities. 2011-03-14 13:13:17 +01:00
Jörg Höhle 5021f6102b winecoreaudio: Ignore failure to notify winmm wave clients. 2011-03-14 13:12:56 +01:00
Jörg Höhle c0d6db3944 winecoreaudio: Do not access MIDIHDR past notification callback. 2011-03-14 13:12:16 +01:00
Charles Davis 8c6353ea7e winecoreaudio: Fix deprecation warnings in mixer.c. 2011-01-31 13:01:13 +01:00
Charles Davis 94d1e8ec7f winecoreaudio: Fix deprecation warnings in audio.c. 2011-01-31 13:01:13 +01:00
Charles Davis b149d7bc7b winecoreaudio: Fix deprecation warnings in audiounit.c. 2011-01-31 13:01:12 +01:00
Charles Davis 459d9427a8 winecoreaudio: Don't use Component Manager on Mac OS 10.6. 2011-01-31 13:01:12 +01:00
Jörg Höhle 2e54019391 winecoreaudio: OSStatus is not necessarily a FOURCC. 2010-11-15 15:03:49 +01:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Jörg Höhle 201c26530d winecoreaudio: Use same hard-coded limit on frequency as ALSA/OSS. 2010-08-16 12:59:32 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Michael Stefaniuc bf00cd3380 winecoreaudio.drv: Remove superfluous casts of zero. 2010-03-29 11:49:53 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Jörg Höhle 64b6287e83 winmm: Accept the ancient, smaller MIDIHDR. 2010-02-22 13:18:26 +01:00
Jörg Höhle 945588a302 winecoreaudio: Ignore failure to notify MIDI clients. 2010-02-05 13:14:45 +01:00
Jörg Höhle 9c8ce89bf0 winecoreaudio: MOD_MIDIPORT has 0 voices and notes and FFFF ChannelMask. 2010-02-03 15:49:32 +01:00
Jörg Höhle a758c6a981 winmm: The 64KB buffer limit on MIDIHDR buffers applies to streams only. 2010-02-03 15:49:09 +01:00
Jörg Höhle ffeef37be2 winecoreaudio: Fix a float cast in the computation of MIDI volume. 2010-02-02 11:47:20 +01:00
Austin English 7222e8b665 winecoreaudio.drv: Reorder includes to avoid OS X bug. 2010-01-19 15:03:55 +01:00
Henri Verbeet c369f33893 winecoreaudio.drv: Use wine_dbg_sprintf() in a few debug utility functions. 2009-11-30 12:49:50 +01:00
Ken Thomases 3d93a19266 winecoreaudio: Allow getting/setting volume on device as well as instances. 2009-10-23 12:02:27 +02:00
Ken Thomases fd596b9cb8 winecoreaudio: Fix incorrect casts from float to DWORD in wodGetVolume. 2009-10-20 14:00:35 +02:00
Jörg Höhle f6ac7696af winecoreaudio: Move ERR&WARN out of OSSpinLock sections. 2009-10-19 15:03:24 +02:00
Ken Thomases f639c4df54 winecoreaudio: Quiet a noisy FIXME. 2009-10-16 13:36:34 +02:00
Ken Thomases 2245c9b1f1 winecoreaudio: Minor grammar fix in comment. 2009-10-12 12:33:31 +02:00
Ken Thomases 687db1c680 winecoreaudio: Fix an error check (bad copy-paste). 2009-10-12 12:33:31 +02:00
Ken Thomases c67f4cd565 winecoreaudio: Fix declaration of CoreAudio_MIDIRelease to match definition. 2009-10-12 12:33:31 +02:00
Ken Thomases ef87a050c6 winecoreaudio: Allow opening multiple wave-out instances. 2009-10-12 12:33:30 +02:00
Ken Thomases 31ce96ff69 winecoreaudio: For WODM_* messages, treat dwUser as a driver instance handle. 2009-10-12 12:33:30 +02:00
Ken Thomases 2435919814 winecoreaudio: Make wodMessage signature match WINEMM_msgFunc32 typedef. 2009-10-12 12:33:30 +02:00
Ken Thomases 5d8177c23c winecoreaudio: Move instance-specific fields of WINE_WAVEOUT to sub-struct. 2009-10-12 12:33:29 +02:00
Ken Thomases b3ea0441c5 winecoreaudio: Remove some unused structure fields. 2009-10-12 12:33:29 +02:00
Ken Thomases e690d7c83b winecoreaudio: Add more debug logging. 2009-10-12 12:32:51 +02:00
Ken Thomases 1b5ca01aeb winecoreaudio: Consolidate formatting of FOURCC values in a function. 2009-10-12 12:19:02 +02:00
Jörg Höhle b16fc0e163 winecoreaudio: Accept up to 8 channels. 2009-10-05 15:01:33 +02:00
Jörg Höhle c5b2acfb04 winecoreaudio: Added WAVEFORMATEXTENSIBLE support, for PCM only. 2009-09-16 15:26:54 -05:00
Jörg Höhle e6770a4011 winecoreaudio: Enforce invariant about BlockAlign and nAvgBytesPerSec. 2009-09-16 15:26:43 -05:00
Jörg Höhle 89fe38ca9e winecoreaudio: Make supported format test more restrictive. 2009-09-16 15:26:28 -05:00
Ken Thomases 131a046302 winecoreaudio: Fix building on Snow Leopard. 2009-05-04 12:51:55 +02:00
Ken Thomases dff10db044 winecoreaudio: Avoid a race between closing and opening the waveIn device. 2009-04-13 17:33:24 -05:00
Ken Thomases 5c4ed3bcce winecoreaudio: For waveOut, don't use STOPPED state; it's redundant.
The distinction between PLAYING and STOPPED has always been whether
lpPlayPtr is NULL, so just use that instead of two states.
2009-04-13 17:33:17 -05:00
Ken Thomases 06d705e7df winecoreaudio: Avoid a race between closing and opening the waveOut device. 2009-04-13 17:32:59 -05:00
Ken Thomases 1f8d743c76 winecoreaudio: Avoid potential deadlock in wodOpen. 2009-04-13 17:32:50 -05:00
Ken Thomases ff0ff663c3 winecoreaudio: Eliminate some unnecessary code.
The WAVE_DIRECTSOUND bit of dwFlags isn't examined, so no point in correcting
it.
2009-04-13 17:32:35 -05:00
Ken Thomases ad1090c23c winecoreaudio: Fix a copy-paste accident ("In" vs. "Out"). 2009-02-24 16:57:27 +01:00
Ken Thomases 4cfa5b875c winecoreaudio.drv: Add support for waveOutBreakLoop/WODM_BREAKLOOP. 2009-02-06 13:04:37 +01:00
Rob Shearman a4644e5a87 winecoreaudio: Remove some unnecessary text conversions by using snprintfW instead of snprintf.
Change the remaining text conversions to use the Unix CP as the
strings come from system library functions.
2009-01-02 14:27:35 +01:00
Alexandre Julliard ab1040b35d winecoreaudio: Fix a redefinition warning. 2009-01-02 13:54:49 +01:00
Francois Gouget 0216e3e6c6 winecoreaudio.drv: Remove an unused debug channel (midi). 2008-12-29 11:35:37 +01:00
Christian Costa d700042f05 winecoreaudio.drv: Initialize correctly the header before adding it to the queue. 2008-12-22 14:14:52 +01:00
Andrew Talbot 1d5d237800 winecoreaudio.drv: Do nothing if HAVE_AUDIOUNIT_AUDIOUNIT_H is not defined. 2008-12-22 10:28:58 +01:00
Aric Stewart 686ea70c18 coreaudio: Make sure Port_SendToMessageThread is not NULL before calling CFMessagePortSendRequest.
Prevents crashing when closing audio device during playback.
2008-07-10 12:30:56 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Andrew Talbot 11f198df0b winecoreaudio.drv: Assign to structs instead of using memcpy. 2008-03-26 10:33:27 +01:00
Ken Thomases c885d05378 coreaudio: Signal driver load failure if any component fails to initialize. 2008-03-12 12:01:40 +01:00
Ken Thomases fa2d39e45f coreaudio: Standardize on DRV_SUCCESS/FAILURE status codes for setup functions. 2008-03-12 12:01:31 +01:00
Aric Stewart b5511ac6bf coreaudio: Set mDataByteSize of the buffer to the amount data provided. Greatly helps reduce audio corruption on buffer underflows. 2008-02-21 20:23:17 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00