#[cfg_attr(windows, link(name = "windows"))] extern "cdecl" { #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub fn CreateFX(clsid: *const ::windows_sys::core::GUID, peffect: *mut ::windows_sys::core::IUnknown, pinitdat: *const ::core::ffi::c_void, initdatabytesize: u32) -> ::windows_sys::core::HRESULT; } #[cfg_attr(windows, link(name = "windows"))] extern "system" { #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub fn CreateAudioReverb(ppapo: *mut ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub fn CreateAudioVolumeMeter(ppapo: *mut ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub fn CreateHrtfApo(init: *const HrtfApoInit, xapo: *mut IXAPO) -> ::windows_sys::core::HRESULT; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub fn XAudio2CreateWithVersionInfo(ppxaudio2: *mut IXAudio2, flags: u32, xaudio2processor: u32, ntddiversion: u32) -> ::windows_sys::core::HRESULT; } pub type IXAPO = *mut ::core::ffi::c_void; pub type IXAPOHrtfParameters = *mut ::core::ffi::c_void; pub type IXAPOParameters = *mut ::core::ffi::c_void; pub type IXAudio2 = *mut ::core::ffi::c_void; pub type IXAudio2EngineCallback = *mut ::core::ffi::c_void; pub type IXAudio2Extension = *mut ::core::ffi::c_void; pub type IXAudio2MasteringVoice = *mut ::core::ffi::c_void; pub type IXAudio2SourceVoice = *mut ::core::ffi::c_void; pub type IXAudio2SubmixVoice = *mut ::core::ffi::c_void; pub type IXAudio2Voice = *mut ::core::ffi::c_void; pub type IXAudio2VoiceCallback = *mut ::core::ffi::c_void; pub const AudioReverb: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3261283094, data2: 18203, data3: 17560, data4: [184, 197, 79, 9, 89, 226, 236, 9] }; pub const AudioVolumeMeter: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1338224998, data2: 38698, data3: 16591, data4: [188, 55, 125, 176, 61, 178, 251, 163] }; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FACILITY_XAPO: u32 = 2199u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FACILITY_XAUDIO2: u32 = 2198u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_DEFAULT_DELAY: f32 = 500f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_DEFAULT_FEEDBACK: f32 = 0.5f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_DEFAULT_WETDRYMIX: f32 = 0.5f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MAX_DELAY: f32 = 2000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MAX_FEEDBACK: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MAX_WETDRYMIX: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MIN_DELAY: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MIN_FEEDBACK: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXECHO_MIN_WETDRYMIX: f32 = 0f32; pub const FXEQ: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4125102359, data2: 54980, data3: 18522, data4: [163, 245, 105, 81, 150, 243, 219, 250] }; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_BANDWIDTH: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_FREQUENCY_CENTER_0: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_FREQUENCY_CENTER_1: f32 = 800f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_FREQUENCY_CENTER_2: f32 = 2000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_FREQUENCY_CENTER_3: f32 = 10000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_DEFAULT_GAIN: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MAX_BANDWIDTH: f32 = 2f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MAX_FRAMERATE: u32 = 48000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MAX_FREQUENCY_CENTER: f32 = 20000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MAX_GAIN: f32 = 7.94f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MIN_BANDWIDTH: f32 = 0.1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MIN_FRAMERATE: u32 = 22000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MIN_FREQUENCY_CENTER: f32 = 20f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXEQ_MIN_GAIN: f32 = 0.126f32; pub const FXEcho: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1345967936, data2: 63286, data3: 17562, data4: [132, 211, 165, 98, 2, 85, 123, 135] }; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXLOUDNESS_DEFAULT_MOMENTARY_MS: u32 = 400u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXLOUDNESS_DEFAULT_SHORTTERM_MS: u32 = 3000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_DEFAULT_LOUDNESS: u32 = 1000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_DEFAULT_RELEASE: u32 = 6u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_MAX_LOUDNESS: u32 = 1800u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_MAX_RELEASE: u32 = 20u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_MIN_LOUDNESS: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXMASTERINGLIMITER_MIN_RELEASE: u32 = 1u32; pub const FXMasteringLimiter: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3289610518, data2: 11233, data3: 18173, data4: [133, 153, 68, 21, 54, 244, 152, 86] }; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_DEFAULT_DIFFUSION: f32 = 0.9f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_DEFAULT_ROOMSIZE: f32 = 0.6f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_MAX_DIFFUSION: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_MAX_ROOMSIZE: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_MIN_DIFFUSION: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const FXREVERB_MIN_ROOMSIZE: f32 = 0.0001f32; pub const FXReverb: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2107296342, data2: 52072, data3: 18439, data4: [182, 50, 177, 55, 53, 46, 133, 150] }; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HRTF_DEFAULT_UNITY_GAIN_DISTANCE: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HRTF_MAX_GAIN_LIMIT: f32 = 12f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HRTF_MIN_GAIN_LIMIT: f32 = -96f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HRTF_MIN_UNITY_GAIN_DISTANCE: f32 = 0.05f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor1: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor10: u32 = 512u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor11: u32 = 1024u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor12: u32 = 2048u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor13: u32 = 4096u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor14: u32 = 8192u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor15: u32 = 16384u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor16: u32 = 32768u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor17: u32 = 65536u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor18: u32 = 131072u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor19: u32 = 262144u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor2: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor20: u32 = 524288u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor21: u32 = 1048576u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor22: u32 = 2097152u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor23: u32 = 4194304u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor24: u32 = 8388608u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor25: u32 = 16777216u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor26: u32 = 33554432u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor27: u32 = 67108864u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor28: u32 = 134217728u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor29: u32 = 268435456u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor3: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor30: u32 = 536870912u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor31: u32 = 1073741824u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor32: u32 = 2147483648u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor4: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor5: u32 = 16u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor6: u32 = 32u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor7: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor8: u32 = 128u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Processor9: u32 = 256u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const SPEAKER_MONO: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_2PI: f32 = 6.2831855f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_DELAY: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_DOPPLER: u32 = 32u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_EMITTER_ANGLE: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_LPF_DIRECT: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_LPF_REVERB: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_MATRIX: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_REDIRECT_TO_LFE: u32 = 131072u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_REVERB: u32 = 16u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_CALCULATE_ZEROCENTER: u32 = 65536u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_HANDLE_BYTESIZE: u32 = 20u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_PI: f32 = 3.1415927f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const X3DAUDIO_SPEED_OF_SOUND: f32 = 343.5f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_E_FORMAT_UNSUPPORTED: ::windows_sys::core::HRESULT = -2003369983i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_BUFFERCOUNT_MUST_MATCH: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_CHANNELS_MUST_MATCH: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_FRAMERATE_MUST_MATCH: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_INPLACE_REQUIRED: u32 = 32u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_FLAG_INPLACE_SUPPORTED: u32 = 16u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_MAX_CHANNELS: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_MAX_FRAMERATE: u32 = 200000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_MIN_CHANNELS: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_MIN_FRAMERATE: u32 = 1000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_REGISTRATION_STRING_LENGTH: u32 = 256u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2D_DLL: &str = "xaudio2_9d.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2D_DLL_A: &str = "xaudio2_9d.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2D_DLL_W: &str = "xaudio2_9d.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_7POINT1_REAR_DELAY: u32 = 20u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_7POINT1_SIDE_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_DECAY_TIME: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_DENSITY: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_DISABLE_LATE_FIELD: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_EARLY_DIFFUSION: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_CUTOFF: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_HIGH_EQ_GAIN: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_LATE_DIFFUSION: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_CUTOFF: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_LOW_EQ_GAIN: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_POSITION: u32 = 6u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_POSITION_MATRIX: u32 = 27u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_REAR_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_REFLECTIONS_GAIN: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_REVERB_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_REVERB_GAIN: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_FREQ: f32 = 5000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_HF: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_FILTER_MAIN: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_ROOM_SIZE: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_DEFAULT_WET_DRY_MIX: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_7POINT1_REAR_DELAY: u32 = 20u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_7POINT1_SIDE_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_DENSITY: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_DIFFUSION: u32 = 15u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_FRAMERATE: u32 = 48000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_HIGH_EQ_CUTOFF: u32 = 14u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_HIGH_EQ_GAIN: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_LOW_EQ_CUTOFF: u32 = 9u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_LOW_EQ_GAIN: u32 = 12u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_POSITION: u32 = 30u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_REAR_DELAY: u32 = 5u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_REFLECTIONS_DELAY: u32 = 300u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_REFLECTIONS_GAIN: f32 = 20f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_REVERB_DELAY: u32 = 85u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_REVERB_GAIN: f32 = 20f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_FREQ: f32 = 20000f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_HF: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_ROOM_FILTER_MAIN: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_ROOM_SIZE: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MAX_WET_DRY_MIX: f32 = 100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_7POINT1_REAR_DELAY: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_7POINT1_SIDE_DELAY: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_DECAY_TIME: f32 = 0.1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_DENSITY: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_DIFFUSION: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_FRAMERATE: u32 = 20000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_HIGH_EQ_CUTOFF: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_HIGH_EQ_GAIN: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_LOW_EQ_CUTOFF: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_LOW_EQ_GAIN: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_POSITION: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_REAR_DELAY: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_REFLECTIONS_DELAY: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_REFLECTIONS_GAIN: f32 = -100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_REVERB_DELAY: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_REVERB_GAIN: f32 = -100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_FREQ: f32 = 20f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_HF: f32 = -100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_ROOM_FILTER_MAIN: f32 = -100f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_ROOM_SIZE: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2FX_REVERB_MIN_WET_DRY_MIX: f32 = 0f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_1024_QUANTUM: u32 = 32768u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_ANY_PROCESSOR: u32 = 4294967295u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_COMMIT_ALL: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_COMMIT_NOW: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEBUG_ENGINE: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_CHANNELS: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_FILTER_FREQUENCY: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_FILTER_ONEOVERQ: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_FREQ_RATIO: f32 = 2f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_PROCESSOR: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DEFAULT_SAMPLERATE: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DLL: &str = "xaudio2_9.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DLL_A: &str = "xaudio2_9.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_DLL_W: &str = "xaudio2_9.dll"; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_END_OF_STREAM: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_E_DEVICE_INVALIDATED: ::windows_sys::core::HRESULT = -2003435516i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_E_INVALID_CALL: ::windows_sys::core::HRESULT = -2003435519i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_E_XAPO_CREATION_FAILED: ::windows_sys::core::HRESULT = -2003435517i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_E_XMA_DECODER_ERROR: ::windows_sys::core::HRESULT = -2003435518i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_API_CALLS: u32 = 16u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_DETAIL: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_ERRORS: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_FUNC_CALLS: u32 = 32u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_INFO: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_LOCKS: u32 = 128u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_MEMORY: u32 = 256u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_STREAMING: u32 = 4096u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_TIMING: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOG_WARNINGS: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_LOOP_INFINITE: u32 = 255u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_AUDIO_CHANNELS: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_BUFFERS_SYSTEM: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_BUFFER_BYTES: u32 = 2147483648u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_FILTER_FREQUENCY: f32 = 1f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_FILTER_ONEOVERQ: f32 = 1.5f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_FREQ_RATIO: f32 = 1024f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_INSTANCES: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_LOOP_COUNT: u32 = 254u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_QUEUED_BUFFERS: u32 = 64u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO: u32 = 600000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL: u32 = 300000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_SAMPLE_RATE: u32 = 200000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MAX_VOLUME_LEVEL: f32 = 16777216f32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_MIN_SAMPLE_RATE: u32 = 1000u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_NO_LOOP_REGION: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT: u32 = 65536u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_PLAY_TAILS: u32 = 32u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_QUANTUM_DENOMINATOR: u32 = 100u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_QUANTUM_NUMERATOR: u32 = 1u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_SEND_USEFILTER: u32 = 128u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_STOP_ENGINE_WHEN_IDLE: u32 = 8192u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_USE_DEFAULT_PROCESSOR: u32 = 0u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_VOICE_NOPITCH: u32 = 2u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_VOICE_NOSAMPLESPLAYED: u32 = 256u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_VOICE_NOSRC: u32 = 4u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAUDIO2_VOICE_USEFILTER: u32 = 8u32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub type HrtfDirectivityType = i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const OmniDirectional: HrtfDirectivityType = 0i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Cardioid: HrtfDirectivityType = 1i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Cone: HrtfDirectivityType = 2i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub type HrtfDistanceDecayType = i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const NaturalDecay: HrtfDistanceDecayType = 0i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const CustomDecay: HrtfDistanceDecayType = 1i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub type HrtfEnvironment = i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Small: HrtfEnvironment = 0i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Medium: HrtfEnvironment = 1i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Large: HrtfEnvironment = 2i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const Outdoors: HrtfEnvironment = 3i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub type XAPO_BUFFER_FLAGS = i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_BUFFER_SILENT: XAPO_BUFFER_FLAGS = 0i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const XAPO_BUFFER_VALID: XAPO_BUFFER_FLAGS = 1i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub type XAUDIO2_FILTER_TYPE = i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const LowPassFilter: XAUDIO2_FILTER_TYPE = 0i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const BandPassFilter: XAUDIO2_FILTER_TYPE = 1i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HighPassFilter: XAUDIO2_FILTER_TYPE = 2i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const NotchFilter: XAUDIO2_FILTER_TYPE = 3i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const LowPassOnePoleFilter: XAUDIO2_FILTER_TYPE = 4i32; #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub const HighPassOnePoleFilter: XAUDIO2_FILTER_TYPE = 5i32; #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct FXECHO_INITDATA { pub MaxDelay: f32, } impl ::core::marker::Copy for FXECHO_INITDATA {} impl ::core::clone::Clone for FXECHO_INITDATA { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct FXECHO_PARAMETERS { pub WetDryMix: f32, pub Feedback: f32, pub Delay: f32, } impl ::core::marker::Copy for FXECHO_PARAMETERS {} impl ::core::clone::Clone for FXECHO_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct FXEQ_PARAMETERS { pub FrequencyCenter0: f32, pub Gain0: f32, pub Bandwidth0: f32, pub FrequencyCenter1: f32, pub Gain1: f32, pub Bandwidth1: f32, pub FrequencyCenter2: f32, pub Gain2: f32, pub Bandwidth2: f32, pub FrequencyCenter3: f32, pub Gain3: f32, pub Bandwidth3: f32, } impl ::core::marker::Copy for FXEQ_PARAMETERS {} impl ::core::clone::Clone for FXEQ_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct FXMASTERINGLIMITER_PARAMETERS { pub Release: u32, pub Loudness: u32, } impl ::core::marker::Copy for FXMASTERINGLIMITER_PARAMETERS {} impl ::core::clone::Clone for FXMASTERINGLIMITER_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct FXREVERB_PARAMETERS { pub Diffusion: f32, pub RoomSize: f32, } impl ::core::marker::Copy for FXREVERB_PARAMETERS {} impl ::core::clone::Clone for FXREVERB_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfApoInit { pub distanceDecay: *mut HrtfDistanceDecay, pub directivity: *mut HrtfDirectivity, } impl ::core::marker::Copy for HrtfApoInit {} impl ::core::clone::Clone for HrtfApoInit { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfDirectivity { pub r#type: HrtfDirectivityType, pub scaling: f32, } impl ::core::marker::Copy for HrtfDirectivity {} impl ::core::clone::Clone for HrtfDirectivity { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfDirectivityCardioid { pub directivity: HrtfDirectivity, pub order: f32, } impl ::core::marker::Copy for HrtfDirectivityCardioid {} impl ::core::clone::Clone for HrtfDirectivityCardioid { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfDirectivityCone { pub directivity: HrtfDirectivity, pub innerAngle: f32, pub outerAngle: f32, } impl ::core::marker::Copy for HrtfDirectivityCone {} impl ::core::clone::Clone for HrtfDirectivityCone { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfDistanceDecay { pub r#type: HrtfDistanceDecayType, pub maxGain: f32, pub minGain: f32, pub unityGainDistance: f32, pub cutoffDistance: f32, } impl ::core::marker::Copy for HrtfDistanceDecay {} impl ::core::clone::Clone for HrtfDistanceDecay { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfOrientation { pub element: [f32; 9], } impl ::core::marker::Copy for HrtfOrientation {} impl ::core::clone::Clone for HrtfOrientation { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct HrtfPosition { pub x: f32, pub y: f32, pub z: f32, } impl ::core::marker::Copy for HrtfPosition {} impl ::core::clone::Clone for HrtfPosition { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAPO_LOCKFORPROCESS_PARAMETERS { pub pFormat: *const super::WAVEFORMATEX, pub MaxFrameCount: u32, } impl ::core::marker::Copy for XAPO_LOCKFORPROCESS_PARAMETERS {} impl ::core::clone::Clone for XAPO_LOCKFORPROCESS_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAPO_PROCESS_BUFFER_PARAMETERS { pub pBuffer: *mut ::core::ffi::c_void, pub BufferFlags: XAPO_BUFFER_FLAGS, pub ValidFrameCount: u32, } impl ::core::marker::Copy for XAPO_PROCESS_BUFFER_PARAMETERS {} impl ::core::clone::Clone for XAPO_PROCESS_BUFFER_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAPO_REGISTRATION_PROPERTIES { pub clsid: ::windows_sys::core::GUID, pub FriendlyName: [u16; 256], pub CopyrightInfo: [u16; 256], pub MajorVersion: u32, pub MinorVersion: u32, pub Flags: u32, pub MinInputBufferCount: u32, pub MaxInputBufferCount: u32, pub MinOutputBufferCount: u32, pub MaxOutputBufferCount: u32, } impl ::core::marker::Copy for XAPO_REGISTRATION_PROPERTIES {} impl ::core::clone::Clone for XAPO_REGISTRATION_PROPERTIES { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2FX_REVERB_I3DL2_PARAMETERS { pub WetDryMix: f32, pub Room: i32, pub RoomHF: i32, pub RoomRolloffFactor: f32, pub DecayTime: f32, pub DecayHFRatio: f32, pub Reflections: i32, pub ReflectionsDelay: f32, pub Reverb: i32, pub ReverbDelay: f32, pub Diffusion: f32, pub Density: f32, pub HFReference: f32, } impl ::core::marker::Copy for XAUDIO2FX_REVERB_I3DL2_PARAMETERS {} impl ::core::clone::Clone for XAUDIO2FX_REVERB_I3DL2_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"] #[cfg(feature = "Win32_Foundation")] pub struct XAUDIO2FX_REVERB_PARAMETERS { pub WetDryMix: f32, pub ReflectionsDelay: u32, pub ReverbDelay: u8, pub RearDelay: u8, pub SideDelay: u8, pub PositionLeft: u8, pub PositionRight: u8, pub PositionMatrixLeft: u8, pub PositionMatrixRight: u8, pub EarlyDiffusion: u8, pub LateDiffusion: u8, pub LowEQGain: u8, pub LowEQCutoff: u8, pub HighEQGain: u8, pub HighEQCutoff: u8, pub RoomFilterFreq: f32, pub RoomFilterMain: f32, pub RoomFilterHF: f32, pub ReflectionsGain: f32, pub ReverbGain: f32, pub DecayTime: f32, pub Density: f32, pub RoomSize: f32, pub DisableLateField: super::super::super::Foundation::BOOL, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for XAUDIO2FX_REVERB_PARAMETERS {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for XAUDIO2FX_REVERB_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2FX_VOLUMEMETER_LEVELS { pub pPeakLevels: *mut f32, pub pRMSLevels: *mut f32, pub ChannelCount: u32, } impl ::core::marker::Copy for XAUDIO2FX_VOLUMEMETER_LEVELS {} impl ::core::clone::Clone for XAUDIO2FX_VOLUMEMETER_LEVELS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_BUFFER { pub Flags: u32, pub AudioBytes: u32, pub pAudioData: *const u8, pub PlayBegin: u32, pub PlayLength: u32, pub LoopBegin: u32, pub LoopLength: u32, pub LoopCount: u32, pub pContext: *mut ::core::ffi::c_void, } impl ::core::marker::Copy for XAUDIO2_BUFFER {} impl ::core::clone::Clone for XAUDIO2_BUFFER { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_BUFFER_WMA { pub pDecodedPacketCumulativeBytes: *const u32, pub PacketCount: u32, } impl ::core::marker::Copy for XAUDIO2_BUFFER_WMA {} impl ::core::clone::Clone for XAUDIO2_BUFFER_WMA { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"] #[cfg(feature = "Win32_Foundation")] pub struct XAUDIO2_DEBUG_CONFIGURATION { pub TraceMask: u32, pub BreakMask: u32, pub LogThreadID: super::super::super::Foundation::BOOL, pub LogFileline: super::super::super::Foundation::BOOL, pub LogFunctionName: super::super::super::Foundation::BOOL, pub LogTiming: super::super::super::Foundation::BOOL, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for XAUDIO2_DEBUG_CONFIGURATION {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for XAUDIO2_DEBUG_CONFIGURATION { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"] #[cfg(feature = "Win32_Foundation")] pub struct XAUDIO2_EFFECT_CHAIN { pub EffectCount: u32, pub pEffectDescriptors: *mut XAUDIO2_EFFECT_DESCRIPTOR, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for XAUDIO2_EFFECT_CHAIN {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for XAUDIO2_EFFECT_CHAIN { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`, `\"Win32_Foundation\"`*"] #[cfg(feature = "Win32_Foundation")] pub struct XAUDIO2_EFFECT_DESCRIPTOR { pub pEffect: ::windows_sys::core::IUnknown, pub InitialState: super::super::super::Foundation::BOOL, pub OutputChannels: u32, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for XAUDIO2_EFFECT_DESCRIPTOR {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for XAUDIO2_EFFECT_DESCRIPTOR { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_FILTER_PARAMETERS { pub Type: XAUDIO2_FILTER_TYPE, pub Frequency: f32, pub OneOverQ: f32, } impl ::core::marker::Copy for XAUDIO2_FILTER_PARAMETERS {} impl ::core::clone::Clone for XAUDIO2_FILTER_PARAMETERS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_PERFORMANCE_DATA { pub AudioCyclesSinceLastQuery: u64, pub TotalCyclesSinceLastQuery: u64, pub MinimumCyclesPerQuantum: u32, pub MaximumCyclesPerQuantum: u32, pub MemoryUsageInBytes: u32, pub CurrentLatencyInSamples: u32, pub GlitchesSinceEngineStarted: u32, pub ActiveSourceVoiceCount: u32, pub TotalSourceVoiceCount: u32, pub ActiveSubmixVoiceCount: u32, pub ActiveResamplerCount: u32, pub ActiveMatrixMixCount: u32, pub ActiveXmaSourceVoices: u32, pub ActiveXmaStreams: u32, } impl ::core::marker::Copy for XAUDIO2_PERFORMANCE_DATA {} impl ::core::clone::Clone for XAUDIO2_PERFORMANCE_DATA { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_SEND_DESCRIPTOR { pub Flags: u32, pub pOutputVoice: IXAudio2Voice, } impl ::core::marker::Copy for XAUDIO2_SEND_DESCRIPTOR {} impl ::core::clone::Clone for XAUDIO2_SEND_DESCRIPTOR { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_VOICE_DETAILS { pub CreationFlags: u32, pub ActiveFlags: u32, pub InputChannels: u32, pub InputSampleRate: u32, } impl ::core::marker::Copy for XAUDIO2_VOICE_DETAILS {} impl ::core::clone::Clone for XAUDIO2_VOICE_DETAILS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_VOICE_SENDS { pub SendCount: u32, pub pSends: *mut XAUDIO2_SEND_DESCRIPTOR, } impl ::core::marker::Copy for XAUDIO2_VOICE_SENDS {} impl ::core::clone::Clone for XAUDIO2_VOICE_SENDS { fn clone(&self) -> Self { *self } } #[repr(C, packed(1))] #[doc = "*Required features: `\"Win32_Media_Audio_XAudio2\"`*"] pub struct XAUDIO2_VOICE_STATE { pub pCurrentBufferContext: *mut ::core::ffi::c_void, pub BuffersQueued: u32, pub SamplesPlayed: u64, } impl ::core::marker::Copy for XAUDIO2_VOICE_STATE {} impl ::core::clone::Clone for XAUDIO2_VOICE_STATE { fn clone(&self) -> Self { *self } }