Files
wine-staging/patches/sapi-ISpObjectToken-CreateInstance/0001-include-Add-ISpAudio-interface.patch
2021-09-17 14:17:46 +10:00

61 lines
2.1 KiB
Diff

From 51c747ba5e32109ed5d5b03e3bf5b67aecd8130c Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 15 Sep 2021 18:55:10 +1000
Subject: [PATCH 1/4] include: Add ISpAudio interface
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
include/sapi.idl | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/include/sapi.idl b/include/sapi.idl
index 5120e379450..b9bc05c5be4 100644
--- a/include/sapi.idl
+++ b/include/sapi.idl
@@ -492,6 +492,13 @@ typedef [hidden] enum SPFILEMODE
SPFM_NUM_MODES
} SPFILEMODE;
+typedef [restricted, hidden] struct SPAUDIOBUFFERINFO
+{
+ ULONG ulMsMinNotification;
+ ULONG ulMsBufferSize;
+ ULONG ulMsEventBias;
+} SPAUDIOBUFFERINFO;
+
cpp_quote("#if defined(__GNUC__)")
cpp_quote("#define SPCAT_AUDIOOUT (const WCHAR []){ 'H','K','E','Y','_','L','O','C','A','L','_','M','A','C','H','I','N','E','\\\\','S','O','F','T','W','A','R','E','\\\\','M','i','c','r','o','s','o','f','t','\\\\','S','p','e','e','c','h','\\\\','A','u','d','i','o','O','u','t','p','u','t',0 }")
@@ -993,6 +1000,28 @@ interface ISpStreamFormat : IStream
HRESULT GetFormat(GUID *format, WAVEFORMATEX **wave);
}
+[
+ object,
+ uuid(c05c768f-fae8-4ec2-8e07-338321c12452),
+ pointer_default(unique),
+ local,
+ restricted
+]
+interface ISpAudio : ISpStreamFormat
+{
+ HRESULT SetState([in] SPAUDIOSTATE state, [in] ULONGLONG reserved);
+ HRESULT SetFormat([in] REFGUID guid, [in] const WAVEFORMATEX *wave);
+ HRESULT GetStatus([out] SPAUDIOSTATUS *status);
+ HRESULT SetBufferInfo([in] const SPAUDIOBUFFERINFO *buffer);
+ HRESULT GetBufferInfo([out] SPAUDIOBUFFERINFO *buffer);
+ HRESULT GetDefaultFormat([out] GUID *guid, [out] WAVEFORMATEX **wave);
+ HANDLE EventHandle();
+ HRESULT GetVolumeLevel([out] ULONG *level);
+ HRESULT SetVolumeLevel([in] ULONG level);
+ HRESULT GetBufferNotifySize([out] ULONG *size);
+ HRESULT SetBufferNotifySize([in] ULONG size);
+};
+
[
object,
uuid(5b4fb971-b115-4de1-ad97-e482e3bf6ee4),
--
2.33.0