Commit Graph

215 Commits

Author SHA1 Message Date
Nikolay Sivov d05999217e wineoss: Properly initialize pollfd structure (Coverity). 2015-06-04 15:55:35 +09:00
Andrew Eikum 025e6650e4 wineoss.drv: Cap reported OSS fill level to expected level.
Some devices apparently return that the buffer contains an extra frame
that we never wrote. We should account for that to avoid an integer
underflow.
2015-04-06 23:23:43 +09:00
Andrew Eikum 932f392e08 wineoss.drv: Don't skip over position updates of less than one fragment. 2015-04-02 23:14:35 +09:00
Francois Gouget 0ca3c64e92 wineoss.drv: Remove an uneeded NONAMELESSUNION directive. 2015-03-27 00:12:27 +09:00
Andrew Eikum 50cdc6d7f3 wineoss.drv: Don't use SNDCTL_DSP_GETISPACE.
This shouldn't be needed as the device is opened in non-blocking mode,
and it appears this function is unimplemented on PCBSD.
2014-12-17 17:10:23 +01:00
Andrew Eikum d301254e72 mmdevapi: More accurately track device position. 2014-12-17 17:10:20 +01:00
André Hentschel d12e65af70 wineoss.drv: Remove unused string (Clang). 2014-12-04 14:03:21 +01:00
Andrew Eikum b950b9a835 mmdevapi: Don't stop sending event signals after IAudioClient::Stop. 2014-06-30 10:32:36 +02:00
Andrew Eikum d5b597fee5 mmdevapi: Standardize period sizes. 2014-06-30 10:32:08 +02:00
Marcus Meissner eddf841ab3 winealsa/wineoss/winecoreaudio: Calculate frequency in 64bit (Coverity). 2014-06-17 09:07:34 +02:00
Andrew Eikum 0e84a59d89 mmdevapi: Clock rate should be in bytes for shared mode. 2014-05-19 16:01:07 +02:00
Andrew Eikum b634666e13 mmdevapi: Make buffer size divisible by number of periods. 2014-05-19 16:01:03 +02:00
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Andrew Eikum a5975bb601 mmdevapi: Fill buffer with silence in IAudioRenderClient::GetBuffer. 2013-11-12 19:06:09 +01:00
Frédéric Delanoy 10f7f09d43 wineoss.drv: Use BOOL type where appropriate. 2013-10-09 10:08:37 +02:00
Jeff Klein 1582458d70 wineoss.drv: Implement IMarshal for IAudioClient. 2013-08-02 11:36:36 +02:00
André Hentschel b5bb995e5c wineoss.drv: Don't use autoheader styled define. 2013-06-17 13:34:40 +02:00
Alexandre Julliard 8d8d55e1b0 wineoss.drv: Don't bother to free memory at process exit. 2013-05-15 10:30:36 +02:00
Jörg Höhle b0fc000ce1 winmm: Prevent some MIDI race conditions. 2013-03-01 18:03:30 +01:00
Jörg Höhle 702fe6738b wineoss: Add midi MTC Quarter Frame support (on output). 2013-03-01 18:03:30 +01:00
Michael Stefaniuc f128551439 wineoss.drv: Use offsetof to calculate the size of a struct with variable length array. 2013-02-14 11:01:11 +01:00
Jörg Höhle b95910ccbc winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Andrew Eikum 6da3ce276b wineoss.drv: Set reasonable defaults if driver reports invalid values. 2013-01-28 19:43:32 +01:00
Jörg Höhle a39e423f6f mmdevapi: Avoid lock contention after SetEvent. 2012-12-20 18:06:53 +01:00
Jörg Höhle b18c5e811f mmdevapi: SetEventHandle is allowed only once. 2012-12-18 16:30:36 +01:00
Andrew Eikum dc0cef3d3b wineoss.drv: Improve IsFormatSupported handling. 2012-12-04 00:02:35 +01:00
Nikolay Sivov d96cd05efe wineoss: Fix variable types so pointer is not truncated on 64bit. 2012-08-21 11:46:07 +02:00
Andrew Eikum e5551393bd wineoss.drv: Resolve some diff between winealsa and wineoss. 2012-05-22 20:49:30 +02:00
Andrew Eikum 1c37857a18 wineoss.drv: Track number of frames reserved by client in capture direction. 2012-05-22 20:49:29 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Francois Gouget d76d88a74b wineoss.drv: Make get_ossdevice_from_guid() static. 2012-04-20 12:00:25 +02:00
Andrew Eikum 81ca5d09b6 wineoss.drv: Prefix device names with direction indication. 2012-04-05 11:56:08 +02:00
Andrew Eikum e87cb774d1 mmdevapi: Use device GUIDs as unique identifiers. 2012-04-04 17:25:25 +02:00
Andrew Eikum f63267db80 wineoss.drv: Use device GUIDs as keys. 2012-04-04 17:24:54 +02:00
Andrew Eikum 7437eb63fc wineoss.drv: Fix DeleteTimerQueueTimer usage. 2012-02-23 17:40:29 +01:00
Andrew Eikum 67617c78a5 wineoss.drv: Downgrade most ERRs to WARNs. 2012-02-07 14:02:49 -06:00
Andrew Eikum bb1ca58114 wineoss.drv: Don't call GETOSPACE immediately after device initialization. 2012-02-06 10:24:04 -06:00
Andrew Eikum 5860a5b386 mmdevapi: Correctly convert UINT32 to LONG32. 2012-01-30 20:44:50 +01:00
Andrew Eikum 6d3e784d57 wineoss.drv: Fix buffer offset calculation. 2012-01-25 20:39:48 +01:00
Andrew Eikum 2c628af7b2 wineoss.drv: Use GETODELAY instead of GETOSPACE to determine device position. 2012-01-25 20:39:48 +01:00
Andrew Eikum 92e835111b wineoss.drv: Decouple MMDevAPI buffer and OSS buffer. 2012-01-25 20:39:48 +01:00
Jörg Höhle 04cf4dc06f wineoss: Reset accounts for dropped frames in capture mode. 2012-01-13 18:17:32 +01:00
Jörg Höhle 999423d34e dsound: Vista/XP SP2 reworked the Speaker Configuration. 2012-01-13 18:17:31 +01:00
Andrew Eikum 139e31bc00 wineoss.drv: Fix IAudioRenderClient::{Get,Release}Buffer protocol. 2012-01-10 10:48:47 +01:00
Jörg Höhle fcc9b74cb2 mmdevapi: Round buffer size like native in shared mode. 2012-01-09 15:34:47 +01:00
Jörg Höhle 6d23816300 wineoss: GetStreamLatency is constant, SNDCTL_DSP_GETODELAY is dynamic. 2012-01-06 19:24:19 +01:00
Jörg Höhle acd8d60faa mmdevapi: GetDevicePeriod returns constants. 2012-01-06 19:24:17 +01:00
Jörg Höhle 8316a77959 mmdevapi: Avoid HeapRealloc when no data need be copied. 2012-01-06 19:24:17 +01:00
Jörg Höhle 38f9ba0070 mmdevapi: Enforce limits on period and duration. 2011-12-19 20:15:43 +01:00
Francois Gouget c7cb3e6cb2 configure: Use errno.h instead of the non-standard sys/errno.h header. 2011-12-15 17:46:38 +01:00
Andrew Eikum eed756c8dd wineoss.drv: Don't set volume in IAudioClient::Initialize. 2011-12-05 17:39:05 +01:00
Andrew Eikum 3cc871b0b0 wineoss.drv: Add period to latency calculation. 2011-12-01 19:49:11 +01:00
Andrew Eikum 65381d1c37 wineoss.drv: Remove volume setting support. 2011-12-01 19:49:06 +01:00
Jörg Höhle 7c5b90006c mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now. 2011-11-22 18:24:53 +01:00
Francois Gouget b6117b6869 wineoss.drv: Give a name to the mmdevapi critical sections, make them static and delete them when unloading the dll. 2011-11-15 19:37:35 +01:00
Jörg Höhle 00684f84a5 mmdevapi: IsFormatSupported EXCLUSIVE mode never returns S_FALSE. 2011-10-28 12:49:44 +02:00
Andrew Eikum 1ed42313a9 wineoss.drv: Only write as much data as will fit into the OSS buffer. 2011-10-12 17:06:55 +02:00
Andrew Eikum 8d133f54c2 wineoss.drv: Trim the sub-device part of the device path. 2011-10-11 13:37:49 +02:00
Andrew Eikum 8410dd353c audio: Change winmm import to delayed import. 2011-10-05 14:13:31 -05:00
Andrew Eikum fdda702acd wineoss.drv: Use a temporary OSS device to check format support. 2011-09-28 21:04:36 +02:00
Andrew Eikum f7364dfb4b mmdevapi: Don't fail if dwChannelMask is not set correctly. 2011-09-28 21:04:33 +02:00
Andrew Eikum a83bc10c78 wineoss.drv: Remove wave, mixer, and dsound driver code. 2011-09-26 18:34:20 +02:00
Jörg Höhle fabbebf94b wineoss: Simplify the test for 8bit linear PCM. 2011-09-26 18:09:19 +02:00
Jörg Höhle 8379680095 mmdevapi: Unlock buffer in case of ReleaseBuffer error. 2011-09-22 19:51:52 +02:00
Jörg Höhle 55efce6c9c wineoss: EAGAIN (OSS buffer full) is a regular situation. 2011-09-22 19:51:52 +02:00
Jörg Höhle 03ad9366f1 mmdevapi: Fix stuttering upon start and underrun. 2011-09-22 19:51:52 +02:00
Jörg Höhle 3e1d402881 mmdevapi: IsFormatSupported fills closest match iff it returns S_FALSE. 2011-09-09 14:24:08 +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 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 abf5b64f4c mmdevapi: Do not mix frames and bytes. 2011-08-30 17:10:40 +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
Jörg Höhle ea47c12ebe wineoss.drv: Fix AudioRenderClient write pointer calculation. 2011-08-22 16:14:34 +02:00
Marcus Meissner 2de37f0214 wineoss.drv: Print strerror of errno, not of -1 (Coverity). 2011-08-22 16:14:31 +02:00
Francois Gouget ed3c9a1eca Assorted spelling fixes. 2011-08-03 14:15:48 +02:00
Andrew Eikum e0f1aa0b05 wineoss.drv: Choose default device using a better method. 2011-07-27 19:42:42 +02:00
Andrew Eikum 80fd691e9e mmdevapi: Use a sane default if no buffer size is requested. 2011-07-18 18:31:06 +02:00
Francois Gouget a53e011021 wineoss.drv: Add a trailing '\n' to a TRACE() call. 2011-07-18 16:23:29 +02:00
Andrew Eikum 2174717fbd mmdevapi: Only enumerate devices that can be opened during initialization. 2011-07-14 14:39:46 +02:00
Francois Gouget 5e6d17384f wineoss.drv: Make the AudioSessionManager methods static. 2011-07-11 18:31:53 +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 bc10fd3ce6 mmdevapi: Sessions should be unique per-device. 2011-06-14 12:59:39 +02:00
Jörg Höhle f68a36c87b wineoss: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. 2011-06-06 21:49:21 +02:00
Andrew Eikum a63346aa40 wineoss.drv: Partially implement IAudioSessionManager2. 2011-06-06 21:49:18 +02:00
Marcus Meissner f8c8c13cc5 wineoss.drv: Mark internal symbols with hidden visibility. 2011-05-30 11:12:32 +02:00
Gerald Pfeifer be57450fee wineoss.drv: Cope with system which lack SNDCTL_DSP_HALT. 2011-05-20 10:35:27 +02:00
Gerald Pfeifer bed73e9e73 wineoss.drv: Support platforms that do not feature AFMT_FLOAT. 2011-05-09 12:08:20 +02:00
Gerald Pfeifer 051b64b66f wineoss.drv: Use AFMT_S24_LE instead of AFMT_S24_PACKED. 2011-05-09 12:07:57 +02:00
Andrew Eikum 733ed828be wineoss.drv: Implement volume control interfaces. 2011-05-09 11:58:46 +02:00
Andrew Eikum 836c5fa5bc wineoss.drv: Move IAudioClock closer to its related interfaces. 2011-05-09 11:58:44 +02:00
Alexandre Julliard 92e05ed981 wineoss: Get rid of %ll printf formats. 2011-05-02 21:03:15 +02:00
Alexandre Julliard f60a0f5e56 configure: Improve the detection of OSS v4. 2011-05-02 20:07:04 +02:00
Andrew Eikum 4a95e7b0c9 wineoss.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
Andrew Eikum be332326ba wineoss.drv: Add mmdevapi driver. 2011-04-27 17:47:05 +02:00
Austin English 17adb6c408 wineoss.drv: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:55 +02:00
Jörg Höhle 75dbd1162e winmm: Audio drivers unconditionally invoke DriverCallback. 2011-04-11 17:32:29 +02:00