[PATCH v2] mmdevapi: Support new AUDCLNT_* creation flags.
Andrew Eikum
aeikum at codeweavers.com
Fri Jul 10 14:08:43 CDT 2020
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25173
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45700
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
dlls/winealsa.drv/mmdevdrv.c | 6 ++++--
dlls/wineandroid.drv/mmdevdrv.c | 6 ++++--
dlls/winecoreaudio.drv/mmdevdrv.c | 6 ++++--
dlls/wineoss.drv/mmdevdrv.c | 6 ++++--
dlls/winepulse.drv/mmdevdrv.c | 6 ++++--
include/audiosessiontypes.h | 2 ++
6 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index 09f98dc7b85..714d6ab9b16 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -1264,8 +1264,10 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
AUDCLNT_STREAMFLAGS_RATEADJUST |
AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED |
AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE |
- AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED)){
- TRACE("Unknown flags: %08x\n", flags);
+ AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED |
+ AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY |
+ AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM)){
+ FIXME("Unknown flags: %08x\n", flags);
return E_INVALIDARG;
}
diff --git a/dlls/wineandroid.drv/mmdevdrv.c b/dlls/wineandroid.drv/mmdevdrv.c
index b4d85642561..eac55f9e290 100644
--- a/dlls/wineandroid.drv/mmdevdrv.c
+++ b/dlls/wineandroid.drv/mmdevdrv.c
@@ -813,8 +813,10 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
AUDCLNT_STREAMFLAGS_RATEADJUST |
AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED |
AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE |
- AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED)){
- TRACE("Unknown flags: %08x\n", flags);
+ AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED |
+ AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY |
+ AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM)){
+ FIXME("Unknown flags: %08x\n", flags);
return E_INVALIDARG;
}
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c
index acfa01c3d62..860d33fa3ba 100644
--- a/dlls/winecoreaudio.drv/mmdevdrv.c
+++ b/dlls/winecoreaudio.drv/mmdevdrv.c
@@ -1323,8 +1323,10 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
AUDCLNT_STREAMFLAGS_RATEADJUST |
AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED |
AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE |
- AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED)){
- TRACE("Unknown flags: %08x\n", flags);
+ AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED |
+ AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY |
+ AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM)){
+ FIXME("Unknown flags: %08x\n", flags);
return E_INVALIDARG;
}
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c
index a08e7f561b5..0c97b85f3a9 100644
--- a/dlls/wineoss.drv/mmdevdrv.c
+++ b/dlls/wineoss.drv/mmdevdrv.c
@@ -1055,8 +1055,10 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
AUDCLNT_STREAMFLAGS_RATEADJUST |
AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED |
AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE |
- AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED)){
- TRACE("Unknown flags: %08x\n", flags);
+ AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED |
+ AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY |
+ AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM)){
+ FIXME("Unknown flags: %08x\n", flags);
return E_INVALIDARG;
}
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index 463d3d5a71a..23c34a50f66 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -1590,8 +1590,10 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
AUDCLNT_STREAMFLAGS_RATEADJUST |
AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED |
AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE |
- AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED)) {
- TRACE("Unknown flags: %08x\n", flags);
+ AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED |
+ AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY |
+ AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM)) {
+ FIXME("Unknown flags: %08x\n", flags);
return E_INVALIDARG;
}
diff --git a/include/audiosessiontypes.h b/include/audiosessiontypes.h
index 2f785743539..81c65265759 100644
--- a/include/audiosessiontypes.h
+++ b/include/audiosessiontypes.h
@@ -34,9 +34,11 @@ typedef enum _AUDCLNT_SHAREMODE
#define AUDCLNT_STREAMFLAGS_EVENTCALLBACK 0x00040000
#define AUDCLNT_STREAMFLAGS_NOPERSIST 0x00080000
#define AUDCLNT_STREAMFLAGS_RATEADJUST 0x00100000
+#define AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY 0x08000000
#define AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED 0x10000000
#define AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE 0x20000000
#define AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED 0x40000000
+#define AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM 0x80000000
typedef enum _AudioSessionState
{
--
2.27.0
More information about the wine-devel
mailing list