Commit Graph

888 Commits

Author SHA1 Message Date
Francois Gouget 57582b37b3 dsound: Make some DirectSoundDevice_*() functions static. 2015-01-20 11:12:04 +01:00
Francois Gouget dfaef5306f dsound: Reorder the interfaces to remove the need for forward declarations. 2015-01-20 11:12:01 +01:00
Francois Gouget 82c298ee6e dsound: Make DSOUND_FindSpeakerConfig() static. 2015-01-20 11:11:52 +01:00
Mark Harmstone d4d14cdef0 dsound: Pretend we have hardware buffers.
When running in Windows XP mode, XAudio2 will refuse to output surround sound
unless it can open a buffer with DSBCAPS_LOCHARDWARE.
2015-01-13 17:51:54 +01:00
Mark Harmstone b5aec2e40f dsound: Degrade speaker config if too many channels. 2015-01-13 17:51:38 +01:00
Mark Harmstone 77b2ab21f4 dsound: Support 5.1 sound. 2015-01-09 17:37:50 +01:00
Mark Harmstone 3ba100d81c dsound: Support quadraphonic sound. 2015-01-09 17:37:48 +01:00
Mark Harmstone 02f9edfd77 dsound: Do not use panning to set sound position. 2015-01-07 23:48:27 +01:00
Mark Harmstone c4e3079766 dsound: Parse speaker config. 2015-01-07 23:48:26 +01:00
Mark Harmstone 52345858d0 dsound: Get speaker config from mmdevice props.
Use PKEY_AudioEndpoint_PhysicalSpeakers to set the speaker config in dsound.
2015-01-05 16:27:55 +01:00
Mark Harmstone a48c7fe408 dsound: NOP on SetSpeakerConfig. 2015-01-05 16:27:34 +01:00
Marton Balint 6d009b988b dsound: Convert freqAdjust and freqAcc to integers.
Fixes resampling errors caused by truncating floating point numbers.
2014-12-29 22:20:30 +01:00
Mark Harmstone 25b13178de dsound: Use array for channel volumes. 2014-12-29 12:15:50 +01:00
Mark Harmstone b7a2f0879c dsound: Remove unused struct entries. 2014-12-29 12:14:56 +01:00
Andrew Eikum 29d1ccc7e2 dsound: Don't send notify events before played range. 2014-12-19 19:14:15 +01:00
Andrew Eikum ee126c96f1 dsound: Report buffer notifications in offset order. 2014-12-04 14:03:16 +01:00
Thomas Faber 78b96c8776 dsound: Do not call CoUninitialize if CoInitialize failed. 2014-07-28 17:21:38 -05:00
Nikolay Sivov d789495534 dsound/tests: Accept another error code. 2014-06-16 09:31:10 +02:00
Nikolay Sivov 8d178b185d dsound: Remove duplicated parameter check (Coverity). 2014-04-14 10:25:55 +02:00
Frédéric Delanoy 86e2f37ebc dsound/tests: Use wine_dbgstr_guid for printing GUIDs. 2014-02-12 19:15:20 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard d08ff3ff19 makefiles: Use a single variable for all types of idl files. 2013-12-31 18:15:17 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Andrew Eikum ace3c315b8 dsound: Don't change play position if IAudioClient methods fail. 2013-11-22 11:34:53 +01:00
Frédéric Delanoy c28d619286 dsound/tests: Use BOOL type where appropriate. 2013-11-13 11:23:17 +01:00
Alexandre Julliard c7803b885b makefiles: Add makedep pragmas for registration idl files. 2013-11-05 20:38:18 +01:00
Michael Stefaniuc 4dd5893ad7 dsound/tests: Compile with -D__WINESRC__. 2013-10-15 14:28:20 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Michael Stefaniuc 9463dba830 tests: Use the explicit LoadLibraryA function. 2013-10-02 11:02:21 +02:00
Andrew Eikum d5e648dc2f dsound: For capture, use MMDevAPI event API instead of timers. 2013-08-21 19:55:59 +02:00
Andrew Eikum dcaeb6b4fd dsound: Allow multiple buffers to capture from the same device. 2013-07-27 11:56:39 -05:00
Michael Stefaniuc a158d42c0f dsound/tests: Fix copy&paste error in ok() message. 2013-07-02 10:04:15 +02:00
Andrew Eikum 892068f96c dsound/tests: Fix test that fails on older Windows 2000. 2013-05-31 19:15:56 +02:00
Andrew Eikum e60e09e2d1 dsound: Copy SetFormat format more directly if we're not in PRIMARYWRITE mode. 2013-05-29 19:59:56 +02:00
Andrew Eikum 508b0c9c44 dsound: Don't overrun capture buffer. 2013-05-16 17:31:31 +02:00
Alexandre Julliard 5c8ffb795a dsound: Don't bother to delete critical sections at process exit. 2013-05-16 12:56:04 +02:00
Marcus Meissner 81ea726e64 dsound: Do not test undefined behaviour (Coverity). 2013-05-09 19:24:21 +02:00
Michael Stefaniuc 624bbd980f dsound/tests: Mark some capture status as broken. 2013-04-23 15:35:13 +02:00
Michael Stefaniuc 7f65281056 dsound/tests: Skip tests if there is no default device. 2013-04-22 12:39:56 +02:00
Michael Stefaniuc 621d9e444a Revert "dsound/tests: Primary and secondary buffers use the same IDirectSoundBuffer vtbl.".
This reverts commit 7959778d3f.
This is not always the case on Windows.
2013-02-19 10:39:07 +01:00
Andrew Talbot 7805ff3291 dsound: Avoid signed-unsigned integer comparisons. 2013-01-16 12:21:35 +01:00
Maarten Lankhorst f5abeb8471 dsound: Use a thread instead of a timer for greater precision. 2012-12-27 18:47:53 +01:00
Andrew Talbot b0e95d27a9 dsound: Indentation fix. 2012-12-17 11:47:38 +01:00
Andrew Eikum 81d601f56f dsound: Always fill wValidBitsPerSample. 2012-12-14 17:37:48 +01:00
Maarten Lankhorst 79084be3c1 dsound: Set dwChannelMask when limiting channels. 2012-11-27 16:58:09 +01:00
Maarten Lankhorst 605cd62c7d dsound: Create a primary_pwfx separately from pwfx. 2012-11-22 14:53:14 +01:00
Marcus Meissner 8107290279 dsound: HeapFree secondaries (Coverity). 2012-10-29 10:54:59 +01:00
Maarten Lankhorst 21c4501603 dsound: Fix IDirectSoundCaptureBuffer Start/Stop, with tests. 2012-10-19 16:52:05 +02:00
Detlef Riekenberg b23450e38e dsound/tests: Handle broken E_FAIL of broken AC97 driver. 2012-10-16 11:52:27 +02:00
Detlef Riekenberg 45c56bcc80 dsound/tests: Handle broken E_FAIL in dsound8 for AC97. 2012-10-16 11:52:21 +02:00
Andrew Eikum 8ba4090fc3 dsound: Don't exit early in mixer thread. 2012-10-10 20:34:10 +02:00
Marcus Meissner b78744ce31 dsound: Skip unknown sizes in tests (Coverity). 2012-10-03 16:35:00 +02:00
Michael Stefaniuc cea6329483 dsound: DirectSoundDevice_RemoveBuffer() cannot fail. 2012-09-26 10:58:48 +02:00
Michael Stefaniuc 4e06eead8f dsound: Don't bother shrinking the secondary buffer list. 2012-09-26 10:58:43 +02:00
Andrew Eikum b202b9f72d dsound: Don't require WAVE_FORMAT_EXTENSIBLE for non-16-bit formats.
Fix proposed by Andrew Nguyen.
2012-09-18 10:19:15 +02:00
Michael Stefaniuc 1545645484 dsound/tests: Avoid a crash on a Win2k box. 2012-09-18 10:17:45 +02:00
Michael Stefaniuc 34b7e83357 dsound: Improve the IDirectSoundCaptureBuffer::GetObjectInPath stub. 2012-09-18 10:17:35 +02:00
Michael Stefaniuc bee1573cb7 dsound: Get rid of an unused macro. 2012-09-14 15:41:36 +02:00
Michael Stefaniuc 1440b25267 dsound: Inline some of the IDirectSound helpers. 2012-09-06 15:45:31 +02:00
Michael Stefaniuc ebf33fff47 dsound: Move the capture structs declarations to the .c file. 2012-08-31 09:54:47 +02:00
Jacek Caban 3f353e0025 dsound: Use proper helpers for iface calls. 2012-08-27 19:46:07 +02:00
Michael Stefaniuc 1555aebf1e dsound: Cleanup IKsPrivatePropertySetImpl_Create(). 2012-08-24 10:25:58 +02:00
Francois Gouget e2c50d762c dsound: Make dumpCooperativeLevel() static. 2012-08-21 17:47:47 +02:00
Michael Stefaniuc b522dc66f7 dsound: Move the QI implementation from IDirectSoundFullDuplex to IUnknown. 2012-08-16 11:40:01 +02:00
Michael Stefaniuc 0d33e204d1 dsound: Aggregate IDirectSoundCapture8 instead of wrapping it. 2012-08-16 11:39:54 +02:00
Michael Stefaniuc 850b294efa dsound: Add COM aggregation to DirectSoundCapture for internal use. 2012-08-16 11:39:49 +02:00
Michael Stefaniuc ac3cd73ca2 dsound: Aggregate IDirectSound8 instead of wrapping it. 2012-08-16 11:39:43 +02:00
Michael Stefaniuc 9cb53818e8 dsound: Add COM aggregation to DirectSound for internal use. 2012-08-16 11:39:36 +02:00
Michael Stefaniuc bd4c67396b dsound: Merge IUnknown into the main DirectSoundFullDuplex object. 2012-08-16 11:39:26 +02:00
Michael Stefaniuc 6692f97e01 dsound: Add an object refcount for DirectSoundFullDuplex. 2012-08-16 11:39:14 +02:00
Michael Stefaniuc 023a19d931 dsound: Pass the object instead of ifaces to helpers. 2012-08-16 11:39:08 +02:00
Michael Stefaniuc 8588260eef dsound: COM cleanup for the IDirectSoundFullDuplex iface. 2012-08-16 11:39:01 +02:00
Michael Stefaniuc f6f8123c6b dsound: Cleanup error handling in IDirectSoundFullDuplex::Initialize(). 2012-08-16 11:38:52 +02:00
Michael Stefaniuc 885e205ade dsound: Cleanup the DirectSoundFullDuplex create functions. 2012-08-16 11:38:44 +02:00
Michael Stefaniuc 0aeaa83a22 dsound/tests: Add DirectSoundFullDuplex COM tests. 2012-08-16 11:38:36 +02:00
Michael Stefaniuc 598cc8f44a dsound/tests: Refcount tests for IDirectSoundCapture / IUnknown. 2012-08-16 11:38:23 +02:00
Michael Stefaniuc 9383affe87 dsound: IDirectSoundCapture / IUnknown use separate refcounts. 2012-08-16 11:38:17 +02:00
Michael Stefaniuc b8ffb4930f dsound: Merge the DirectSoundCapture create functions. 2012-08-16 11:38:08 +02:00
Michael Stefaniuc b18bc659d6 dsound: Avoid a TRUE:FALSE conditional expression. 2012-08-14 11:59:26 +02:00
Francois Gouget 4d24132ea4 dsound/tests: Trace the number of tested DirectSound drivers. 2012-08-13 11:52:10 +02:00
Francois Gouget ed7faad1ed dsound/tests: Clarify some skip() traces. 2012-08-13 11:52:00 +02:00
Michael Stefaniuc 4c7e608d5c dsound: Get rid of the DSOUND_QueryInterface() helper. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 9cc62d321c dsound: Handle IDirectSound by the IDirectSound8 implementation. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 6fecd3d642 dsound: Merge IDirectSound8 into the main DirectSound object. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc db5344e438 dsound: Drop a redundant 'IDirectSound8' from the method names. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc bf4481d3f0 dsound: Merge the DirectSound create functions. 2012-07-19 16:01:46 +02:00
Michael Stefaniuc 8978a4b51b dsound: Merge IUnknown into the main DirectSound object. 2012-07-19 16:01:45 +02:00
Michael Stefaniuc 478191c059 dsound: Cleanup IDirectSoundImpl_Create() and move it. 2012-07-19 16:01:45 +02:00
Michael Stefaniuc a565c0fadf dsound: Rename the DirectSound object refcount to "numIfaces". 2012-07-19 16:01:44 +02:00
Michael Stefaniuc 4992e6a515 dsound: Merge the two IUnknown/IDirectSound implementations for DirectSound. 2012-07-19 16:01:43 +02:00
Michael Stefaniuc e236a3c2d5 dsound/tests: Add IDirectSound refcount and COM aggregation tests. 2012-07-19 16:01:43 +02:00
Andrew Eikum bf263a347d dsound: Fail if app requests 3D buffer interface on a non-3D buffer. 2012-06-14 18:20:29 +02:00
Andrew Eikum 1cc9ecb558 dsound: Don't use IAudioClock::GetPosition to determine buffer fullness. 2012-05-16 18:30:18 +02:00
Andrew Eikum 98c653bc8b dsound: Resample to float, not device format. 2012-05-15 16:26:31 +02:00
Andrew Eikum 20356f7458 dsound: Compute mix buffer's size more accurately. 2012-05-15 11:18:07 +02:00
Andrew Eikum 5cce1d9da2 dsound: Get rid of redundant primary_mixpos member. 2012-05-15 11:17:53 +02:00
Andrew Eikum e0ccd9e399 dsound: Change mix_buffer to float instead of INT. 2012-05-15 11:17:46 +02:00
Andrew Eikum 8327e6f423 dsound: Ensure primary buffer's buffer is large enough to hold the entire prebuffer. 2012-05-14 19:58:54 +02:00
Andrew Eikum 7dce1418ff dsound: Base fragment size off of the MMDevice's period. 2012-05-14 19:58:41 +02:00