Huw Davies
b47487af99
dsound: Merge two identical allocation blocks.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 21:22:33 +01:00
Huw Davies
3076192e7d
dsound: Correctly update buflen.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 21:22:31 +01:00
Erich E. Hoover
b7118753f4
dsound: Clear the temporary mixing buffer after allocation.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-06 19:28:46 +01:00
Michael Müller
c8e0f58552
dsound: Respect return value of callback in DirectSoundEnumerateA/W.
...
Fixes a regression introduced in c8c6cc97bc
.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-16 16:54:36 +01:00
Andrew Eikum
0190c50a8c
dsound: Don't write more than three periods to IAudioClient.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-03 20:08:03 +01:00
Andrew Eikum
d961f5ac7e
dsound: Use the value from SetVolume when 3D processing is disabled.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-29 16:52:35 +01:00
Andrew Eikum
1671a83f55
dsound: Fix rolloff factor calculation.
...
We should treat the rolloff factor as a factor of the distance of the
buffer. For example, a rolloff factor of 2 should treat the buffer as if
it were twice as far away from the listener as it is.
The previous calculation would instead double the decibels of
attenuation.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-29 16:52:31 +01:00
Michael Stefaniuc
48b32c78d2
dsound: Avoid casts from COM object to interface.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 16:39:09 +01:00
Michael Müller
6fd36314d0
dsound: Pretend that the driver is certified.
...
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:33:05 +09:00
Andrew Eikum
b25e1aefc7
Revert "dsound: Allow inactive devices to change the primary format.".
...
This reverts commit 4fbe6f3e76
.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 23:08:37 +09:00
Nikolay Sivov
9567813ec4
dsound: Fix its vs it's typos.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:08:38 -05:00
Detlef Riekenberg
443130c4cf
dsound: Mark a multiplication factor as float.
...
Signed-off-by: Detlef Riekenberg <wine.dev@web.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:27:38 +09:00
Andrew Eikum
7300f1b75d
dsound: Capture all available data on each period callback.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-16 11:29:52 +09:00
Nikolay Sivov
d597ea8f03
dsound: Remove redundant null pointer check (Coverity).
...
IAudioClient instance could be expected to be valid at this point.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 22:18:14 +09:00
Andrew Eikum
1def346bab
dsound: Support downmixing quadraphonic to stereo.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:06 +09:00
Andrew Eikum
88dd3b4f6e
dsound: Support downmixing 5.1 to stereo.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:02 +09:00
Andrew Eikum
4fbe6f3e76
dsound: Allow inactive devices to change the primary format.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:41:53 +09:00
Maarten Lankhorst
db316c1243
dsound: Remove unconditional memory allocation in mixing thread.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:36:56 +09:00
Maarten Lankhorst
5b0914ece9
dsound: Remove state machine from render buffer.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:36:54 +09:00
Maarten Lankhorst
2fb97be187
dsound: Prevent reopening device from leaving dsound object in invalid state.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:36:52 +09:00
Maarten Lankhorst
0adf2af7ff
dsound: Fixup IDirectSoundCaptureBuffer_QueryInterface.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:51:43 +09:00
Maarten Lankhorst
a330b01143
dsound: Fixup DSOUND_WaveQueue checks.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:51:41 +09:00
Sebastian Lackner
65bab6a5fe
dsound: Get rid of no longer needed mix_buffer_len field.
...
This was missing in 09890d7142
.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 22:59:11 +09:00
Maarten Lankhorst
09890d7142
dsound: Mix float natively.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 14:39:52 +09:00
Maarten Lankhorst
95287ac2df
dsound: Use AudioClient for position.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 14:39:52 +09:00
Maarten Lankhorst
569ed159b0
dsound: Use AudioClient buffer statistics.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 14:39:52 +09:00
Andrew Eikum
f461610e6c
dsound: Handle default case in dsound3d mode switch (Coverity).
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:17:58 +09:00
Andrew Eikum
468477b694
dsound: Avoid NULL pointer dereference (Coverity).
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:17:55 +09:00
Michael Stefaniuc
bb72548f38
dsound: Use a better name for IDirectSoundBufferImpl_Create().
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:50:45 +01:00
Michael Stefaniuc
d51d55bab8
dsound: Simplify error handling when creating a sound buffer.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:50:42 +01:00
Michael Stefaniuc
0e5dcc2c84
dsound: Fail to create a version 8 3d buffer with DSBCAPS_CTRLPAN.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 19:50:29 +01:00
Michael Stefaniuc
e69d9ec3c4
dsound: A version 1 3d secondary buffer allows SetPan().
...
For version 8 DSBCAPS_CTRL3D and DSBCAPS_CTRLPAN are mutually exclusive
and a sound buffer cannot be created when both flags are set.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 23:45:17 +09:00
Michael Stefaniuc
25d23d4432
dsound/tests: Test Pan for 3D secondary buffers too.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 23:45:14 +09:00
Michael Stefaniuc
72d67a2d4e
dsound/tests: Version differences in flag handling for 3d buffers.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 23:45:10 +09:00
Francois Gouget
413c6f60cf
Assorted spelling fixes.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 12:59:52 +09:00
Andrew Eikum
ff25b25a49
dsound: Don't set very low limits on HW buffers.
2015-05-11 15:19:05 +09:00
Andrew Eikum
2edb4bf320
dsound: Apply rolloff factor to distance attenuation.
2015-04-29 12:23:46 +09:00
Andrew Eikum
582b54329d
dsound/tests: Don't perform ALAW test on secondary buffers.
...
win2k supports it, winxp gives one error, vista+ gives another. This
isn't interesting behavior to test.
2015-04-15 16:22:10 +09:00
Igor Kotrasinski
65e19a096d
dsound: Fix conning formula to correctly interpolate volume.
2015-04-14 16:51:25 +09:00
Andrew Eikum
a9a80b56b1
dsound: Stricter validation for formats in secondary buffers.
2015-04-14 16:50:15 +09:00
Stas Cymbalov
c1c108f58c
dsound: Fix angle to sound source calculation.
2015-04-06 23:29:19 +09:00
Alexandre Julliard
8427c7816d
dsound: Fix an error return code.
2015-03-27 11:33:50 +09:00
Aric Stewart
0aea30e44c
dsound: Do not wait on mixer thread exit on dsound release.
...
This fixes a loader deadlock if the dsound object is being released
during a dll unload.
2015-03-18 19:35:43 +09:00
Francois Gouget
359fbe829a
dsound: Remove unneeded NONAMELESSXXX directives.
2015-03-11 22:10:31 +09:00
Mark Harmstone
55ed98cb88
dsound: Pipe audio data through DMOs.
2015-03-11 13:18:08 +09:00
Mark Harmstone
862d7dae75
dsound: Implement GetObjectInPath.
2015-03-10 23:53:43 +09:00
Mark Harmstone
17056b9f30
dsound: Implement SetFX.
2015-03-10 23:53:40 +09:00
Mark Harmstone
e6ae73359f
dsound: Keep track of locked bytes.
2015-03-10 23:53:17 +09:00
Michael Stefaniuc
91e59d99f9
dsound: Avoid comparing BOOL variables with TRUE (PVS-Studio).
2015-03-09 22:06:45 +09:00
Mark Harmstone
b472e5574c
dsound/tests: Add GetObjectInPath tests.
2015-03-03 23:16:45 +09:00
Marcus Meissner
a83e8e88ea
dsound: If 3d sound is disabled, just return (Coverity).
2015-03-02 23:00:31 +09:00
Mark Harmstone
265ffd4368
dsound/tests: Add a test for SetFX.
2015-02-25 16:18:33 +09:00
Mark Harmstone
1c73ce1ee7
dsound: Fix 3D positioning bug with head-relative buffers.
2015-02-03 16:30:55 +09:00
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