From: Rémi Bernon rbernon@codeweavers.com
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@codeweavers.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com ---
v3: fix authorship
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 {