Commit Graph

64 Commits (4ad4c61100c06cbd9eb6587c543ceac94b932621)

Author SHA1 Message Date
Andrew Eikum 4ad4c61100 xaudio2: Explicitly version the 2.7 coclasses.
In versions 2.8 and later, no coclasses are provided by the API, so we
should version the old ones to make it clear they're out of date.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 16:05:02 +09:00
Nikolay Sivov f505f5fdeb xaudio2: Add another missing break for consistency.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-08 21:38:26 +09:00
Nikolay Sivov f9be2024da xaudio2: Added missing break in a switch (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:39 +01:00
André Hentschel 35eebeef0f xaudio2_7: Check return of IAudioClient_Start (Coverity).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 20:19:01 +01: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
Francois Gouget c9a040b510 xaudio2_7: Make some functions static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 12:58:05 +09:00
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