From afd143228b6383d242888a8aeb90c8bedc584c0e Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Thu, 1 Oct 2020 14:31:17 -0500 Subject: [PATCH] audioclient.idl: Declare IAudioClient2. Signed-off-by: Andrew Eikum Signed-off-by: Alexandre Julliard --- 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.11.4.GIT