Alexandre Julliard : faudio: Import upstream release 22.02.
Alexandre Julliard
julliard at winehq.org
Mon Feb 7 15:56:05 CST 2022
Module: wine
Branch: master
Commit: 6446382c74ccafcf006bf86af17c12e9ef3467be
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6446382c74ccafcf006bf86af17c12e9ef3467be
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Feb 7 11:53:56 2022 +0100
faudio: Import upstream release 22.02.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
libs/faudio/include/FAudio.h | 2 +-
libs/faudio/src/FAudio_platform_win32.c | 16 +++++++++++++---
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/libs/faudio/include/FAudio.h b/libs/faudio/include/FAudio.h
index 28fa62c4fc5..eb3d5dea80b 100644
--- a/libs/faudio/include/FAudio.h
+++ b/libs/faudio/include/FAudio.h
@@ -485,7 +485,7 @@ extern FAudioGUID DATAFORMAT_SUBTYPE_IEEE_FLOAT;
#define FAUDIO_ABI_VERSION 0
#define FAUDIO_MAJOR_VERSION 22
-#define FAUDIO_MINOR_VERSION 1
+#define FAUDIO_MINOR_VERSION 2
#define FAUDIO_PATCH_VERSION 0
#define FAUDIO_COMPILED_VERSION ( \
diff --git a/libs/faudio/src/FAudio_platform_win32.c b/libs/faudio/src/FAudio_platform_win32.c
index 89101a6cf7a..9edb2b21bff 100644
--- a/libs/faudio/src/FAudio_platform_win32.c
+++ b/libs/faudio/src/FAudio_platform_win32.c
@@ -399,6 +399,12 @@ uint32_t FAudio_PlatformGetDeviceCount(void)
eConsole,
&device
);
+
+ if (hr == E_NOTFOUND) {
+ FAudio_PlatformRelease();
+ return 0;
+ }
+
FAudio_assert(!FAILED(hr) && "Failed to get default audio endpoint!");
IMMDevice_Release(device);
@@ -1191,8 +1197,8 @@ static void FAudio_INTERNAL_DecodeWMAMF(
uint32_t samples
) {
const FAudioWaveFormatExtensible *wfx = (FAudioWaveFormatExtensible *)voice->src.format;
+ size_t samples_pos, samples_size, copy_size = 0;
struct FAudioWMADEC *impl = voice->src.wmadec;
- size_t samples_pos, samples_size, copy_size;
HRESULT hr;
LOG_FUNC_ENTER(voice->audio)
@@ -1264,8 +1270,12 @@ static void FAudio_INTERNAL_DecodeWMAMF(
impl->input_size = 0;
}
- copy_size = FAudio_clamp(impl->output_pos - samples_pos, 0, samples_size);
- FAudio_memcpy(decodeCache, impl->output_buf + samples_pos, copy_size);
+ if (impl->output_pos > samples_pos)
+ {
+ copy_size = FAudio_min(impl->output_pos - samples_pos, samples_size);
+ FAudio_memcpy(decodeCache, impl->output_buf + samples_pos, copy_size);
+ }
+ FAudio_zero(decodeCache + copy_size, samples_size - copy_size);
LOG_INFO(
voice->audio,
"decoded %x / %x bytes, copied %x / %x bytes",
More information about the wine-cvs
mailing list