Andrew Eikum
d672ebfeb8
xaudio2_7: Update current buffer position after flushing buffers.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 11:53:58 +09:00
Andrew Eikum
23a0c7f677
xaudio2/tests: Fix memory leaks.
...
Spotted by Nikolay Sivov.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:51 +09:00
Andrew Eikum
daed36fbe3
xaudio2: Add stub interface for FXEQ.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:02 +09:00
Andrew Eikum
9da38fdbee
xaudio2_7: Move APO implementations to a new file.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:02 +09:00
Andrew Eikum
05111fd815
xaudio2_8: Implement CreateFX.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-26 23:03:32 +09:00
Andrew Eikum
539d7fb4e4
xaudio2: Implement CreateFX for legacy xaudio2 versions.
...
The various xapofx versions all use the same CLSID to identify the
same effect types. In order to differentiate the versions in Wine
without duplicating a ton of code into each xapofx DLL, I made new
internal CLSIDs for each version of xapofx, which xaudio2_7 registers
and uses to tell them apart.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-26 23:03:31 +09:00
Andrew Eikum
998e5a0432
xaudio2: Don't render less than a period of audio.
...
Sometimes the ALSA driver will report a very small amount of frames
available after a period signal. There is a bug in OpenAL 1.15 which
will crash the application if alcRenderSamplesSOFT is called with less
than 4 frames. And anyway, we shouldn't incur all of this overhead
just to render a couple of frames. So, just skip the rendering step if
we have less than a period of space available in the driver.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:47:26 +09:00
Andrew Eikum
61202a68b2
xaudio2: Explicitly trace the xaudio object version.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:40 +09:00
Andrew Eikum
3b9e089c63
xaudio2: Implement IXAudio28MasteringVoice::GetChannelMask.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:40 +09:00
Alexandre Julliard
d548639d97
xaudio2_7: Fix a typo.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 23:23:17 +09:00
Andrew Eikum
4185cc7a94
xaudio2_0: Add compatibility implementation and forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 12:53:49 +09:00
Andrew Eikum
c8f2d095b2
xaudio2: Register legacy AudioVolumeMeter CLSIDs.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-07 13:27:22 +09:00
Andrew Eikum
e9459b047a
xaudio2: Register legacy AudioReverb CLSIDs.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-07 13:27:22 +09:00
Andrew Eikum
831095ed93
xaudio2_2: Add compatibility implementation and forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 17:21:00 +09:00
Andrew Eikum
7d7b1176da
xaudio2_6: Forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 00:01:56 +09:00
Andrew Eikum
c4f49ac965
xaudio2_5: Forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 00:01:55 +09:00
Andrew Eikum
a7ae7b47e5
xaudio2_4: Forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 00:01:55 +09:00
Andrew Eikum
11cb83cf94
xaudio2_3: Add compatibility implementation and forward to xaudio2_7.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 00:01:55 +09:00
Andrew Eikum
3ecdbd2521
xaudio2_7: Move XAudio 2.7 implementation into compat.c.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-06 00:01:55 +09:00
Andrew Eikum
b0a9d16cfb
xaudio2: Implement IXAudio2SourceVoice::Discontinuity.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-01 16:30:14 +09:00
Andrew Eikum
8366165e40
xaudio2: Call OnStreamEnd callback.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-01 16:30:11 +09:00
Andrew Eikum
b28b4cc18d
xaudio2: Implement IXAudio2MasteringVoice::GetVoiceDetails.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-10-01 16:30:06 +09:00
Sebastian Lackner
9bb215979c
xaudio2_7/tests: Remove duplicate call to test_DeviceDetails.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-09-25 22:19:48 +02:00
Andrew Eikum
eae93c1f41
xaudio2: Implement IXAudio2SourceVoice frequency functions.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-09-25 22:19:47 +02:00
Andrew Eikum
80be4dad87
xaudio2: Don't report mid-buffer positions.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-09-25 21:04:26 +02:00
Andrew Eikum
2decbcc05f
xaudio2: Fix mmdevapi buffer size calculation.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2015-09-25 21:04:24 +02:00
Andrew Eikum
c28bfbc5b2
xaudio2: Support looping buffers.
...
Also shorten up the test runtime.
2015-09-14 16:19:49 +09:00
Andrew Eikum
031af2ca9a
xaudio2: Quiet down some noisy stubs.
2015-09-14 16:19:41 +09:00
Andrew Eikum
4c8ed8d104
xaudio2: Don't keep running after master voice is destroyed.
2015-09-14 16:19:37 +09:00
Andrew Eikum
b3cb1e4d40
xaudio2: Add stub for AudioReverb class.
2015-09-09 17:52:14 +09:00
Andrew Eikum
395dc0f22c
xaudio2: Add stub implementation of AudioVolumeMeter.
2015-09-09 17:51:42 +09:00
Francois Gouget
257795a757
xaudio2_7: Remove an unused NONAMELESSSTRUCT directive.
2015-08-29 14:27:04 +09:00
Francois Gouget
aa6e0ebde5
xaudio2_7: Make some functions static.
2015-08-29 14:27:02 +09:00
Andrew Eikum
6abe9f0920
xaudio2/tests: Add callback tests.
2015-08-29 14:26:55 +09:00
Andrew Eikum
5423b2353b
xaudio2: Add a simple audio streaming test.
2015-08-29 14:26:51 +09:00
Andrew Eikum
66a58ad52a
xaudio2: Implement IXAudio2SourceVoice::FlushSourceBuffers.
2015-08-29 14:26:43 +09:00
Andrew Eikum
cb38242821
xaudio2: Implement IXAudio2SourceVoice::SetVolume.
2015-08-29 14:26:41 +09:00
Andrew Eikum
d2ae105401
xaudio2: Implement IXAudio2SourceVoice::GetState.
2015-08-28 13:14:40 +09:00
Andrew Eikum
e43ca169ee
xaudio2: Implement IXAudio2SourceVoice::SubmitSourceBuffer.
2015-08-28 13:14:38 +09:00
Andrew Eikum
a4fd0a7080
xaudio2: Implement the audio mixing thread.
2015-08-28 13:14:36 +09:00
Andrew Eikum
997843700a
xaudio2: Fix return value for RegisterForCallbacks.
2015-08-28 13:14:27 +09:00
Andrew Eikum
7f2ebb337d
xaudio2: Implement IXAudio2::RegisterForCallbacks.
2015-08-26 23:53:21 +09:00
Andrew Eikum
a79f050355
xaudio2: Zero the returned struct GetPerformanceData.
...
Some applications use this for debug logging. Better to return zero than
uninitialized data.
2015-08-26 23:53:21 +09:00
Andrew Eikum
8a317d89cf
xaudio2: Implement IXAudio2SourceVoice::Play.
2015-08-26 23:53:21 +09:00
Andrew Eikum
1c643f39e2
xaudio2: Implement device activation.
...
This adds a build-time dependency on openal, and a run-time dependency
on openal-soft's ALC_SOFT_loopback extension.
2015-08-26 23:53:21 +09:00
Andrew Eikum
8bf4f9068c
xaudio2: Implement IXAudio2SourceVoice::SetOutputVoices.
2015-08-24 14:43:43 +09:00
Andrew Eikum
cc22fdaf4e
xaudio2: Implement IXAudio2::GetDeviceDetails.
2015-08-24 14:43:40 +09:00
Andrew Eikum
8027a5268e
xaudio2: Stub IXAudio2SubmixVoice.
2015-08-24 14:43:24 +09:00
Andrew Eikum
63f3a70d56
xaudio2: Stub IXAudio2SourceVoice.
2015-08-21 14:34:07 +09:00
Andrew Eikum
51bd01aec8
xaudio2: Add stub IXAudio2MasteringVoice implementation.
2015-08-21 14:33:59 +09:00