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
Andrew Eikum
7a23b9f0f8
xaudio2: Implement IXAudio27::Initialize.
2015-08-21 14:33:45 +09:00
Andrew Eikum
97536c1678
include: Upgrade interface definitions to XAudio2 2.8.
...
This updates IXAudio2, IXAudio2SourceVoice, and IXAudio2MasteringVoice
to version 2.8. New interfaces are created for breaking changes from
version 2.7. The implementation in dlls/xaudio2_7 is updated to match.
2015-06-17 18:19:51 +09:00
Andrew Eikum
4f88c63f78
xaudio2_7: Wrap long lines.
2015-06-17 15:45:26 +09:00
Andrew Eikum
bb26db7233
xaudio2_7: Simplify object creation.
2015-06-17 15:45:20 +09:00
Andrew Eikum
9a8faf23ad
xaudio2_7: Move object creation to avoid forward declaration.
2015-06-17 15:45:14 +09:00
Guillaume Charifi
cd906f08cd
xaudio2_7: Add XAudio2 class registration.
2015-06-11 19:28:12 +09:00