[PATCH 1/6] audioclient.idl: Declare IAudioClient2
Signed-off-by: Andrew Eikum <aeikum(a)codeweavers.com> --- I did not try building the winecoreaudio and wineandroid changes in this series. include/audioclient.idl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/include/audioclient.idl b/include/audioclient.idl index 0628444bef3..4759f3ef46f 100644 --- a/include/audioclient.idl +++ b/include/audioclient.idl @@ -111,6 +111,46 @@ interface IAudioClient : IUnknown ); } +typedef enum _AUDCLNT_STREAMOPTIONS +{ + AUDCLNT_STREAMOPTIONS_NONE = 0, + AUDCLNT_STREAMOPTIONS_RAW = 1, + AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 2, +} AUDCLNT_STREAMOPTIONS; + +typedef struct _AudioClientProperties +{ + UINT32 cbSize; + BOOL bIsOffload; + AUDIO_STREAM_CATEGORY eCategory; + AUDCLNT_STREAMOPTIONS Options; +} AudioClientProperties; + +[ + local, + pointer_default(unique), + uuid(726778cd-f60a-4eda-82de-e47610cd78aa), + object, +] +interface IAudioClient2 : IAudioClient +{ + HRESULT IsOffloadCapable( + AUDIO_STREAM_CATEGORY category, + [out] BOOL *offload_capable + ); + + HRESULT SetClientProperties( + [in] const AudioClientProperties *prop + ); + + HRESULT GetBufferSizeLimits( + [in] const WAVEFORMATEX *format, + BOOL event_driven, + [out] REFERENCE_TIME *min_duration, + [out] REFERENCE_TIME *max_duration + ); +} + [ local, pointer_default(unique), -- 2.28.0
participants (1)
-
Andrew Eikum