| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IAudioCaptureEffectsManager(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IAudioCaptureEffectsManager { |
| type Vtable = IAudioCaptureEffectsManager_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioCaptureEffectsManager { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioCaptureEffectsManager { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8f85c271_038d_4393_8298_540110608eef); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioCaptureEffectsManager_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(feature = "Foundation")] |
| pub AudioCaptureEffectsChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| AudioCaptureEffectsChanged: usize, |
| #[cfg(feature = "Foundation")] |
| pub RemoveAudioCaptureEffectsChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| RemoveAudioCaptureEffectsChanged: usize, |
| #[cfg(feature = "Foundation_Collections")] |
| pub GetAudioCaptureEffects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| GetAudioCaptureEffects: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IAudioEffect(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IAudioEffect { |
| type Vtable = IAudioEffect_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioEffect { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioEffect { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x34aafa51_9207_4055_be93_6e5734a86ae4); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioEffect_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub AudioEffectType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AudioEffectType) -> ::windows_core::HRESULT, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IAudioEffectDefinition(::windows_core::IUnknown); |
| impl IAudioEffectDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IAudioEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::core::cmp::PartialEq for IAudioEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IAudioEffectDefinition {} |
| impl ::core::fmt::Debug for IAudioEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IAudioEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IAudioEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{e4d7f974-7d80-4f73-9089-e31c9db9c294}"); |
| } |
| unsafe impl ::windows_core::Interface for IAudioEffectDefinition { |
| type Vtable = IAudioEffectDefinition_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioEffectDefinition { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xe4d7f974_7d80_4f73_9089_e31c9db9c294); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioEffectDefinition_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub ActivatableClassId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| Properties: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IAudioEffectDefinitionFactory(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IAudioEffectDefinitionFactory { |
| type Vtable = IAudioEffectDefinitionFactory_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioEffectDefinitionFactory { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioEffectDefinitionFactory { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8e1da646_e705_45ed_8a2b_fc4e4f405a97); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioEffectDefinitionFactory_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub CreateWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, props: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| CreateWithProperties: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IAudioEffectsManagerStatics(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IAudioEffectsManagerStatics { |
| type Vtable = IAudioEffectsManagerStatics_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioEffectsManagerStatics { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioEffectsManagerStatics { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x66406c04_86fa_47cc_a315_f489d8c3fe10); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioEffectsManagerStatics_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(feature = "Media_Render")] |
| pub CreateAudioRenderEffectsManager: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, category: super::Render::AudioRenderCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Render"))] |
| CreateAudioRenderEffectsManager: usize, |
| #[cfg(feature = "Media_Render")] |
| pub CreateAudioRenderEffectsManagerWithMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, category: super::Render::AudioRenderCategory, mode: super::AudioProcessing, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Render"))] |
| CreateAudioRenderEffectsManagerWithMode: usize, |
| #[cfg(feature = "Media_Capture")] |
| pub CreateAudioCaptureEffectsManager: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, category: super::Capture::MediaCategory, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Capture"))] |
| CreateAudioCaptureEffectsManager: usize, |
| #[cfg(feature = "Media_Capture")] |
| pub CreateAudioCaptureEffectsManagerWithMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, category: super::Capture::MediaCategory, mode: super::AudioProcessing, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Capture"))] |
| CreateAudioCaptureEffectsManagerWithMode: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IAudioRenderEffectsManager(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IAudioRenderEffectsManager { |
| type Vtable = IAudioRenderEffectsManager_Vtbl; |
| } |
| impl ::core::clone::Clone for IAudioRenderEffectsManager { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IAudioRenderEffectsManager { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4dc98966_8751_42b2_bfcb_39ca7864bd47); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioRenderEffectsManager_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(feature = "Foundation")] |
| pub AudioRenderEffectsChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| AudioRenderEffectsChanged: usize, |
| #[cfg(feature = "Foundation")] |
| pub RemoveAudioRenderEffectsChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| RemoveAudioRenderEffectsChanged: usize, |
| #[cfg(feature = "Foundation_Collections")] |
| pub GetAudioRenderEffects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| GetAudioRenderEffects: usize, |
| } |
| #[doc(hidden)] |
| #[cfg(feature = "deprecated")] |
| #[repr(transparent)] |
| pub struct IAudioRenderEffectsManager2(::windows_core::IUnknown); |
| #[cfg(feature = "deprecated")] |
| unsafe impl ::windows_core::Interface for IAudioRenderEffectsManager2 { |
| type Vtable = IAudioRenderEffectsManager2_Vtbl; |
| } |
| #[cfg(feature = "deprecated")] |
| impl ::core::clone::Clone for IAudioRenderEffectsManager2 { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| #[cfg(feature = "deprecated")] |
| unsafe impl ::windows_core::ComInterface for IAudioRenderEffectsManager2 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xa844cd09_5ecc_44b3_bb4e_1db07287139c); |
| } |
| #[cfg(feature = "deprecated")] |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IAudioRenderEffectsManager2_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] |
| pub EffectsProviderThumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Storage_Streams", feature = "deprecated")))] |
| EffectsProviderThumbnail: usize, |
| #[cfg(feature = "deprecated")] |
| pub EffectsProviderSettingsLabel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "deprecated"))] |
| EffectsProviderSettingsLabel: usize, |
| #[cfg(feature = "deprecated")] |
| pub ShowSettingsUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "deprecated"))] |
| ShowSettingsUI: usize, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IBasicAudioEffect(::windows_core::IUnknown); |
| impl IBasicAudioEffect { |
| pub fn UseInputFrameForOutput(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).UseInputFrameForOutput)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"] |
| #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] |
| pub fn SupportedEncodingProperties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IVectorView<super::MediaProperties::AudioEncodingProperties>> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn SetEncodingProperties<P0>(&self, encodingproperties: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::MediaProperties::AudioEncodingProperties>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetEncodingProperties)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi()).ok() } |
| } |
| pub fn ProcessFrame<P0>(&self, context: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ProcessAudioFrameContext>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).ProcessFrame)(::windows_core::Interface::as_raw(this), context.into_param().abi()).ok() } |
| } |
| pub fn Close(&self, reason: MediaEffectClosedReason) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).Close)(::windows_core::Interface::as_raw(this), reason).ok() } |
| } |
| pub fn DiscardQueuedFrames(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).DiscardQueuedFrames)(::windows_core::Interface::as_raw(this)).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn SetProperties<P0>(&self, configuration: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| let this = &::windows_core::ComInterface::cast::<super::IMediaExtension>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetProperties)(::windows_core::Interface::as_raw(this), configuration.try_into_param()?.abi()).ok() } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IBasicAudioEffect, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<super::IMediaExtension> for IBasicAudioEffect {} |
| impl ::core::cmp::PartialEq for IBasicAudioEffect { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IBasicAudioEffect {} |
| impl ::core::fmt::Debug for IBasicAudioEffect { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IBasicAudioEffect").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IBasicAudioEffect { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{8c062c53-6bc0-48b8-a99a-4b41550f1359}"); |
| } |
| unsafe impl ::windows_core::Interface for IBasicAudioEffect { |
| type Vtable = IBasicAudioEffect_Vtbl; |
| } |
| impl ::core::clone::Clone for IBasicAudioEffect { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IBasicAudioEffect { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8c062c53_6bc0_48b8_a99a_4b41550f1359); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IBasicAudioEffect_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub UseInputFrameForOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT, |
| #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] |
| pub SupportedEncodingProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))] |
| SupportedEncodingProperties: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub SetEncodingProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingproperties: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| SetEncodingProperties: usize, |
| pub ProcessFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reason: MediaEffectClosedReason) -> ::windows_core::HRESULT, |
| pub DiscardQueuedFrames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IBasicVideoEffect(::windows_core::IUnknown); |
| impl IBasicVideoEffect { |
| pub fn IsReadOnly(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).IsReadOnly)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn SupportedMemoryTypes(&self) -> ::windows_core::Result<MediaMemoryTypes> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SupportedMemoryTypes)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn TimeIndependent(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"] |
| #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] |
| pub fn SupportedEncodingProperties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IVectorView<super::MediaProperties::VideoEncodingProperties>> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SupportedEncodingProperties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Graphics_DirectX_Direct3D11\"`, `\"Media_MediaProperties\"`*"] |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] |
| pub fn SetEncodingProperties<P0, P1>(&self, encodingproperties: P0, device: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::MediaProperties::VideoEncodingProperties>, |
| P1: ::windows_core::TryIntoParam<super::super::Graphics::DirectX::Direct3D11::IDirect3DDevice>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetEncodingProperties)(::windows_core::Interface::as_raw(this), encodingproperties.into_param().abi(), device.try_into_param()?.abi()).ok() } |
| } |
| pub fn ProcessFrame<P0>(&self, context: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<ProcessVideoFrameContext>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).ProcessFrame)(::windows_core::Interface::as_raw(this), context.into_param().abi()).ok() } |
| } |
| pub fn Close(&self, reason: MediaEffectClosedReason) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).Close)(::windows_core::Interface::as_raw(this), reason).ok() } |
| } |
| pub fn DiscardQueuedFrames(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).DiscardQueuedFrames)(::windows_core::Interface::as_raw(this)).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn SetProperties<P0>(&self, configuration: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| let this = &::windows_core::ComInterface::cast::<super::IMediaExtension>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetProperties)(::windows_core::Interface::as_raw(this), configuration.try_into_param()?.abi()).ok() } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IBasicVideoEffect, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<super::IMediaExtension> for IBasicVideoEffect {} |
| impl ::core::cmp::PartialEq for IBasicVideoEffect { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IBasicVideoEffect {} |
| impl ::core::fmt::Debug for IBasicVideoEffect { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IBasicVideoEffect").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IBasicVideoEffect { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{8262c7ef-b360-40be-949b-2ff42ff35693}"); |
| } |
| unsafe impl ::windows_core::Interface for IBasicVideoEffect { |
| type Vtable = IBasicVideoEffect_Vtbl; |
| } |
| impl ::core::clone::Clone for IBasicVideoEffect { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IBasicVideoEffect { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8262c7ef_b360_40be_949b_2ff42ff35693); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IBasicVideoEffect_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub IsReadOnly: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT, |
| pub SupportedMemoryTypes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaMemoryTypes) -> ::windows_core::HRESULT, |
| pub TimeIndependent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT, |
| #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))] |
| pub SupportedEncodingProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))] |
| SupportedEncodingProperties: usize, |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] |
| pub SetEncodingProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingproperties: *mut ::core::ffi::c_void, device: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties")))] |
| SetEncodingProperties: usize, |
| pub ProcessFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reason: MediaEffectClosedReason) -> ::windows_core::HRESULT, |
| pub DiscardQueuedFrames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct ICompositeVideoFrameContext(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ICompositeVideoFrameContext { |
| type Vtable = ICompositeVideoFrameContext_Vtbl; |
| } |
| impl ::core::clone::Clone for ICompositeVideoFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for ICompositeVideoFrameContext { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x6c30024b_f514_4278_a5f7_b9188049d110); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ICompositeVideoFrameContext_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11"))] |
| pub SurfacesToOverlay: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11")))] |
| SurfacesToOverlay: usize, |
| pub BackgroundFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub OutputFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_Editing"))] |
| pub GetOverlayForSurface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, surfacetooverlay: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_Editing")))] |
| GetOverlayForSurface: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IProcessAudioFrameContext(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IProcessAudioFrameContext { |
| type Vtable = IProcessAudioFrameContext_Vtbl; |
| } |
| impl ::core::clone::Clone for IProcessAudioFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IProcessAudioFrameContext { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4cd92946_1222_4a27_a586_fb3e20273255); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IProcessAudioFrameContext_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub InputFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub OutputFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IProcessVideoFrameContext(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IProcessVideoFrameContext { |
| type Vtable = IProcessVideoFrameContext_Vtbl; |
| } |
| impl ::core::clone::Clone for IProcessVideoFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IProcessVideoFrameContext { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x276f0e2b_6461_401e_ba78_0fdad6114eec); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IProcessVideoFrameContext_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub InputFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub OutputFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct ISlowMotionEffectDefinition(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for ISlowMotionEffectDefinition { |
| type Vtable = ISlowMotionEffectDefinition_Vtbl; |
| } |
| impl ::core::clone::Clone for ISlowMotionEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for ISlowMotionEffectDefinition { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x35053cd0_176c_4763_82c4_1b02dbe31737); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct ISlowMotionEffectDefinition_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub TimeStretchRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT, |
| pub SetTimeStretchRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IVideoCompositor(::windows_core::IUnknown); |
| impl IVideoCompositor { |
| pub fn TimeIndependent(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).TimeIndependent)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Graphics_DirectX_Direct3D11\"`, `\"Media_MediaProperties\"`*"] |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] |
| pub fn SetEncodingProperties<P0, P1>(&self, backgroundproperties: P0, device: P1) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<super::MediaProperties::VideoEncodingProperties>, |
| P1: ::windows_core::TryIntoParam<super::super::Graphics::DirectX::Direct3D11::IDirect3DDevice>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetEncodingProperties)(::windows_core::Interface::as_raw(this), backgroundproperties.into_param().abi(), device.try_into_param()?.abi()).ok() } |
| } |
| pub fn CompositeFrame<P0>(&self, context: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<CompositeVideoFrameContext>, |
| { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).CompositeFrame)(::windows_core::Interface::as_raw(this), context.into_param().abi()).ok() } |
| } |
| pub fn Close(&self, reason: MediaEffectClosedReason) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).Close)(::windows_core::Interface::as_raw(this), reason).ok() } |
| } |
| pub fn DiscardQueuedFrames(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).DiscardQueuedFrames)(::windows_core::Interface::as_raw(this)).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn SetProperties<P0>(&self, configuration: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| let this = &::windows_core::ComInterface::cast::<super::IMediaExtension>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetProperties)(::windows_core::Interface::as_raw(this), configuration.try_into_param()?.abi()).ok() } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IVideoCompositor, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<super::IMediaExtension> for IVideoCompositor {} |
| impl ::core::cmp::PartialEq for IVideoCompositor { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IVideoCompositor {} |
| impl ::core::fmt::Debug for IVideoCompositor { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IVideoCompositor").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IVideoCompositor { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{8510b43e-420c-420f-96c7-7c98bba1fc55}"); |
| } |
| unsafe impl ::windows_core::Interface for IVideoCompositor { |
| type Vtable = IVideoCompositor_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoCompositor { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoCompositor { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x8510b43e_420c_420f_96c7_7c98bba1fc55); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoCompositor_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub TimeIndependent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT, |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties"))] |
| pub SetEncodingProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, backgroundproperties: *mut ::core::ffi::c_void, device: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_MediaProperties")))] |
| SetEncodingProperties: usize, |
| pub CompositeFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reason: MediaEffectClosedReason) -> ::windows_core::HRESULT, |
| pub DiscardQueuedFrames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IVideoCompositorDefinition(::windows_core::IUnknown); |
| impl IVideoCompositorDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IVideoCompositorDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::core::cmp::PartialEq for IVideoCompositorDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IVideoCompositorDefinition {} |
| impl ::core::fmt::Debug for IVideoCompositorDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IVideoCompositorDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IVideoCompositorDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{7946b8d0-2010-4ae3-9ab2-2cef42edd4d2}"); |
| } |
| unsafe impl ::windows_core::Interface for IVideoCompositorDefinition { |
| type Vtable = IVideoCompositorDefinition_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoCompositorDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoCompositorDefinition { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x7946b8d0_2010_4ae3_9ab2_2cef42edd4d2); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoCompositorDefinition_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub ActivatableClassId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| Properties: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IVideoCompositorDefinitionFactory(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IVideoCompositorDefinitionFactory { |
| type Vtable = IVideoCompositorDefinitionFactory_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoCompositorDefinitionFactory { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoCompositorDefinitionFactory { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x4366fd10_68b8_4d52_89b6_02a968cca899); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoCompositorDefinitionFactory_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub CreateWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, props: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| CreateWithProperties: usize, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct IVideoEffectDefinition(::windows_core::IUnknown); |
| impl IVideoEffectDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| ::windows_core::imp::interface_hierarchy!(IVideoEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::core::cmp::PartialEq for IVideoEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for IVideoEffectDefinition {} |
| impl ::core::fmt::Debug for IVideoEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IVideoEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for IVideoEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"{39f38cf0-8d0f-4f3e-84fc-2d46a5297943}"); |
| } |
| unsafe impl ::windows_core::Interface for IVideoEffectDefinition { |
| type Vtable = IVideoEffectDefinition_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoEffectDefinition { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x39f38cf0_8d0f_4f3e_84fc_2d46a5297943); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoEffectDefinition_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub ActivatableClassId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| Properties: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IVideoEffectDefinitionFactory(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IVideoEffectDefinitionFactory { |
| type Vtable = IVideoEffectDefinitionFactory_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoEffectDefinitionFactory { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoEffectDefinitionFactory { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x81439b4e_6e33_428f_9d21_b5aafef7617c); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoEffectDefinitionFactory_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Collections")] |
| pub CreateWithProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activatableclassid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, props: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Collections"))] |
| CreateWithProperties: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IVideoTransformEffectDefinition(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IVideoTransformEffectDefinition { |
| type Vtable = IVideoTransformEffectDefinition_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoTransformEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoTransformEffectDefinition { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0x9664bb6a_1ea6_4aa6_8074_abe8851ecae2); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoTransformEffectDefinition_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| #[cfg(feature = "UI")] |
| pub PaddingColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::UI::Color) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "UI"))] |
| PaddingColor: usize, |
| #[cfg(feature = "UI")] |
| pub SetPaddingColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::UI::Color) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "UI"))] |
| SetPaddingColor: usize, |
| #[cfg(feature = "Foundation")] |
| pub OutputSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Size) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| OutputSize: usize, |
| #[cfg(feature = "Foundation")] |
| pub SetOutputSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Size) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| SetOutputSize: usize, |
| #[cfg(feature = "Foundation")] |
| pub CropRectangle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Rect) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| CropRectangle: usize, |
| #[cfg(feature = "Foundation")] |
| pub SetCropRectangle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Rect) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation"))] |
| SetCropRectangle: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub Rotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::MediaProperties::MediaRotation) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| Rotation: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub SetRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::MediaProperties::MediaRotation) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| SetRotation: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub Mirror: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::MediaProperties::MediaMirroringOptions) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| Mirror: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub SetMirror: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::MediaProperties::MediaMirroringOptions) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| SetMirror: usize, |
| #[cfg(feature = "Media_Transcoding")] |
| pub SetProcessingAlgorithm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Transcoding::MediaVideoProcessingAlgorithm) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Transcoding"))] |
| SetProcessingAlgorithm: usize, |
| #[cfg(feature = "Media_Transcoding")] |
| pub ProcessingAlgorithm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Transcoding::MediaVideoProcessingAlgorithm) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Transcoding"))] |
| ProcessingAlgorithm: usize, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IVideoTransformEffectDefinition2(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IVideoTransformEffectDefinition2 { |
| type Vtable = IVideoTransformEffectDefinition2_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoTransformEffectDefinition2 { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoTransformEffectDefinition2 { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xf0a8089f_66c8_4694_9fd9_1136abf7444a); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoTransformEffectDefinition2_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub SphericalProjection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| } |
| #[doc(hidden)] |
| #[repr(transparent)] |
| pub struct IVideoTransformSphericalProjection(::windows_core::IUnknown); |
| unsafe impl ::windows_core::Interface for IVideoTransformSphericalProjection { |
| type Vtable = IVideoTransformSphericalProjection_Vtbl; |
| } |
| impl ::core::clone::Clone for IVideoTransformSphericalProjection { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::ComInterface for IVideoTransformSphericalProjection { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(0xcf4401f0_9bf2_4c39_9f41_e022514a8468); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVideoTransformSphericalProjection_Vtbl { |
| pub base__: ::windows_core::IInspectable_Vtbl, |
| pub IsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows_core::HRESULT, |
| pub SetIsEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub FrameFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::MediaProperties::SphericalVideoFrameFormat) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| FrameFormat: usize, |
| #[cfg(feature = "Media_MediaProperties")] |
| pub SetFrameFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::MediaProperties::SphericalVideoFrameFormat) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_MediaProperties"))] |
| SetFrameFormat: usize, |
| #[cfg(feature = "Media_Playback")] |
| pub ProjectionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Playback::SphericalVideoProjectionMode) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Playback"))] |
| ProjectionMode: usize, |
| #[cfg(feature = "Media_Playback")] |
| pub SetProjectionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::Playback::SphericalVideoProjectionMode) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Media_Playback"))] |
| SetProjectionMode: usize, |
| pub HorizontalFieldOfViewInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows_core::HRESULT, |
| pub SetHorizontalFieldOfViewInDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows_core::HRESULT, |
| #[cfg(feature = "Foundation_Numerics")] |
| pub ViewOrientation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Quaternion) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Numerics"))] |
| ViewOrientation: usize, |
| #[cfg(feature = "Foundation_Numerics")] |
| pub SetViewOrientation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Quaternion) -> ::windows_core::HRESULT, |
| #[cfg(not(feature = "Foundation_Numerics"))] |
| SetViewOrientation: usize, |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct AudioCaptureEffectsManager(::windows_core::IUnknown); |
| impl AudioCaptureEffectsManager { |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn AudioCaptureEffectsChanged<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::Foundation::EventRegistrationToken> |
| where |
| P0: ::windows_core::IntoParam<super::super::Foundation::TypedEventHandler<AudioCaptureEffectsManager, ::windows_core::IInspectable>>, |
| { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).AudioCaptureEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn RemoveAudioCaptureEffectsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).RemoveAudioCaptureEffectsChanged)(::windows_core::Interface::as_raw(this), token).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn GetAudioCaptureEffects(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IVectorView<AudioEffect>> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetAudioCaptureEffects)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for AudioCaptureEffectsManager { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for AudioCaptureEffectsManager {} |
| impl ::core::fmt::Debug for AudioCaptureEffectsManager { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("AudioCaptureEffectsManager").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for AudioCaptureEffectsManager { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.AudioCaptureEffectsManager;{8f85c271-038d-4393-8298-540110608eef})"); |
| } |
| impl ::core::clone::Clone for AudioCaptureEffectsManager { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for AudioCaptureEffectsManager { |
| type Vtable = IAudioCaptureEffectsManager_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for AudioCaptureEffectsManager { |
| const IID: ::windows_core::GUID = <IAudioCaptureEffectsManager as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for AudioCaptureEffectsManager { |
| const NAME: &'static str = "Windows.Media.Effects.AudioCaptureEffectsManager"; |
| } |
| ::windows_core::imp::interface_hierarchy!(AudioCaptureEffectsManager, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for AudioCaptureEffectsManager {} |
| unsafe impl ::core::marker::Sync for AudioCaptureEffectsManager {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct AudioEffect(::windows_core::IUnknown); |
| impl AudioEffect { |
| pub fn AudioEffectType(&self) -> ::windows_core::Result<AudioEffectType> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).AudioEffectType)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for AudioEffect { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for AudioEffect {} |
| impl ::core::fmt::Debug for AudioEffect { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("AudioEffect").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for AudioEffect { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.AudioEffect;{34aafa51-9207-4055-be93-6e5734a86ae4})"); |
| } |
| impl ::core::clone::Clone for AudioEffect { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for AudioEffect { |
| type Vtable = IAudioEffect_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for AudioEffect { |
| const IID: ::windows_core::GUID = <IAudioEffect as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for AudioEffect { |
| const NAME: &'static str = "Windows.Media.Effects.AudioEffect"; |
| } |
| ::windows_core::imp::interface_hierarchy!(AudioEffect, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for AudioEffect {} |
| unsafe impl ::core::marker::Sync for AudioEffect {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct AudioEffectDefinition(::windows_core::IUnknown); |
| impl AudioEffectDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result<AudioEffectDefinition> { |
| Self::IAudioEffectDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn CreateWithProperties<P0>(activatableclassid: &::windows_core::HSTRING, props: P0) -> ::windows_core::Result<AudioEffectDefinition> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| Self::IAudioEffectDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.try_into_param()?.abi(), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc(hidden)] |
| pub fn IAudioEffectDefinitionFactory<R, F: FnOnce(&IAudioEffectDefinitionFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<AudioEffectDefinition, IAudioEffectDefinitionFactory> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| } |
| impl ::core::cmp::PartialEq for AudioEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for AudioEffectDefinition {} |
| impl ::core::fmt::Debug for AudioEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("AudioEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for AudioEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.AudioEffectDefinition;{e4d7f974-7d80-4f73-9089-e31c9db9c294})"); |
| } |
| impl ::core::clone::Clone for AudioEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for AudioEffectDefinition { |
| type Vtable = IAudioEffectDefinition_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for AudioEffectDefinition { |
| const IID: ::windows_core::GUID = <IAudioEffectDefinition as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for AudioEffectDefinition { |
| const NAME: &'static str = "Windows.Media.Effects.AudioEffectDefinition"; |
| } |
| ::windows_core::imp::interface_hierarchy!(AudioEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<IAudioEffectDefinition> for AudioEffectDefinition {} |
| unsafe impl ::core::marker::Send for AudioEffectDefinition {} |
| unsafe impl ::core::marker::Sync for AudioEffectDefinition {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| pub struct AudioEffectsManager; |
| impl AudioEffectsManager { |
| #[doc = "*Required features: `\"Media_Render\"`*"] |
| #[cfg(feature = "Media_Render")] |
| pub fn CreateAudioRenderEffectsManager(deviceid: &::windows_core::HSTRING, category: super::Render::AudioRenderCategory) -> ::windows_core::Result<AudioRenderEffectsManager> { |
| Self::IAudioEffectsManagerStatics(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Media_Render\"`*"] |
| #[cfg(feature = "Media_Render")] |
| pub fn CreateAudioRenderEffectsManagerWithMode(deviceid: &::windows_core::HSTRING, category: super::Render::AudioRenderCategory, mode: super::AudioProcessing) -> ::windows_core::Result<AudioRenderEffectsManager> { |
| Self::IAudioEffectsManagerStatics(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateAudioRenderEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Media_Capture\"`*"] |
| #[cfg(feature = "Media_Capture")] |
| pub fn CreateAudioCaptureEffectsManager(deviceid: &::windows_core::HSTRING, category: super::Capture::MediaCategory) -> ::windows_core::Result<AudioCaptureEffectsManager> { |
| Self::IAudioEffectsManagerStatics(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManager)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Media_Capture\"`*"] |
| #[cfg(feature = "Media_Capture")] |
| pub fn CreateAudioCaptureEffectsManagerWithMode(deviceid: &::windows_core::HSTRING, category: super::Capture::MediaCategory, mode: super::AudioProcessing) -> ::windows_core::Result<AudioCaptureEffectsManager> { |
| Self::IAudioEffectsManagerStatics(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateAudioCaptureEffectsManagerWithMode)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(deviceid), category, mode, &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc(hidden)] |
| pub fn IAudioEffectsManagerStatics<R, F: FnOnce(&IAudioEffectsManagerStatics) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<AudioEffectsManager, IAudioEffectsManagerStatics> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| } |
| impl ::windows_core::RuntimeName for AudioEffectsManager { |
| const NAME: &'static str = "Windows.Media.Effects.AudioEffectsManager"; |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct AudioRenderEffectsManager(::windows_core::IUnknown); |
| impl AudioRenderEffectsManager { |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn AudioRenderEffectsChanged<P0>(&self, handler: P0) -> ::windows_core::Result<super::super::Foundation::EventRegistrationToken> |
| where |
| P0: ::windows_core::IntoParam<super::super::Foundation::TypedEventHandler<AudioRenderEffectsManager, ::windows_core::IInspectable>>, |
| { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).AudioRenderEffectsChanged)(::windows_core::Interface::as_raw(this), handler.into_param().abi(), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn RemoveAudioRenderEffectsChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).RemoveAudioRenderEffectsChanged)(::windows_core::Interface::as_raw(this), token).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn GetAudioRenderEffects(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IVectorView<AudioEffect>> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetAudioRenderEffects)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Storage_Streams\"`, `\"deprecated\"`*"] |
| #[cfg(all(feature = "Storage_Streams", feature = "deprecated"))] |
| pub fn EffectsProviderThumbnail(&self) -> ::windows_core::Result<super::super::Storage::Streams::IRandomAccessStreamWithContentType> { |
| let this = &::windows_core::ComInterface::cast::<IAudioRenderEffectsManager2>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).EffectsProviderThumbnail)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"deprecated\"`*"] |
| #[cfg(feature = "deprecated")] |
| pub fn EffectsProviderSettingsLabel(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = &::windows_core::ComInterface::cast::<IAudioRenderEffectsManager2>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).EffectsProviderSettingsLabel)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"deprecated\"`*"] |
| #[cfg(feature = "deprecated")] |
| pub fn ShowSettingsUI(&self) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IAudioRenderEffectsManager2>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).ShowSettingsUI)(::windows_core::Interface::as_raw(this)).ok() } |
| } |
| } |
| impl ::core::cmp::PartialEq for AudioRenderEffectsManager { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for AudioRenderEffectsManager {} |
| impl ::core::fmt::Debug for AudioRenderEffectsManager { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("AudioRenderEffectsManager").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for AudioRenderEffectsManager { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.AudioRenderEffectsManager;{4dc98966-8751-42b2-bfcb-39ca7864bd47})"); |
| } |
| impl ::core::clone::Clone for AudioRenderEffectsManager { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for AudioRenderEffectsManager { |
| type Vtable = IAudioRenderEffectsManager_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for AudioRenderEffectsManager { |
| const IID: ::windows_core::GUID = <IAudioRenderEffectsManager as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for AudioRenderEffectsManager { |
| const NAME: &'static str = "Windows.Media.Effects.AudioRenderEffectsManager"; |
| } |
| ::windows_core::imp::interface_hierarchy!(AudioRenderEffectsManager, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for AudioRenderEffectsManager {} |
| unsafe impl ::core::marker::Sync for AudioRenderEffectsManager {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct CompositeVideoFrameContext(::windows_core::IUnknown); |
| impl CompositeVideoFrameContext { |
| #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Graphics_DirectX_Direct3D11\"`*"] |
| #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX_Direct3D11"))] |
| pub fn SurfacesToOverlay(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IVectorView<super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SurfacesToOverlay)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn BackgroundFrame(&self) -> ::windows_core::Result<super::VideoFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).BackgroundFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn OutputFrame(&self) -> ::windows_core::Result<super::VideoFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Graphics_DirectX_Direct3D11\"`, `\"Media_Editing\"`*"] |
| #[cfg(all(feature = "Graphics_DirectX_Direct3D11", feature = "Media_Editing"))] |
| pub fn GetOverlayForSurface<P0>(&self, surfacetooverlay: P0) -> ::windows_core::Result<super::Editing::MediaOverlay> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, |
| { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetOverlayForSurface)(::windows_core::Interface::as_raw(this), surfacetooverlay.try_into_param()?.abi(), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for CompositeVideoFrameContext { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for CompositeVideoFrameContext {} |
| impl ::core::fmt::Debug for CompositeVideoFrameContext { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("CompositeVideoFrameContext").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for CompositeVideoFrameContext { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.CompositeVideoFrameContext;{6c30024b-f514-4278-a5f7-b9188049d110})"); |
| } |
| impl ::core::clone::Clone for CompositeVideoFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for CompositeVideoFrameContext { |
| type Vtable = ICompositeVideoFrameContext_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for CompositeVideoFrameContext { |
| const IID: ::windows_core::GUID = <ICompositeVideoFrameContext as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for CompositeVideoFrameContext { |
| const NAME: &'static str = "Windows.Media.Effects.CompositeVideoFrameContext"; |
| } |
| ::windows_core::imp::interface_hierarchy!(CompositeVideoFrameContext, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for CompositeVideoFrameContext {} |
| unsafe impl ::core::marker::Sync for CompositeVideoFrameContext {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct ProcessAudioFrameContext(::windows_core::IUnknown); |
| impl ProcessAudioFrameContext { |
| pub fn InputFrame(&self) -> ::windows_core::Result<super::AudioFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn OutputFrame(&self) -> ::windows_core::Result<super::AudioFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for ProcessAudioFrameContext { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for ProcessAudioFrameContext {} |
| impl ::core::fmt::Debug for ProcessAudioFrameContext { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("ProcessAudioFrameContext").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for ProcessAudioFrameContext { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.ProcessAudioFrameContext;{4cd92946-1222-4a27-a586-fb3e20273255})"); |
| } |
| impl ::core::clone::Clone for ProcessAudioFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for ProcessAudioFrameContext { |
| type Vtable = IProcessAudioFrameContext_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ProcessAudioFrameContext { |
| const IID: ::windows_core::GUID = <IProcessAudioFrameContext as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for ProcessAudioFrameContext { |
| const NAME: &'static str = "Windows.Media.Effects.ProcessAudioFrameContext"; |
| } |
| ::windows_core::imp::interface_hierarchy!(ProcessAudioFrameContext, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for ProcessAudioFrameContext {} |
| unsafe impl ::core::marker::Sync for ProcessAudioFrameContext {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct ProcessVideoFrameContext(::windows_core::IUnknown); |
| impl ProcessVideoFrameContext { |
| pub fn InputFrame(&self) -> ::windows_core::Result<super::VideoFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).InputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn OutputFrame(&self) -> ::windows_core::Result<super::VideoFrame> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).OutputFrame)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for ProcessVideoFrameContext { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for ProcessVideoFrameContext {} |
| impl ::core::fmt::Debug for ProcessVideoFrameContext { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("ProcessVideoFrameContext").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for ProcessVideoFrameContext { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.ProcessVideoFrameContext;{276f0e2b-6461-401e-ba78-0fdad6114eec})"); |
| } |
| impl ::core::clone::Clone for ProcessVideoFrameContext { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for ProcessVideoFrameContext { |
| type Vtable = IProcessVideoFrameContext_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for ProcessVideoFrameContext { |
| const IID: ::windows_core::GUID = <IProcessVideoFrameContext as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for ProcessVideoFrameContext { |
| const NAME: &'static str = "Windows.Media.Effects.ProcessVideoFrameContext"; |
| } |
| ::windows_core::imp::interface_hierarchy!(ProcessVideoFrameContext, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for ProcessVideoFrameContext {} |
| unsafe impl ::core::marker::Sync for ProcessVideoFrameContext {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct SlowMotionEffectDefinition(::windows_core::IUnknown); |
| impl SlowMotionEffectDefinition { |
| pub fn new() -> ::windows_core::Result<Self> { |
| Self::IActivationFactory(|f| f.ActivateInstance::<Self>()) |
| } |
| fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<SlowMotionEffectDefinition, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| pub fn TimeStretchRate(&self) -> ::windows_core::Result<f64> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).TimeStretchRate)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn SetTimeStretchRate(&self, value: f64) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetTimeStretchRate)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = &::windows_core::ComInterface::cast::<IVideoEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = &::windows_core::ComInterface::cast::<IVideoEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for SlowMotionEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for SlowMotionEffectDefinition {} |
| impl ::core::fmt::Debug for SlowMotionEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("SlowMotionEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for SlowMotionEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.SlowMotionEffectDefinition;{35053cd0-176c-4763-82c4-1b02dbe31737})"); |
| } |
| impl ::core::clone::Clone for SlowMotionEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for SlowMotionEffectDefinition { |
| type Vtable = ISlowMotionEffectDefinition_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for SlowMotionEffectDefinition { |
| const IID: ::windows_core::GUID = <ISlowMotionEffectDefinition as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for SlowMotionEffectDefinition { |
| const NAME: &'static str = "Windows.Media.Effects.SlowMotionEffectDefinition"; |
| } |
| ::windows_core::imp::interface_hierarchy!(SlowMotionEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<IVideoEffectDefinition> for SlowMotionEffectDefinition {} |
| unsafe impl ::core::marker::Send for SlowMotionEffectDefinition {} |
| unsafe impl ::core::marker::Sync for SlowMotionEffectDefinition {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct VideoCompositorDefinition(::windows_core::IUnknown); |
| impl VideoCompositorDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result<VideoCompositorDefinition> { |
| Self::IVideoCompositorDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn CreateWithProperties<P0>(activatableclassid: &::windows_core::HSTRING, props: P0) -> ::windows_core::Result<VideoCompositorDefinition> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| Self::IVideoCompositorDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.try_into_param()?.abi(), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc(hidden)] |
| pub fn IVideoCompositorDefinitionFactory<R, F: FnOnce(&IVideoCompositorDefinitionFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<VideoCompositorDefinition, IVideoCompositorDefinitionFactory> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| } |
| impl ::core::cmp::PartialEq for VideoCompositorDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for VideoCompositorDefinition {} |
| impl ::core::fmt::Debug for VideoCompositorDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("VideoCompositorDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for VideoCompositorDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.VideoCompositorDefinition;{7946b8d0-2010-4ae3-9ab2-2cef42edd4d2})"); |
| } |
| impl ::core::clone::Clone for VideoCompositorDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for VideoCompositorDefinition { |
| type Vtable = IVideoCompositorDefinition_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for VideoCompositorDefinition { |
| const IID: ::windows_core::GUID = <IVideoCompositorDefinition as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for VideoCompositorDefinition { |
| const NAME: &'static str = "Windows.Media.Effects.VideoCompositorDefinition"; |
| } |
| ::windows_core::imp::interface_hierarchy!(VideoCompositorDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<IVideoCompositorDefinition> for VideoCompositorDefinition {} |
| unsafe impl ::core::marker::Send for VideoCompositorDefinition {} |
| unsafe impl ::core::marker::Sync for VideoCompositorDefinition {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct VideoEffectDefinition(::windows_core::IUnknown); |
| impl VideoEffectDefinition { |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn Create(activatableclassid: &::windows_core::HSTRING) -> ::windows_core::Result<VideoEffectDefinition> { |
| Self::IVideoEffectDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Create)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn CreateWithProperties<P0>(activatableclassid: &::windows_core::HSTRING, props: P0) -> ::windows_core::Result<VideoEffectDefinition> |
| where |
| P0: ::windows_core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>, |
| { |
| Self::IVideoEffectDefinitionFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateWithProperties)(::windows_core::Interface::as_raw(this), ::core::mem::transmute_copy(activatableclassid), props.try_into_param()?.abi(), &mut result__).from_abi(result__) |
| }) |
| } |
| #[doc(hidden)] |
| pub fn IVideoEffectDefinitionFactory<R, F: FnOnce(&IVideoEffectDefinitionFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<VideoEffectDefinition, IVideoEffectDefinitionFactory> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| } |
| impl ::core::cmp::PartialEq for VideoEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for VideoEffectDefinition {} |
| impl ::core::fmt::Debug for VideoEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("VideoEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for VideoEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.VideoEffectDefinition;{39f38cf0-8d0f-4f3e-84fc-2d46a5297943})"); |
| } |
| impl ::core::clone::Clone for VideoEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for VideoEffectDefinition { |
| type Vtable = IVideoEffectDefinition_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for VideoEffectDefinition { |
| const IID: ::windows_core::GUID = <IVideoEffectDefinition as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for VideoEffectDefinition { |
| const NAME: &'static str = "Windows.Media.Effects.VideoEffectDefinition"; |
| } |
| ::windows_core::imp::interface_hierarchy!(VideoEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<IVideoEffectDefinition> for VideoEffectDefinition {} |
| unsafe impl ::core::marker::Send for VideoEffectDefinition {} |
| unsafe impl ::core::marker::Sync for VideoEffectDefinition {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct VideoTransformEffectDefinition(::windows_core::IUnknown); |
| impl VideoTransformEffectDefinition { |
| pub fn new() -> ::windows_core::Result<Self> { |
| Self::IActivationFactory(|f| f.ActivateInstance::<Self>()) |
| } |
| fn IActivationFactory<R, F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>>(callback: F) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<VideoTransformEffectDefinition, ::windows_core::imp::IGenericFactory> = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| pub fn ActivatableClassId(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ActivatableClassId)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Collections\"`*"] |
| #[cfg(feature = "Foundation_Collections")] |
| pub fn Properties(&self) -> ::windows_core::Result<super::super::Foundation::Collections::IPropertySet> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Properties)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"UI\"`*"] |
| #[cfg(feature = "UI")] |
| pub fn PaddingColor(&self) -> ::windows_core::Result<super::super::UI::Color> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).PaddingColor)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"UI\"`*"] |
| #[cfg(feature = "UI")] |
| pub fn SetPaddingColor(&self, value: super::super::UI::Color) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetPaddingColor)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn OutputSize(&self) -> ::windows_core::Result<super::super::Foundation::Size> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).OutputSize)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn SetOutputSize(&self, value: super::super::Foundation::Size) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetOutputSize)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn CropRectangle(&self) -> ::windows_core::Result<super::super::Foundation::Rect> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CropRectangle)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation\"`*"] |
| #[cfg(feature = "Foundation")] |
| pub fn SetCropRectangle(&self, value: super::super::Foundation::Rect) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetCropRectangle)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn Rotation(&self) -> ::windows_core::Result<super::MediaProperties::MediaRotation> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Rotation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn SetRotation(&self, value: super::MediaProperties::MediaRotation) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetRotation)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn Mirror(&self) -> ::windows_core::Result<super::MediaProperties::MediaMirroringOptions> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Mirror)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn SetMirror(&self, value: super::MediaProperties::MediaMirroringOptions) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetMirror)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_Transcoding\"`*"] |
| #[cfg(feature = "Media_Transcoding")] |
| pub fn SetProcessingAlgorithm(&self, value: super::Transcoding::MediaVideoProcessingAlgorithm) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { (::windows_core::Interface::vtable(this).SetProcessingAlgorithm)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_Transcoding\"`*"] |
| #[cfg(feature = "Media_Transcoding")] |
| pub fn ProcessingAlgorithm(&self) -> ::windows_core::Result<super::Transcoding::MediaVideoProcessingAlgorithm> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ProcessingAlgorithm)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn SphericalProjection(&self) -> ::windows_core::Result<VideoTransformSphericalProjection> { |
| let this = &::windows_core::ComInterface::cast::<IVideoTransformEffectDefinition2>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SphericalProjection)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| } |
| impl ::core::cmp::PartialEq for VideoTransformEffectDefinition { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for VideoTransformEffectDefinition {} |
| impl ::core::fmt::Debug for VideoTransformEffectDefinition { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("VideoTransformEffectDefinition").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for VideoTransformEffectDefinition { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.VideoTransformEffectDefinition;{39f38cf0-8d0f-4f3e-84fc-2d46a5297943})"); |
| } |
| impl ::core::clone::Clone for VideoTransformEffectDefinition { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for VideoTransformEffectDefinition { |
| type Vtable = IVideoEffectDefinition_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for VideoTransformEffectDefinition { |
| const IID: ::windows_core::GUID = <IVideoEffectDefinition as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for VideoTransformEffectDefinition { |
| const NAME: &'static str = "Windows.Media.Effects.VideoTransformEffectDefinition"; |
| } |
| ::windows_core::imp::interface_hierarchy!(VideoTransformEffectDefinition, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| impl ::windows_core::CanTryInto<IVideoEffectDefinition> for VideoTransformEffectDefinition {} |
| unsafe impl ::core::marker::Send for VideoTransformEffectDefinition {} |
| unsafe impl ::core::marker::Sync for VideoTransformEffectDefinition {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| pub struct VideoTransformSphericalProjection(::windows_core::IUnknown); |
| impl VideoTransformSphericalProjection { |
| pub fn IsEnabled(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).IsEnabled)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn SetIsEnabled(&self, value: bool) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetIsEnabled)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn FrameFormat(&self) -> ::windows_core::Result<super::MediaProperties::SphericalVideoFrameFormat> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FrameFormat)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Media_MediaProperties\"`*"] |
| #[cfg(feature = "Media_MediaProperties")] |
| pub fn SetFrameFormat(&self, value: super::MediaProperties::SphericalVideoFrameFormat) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetFrameFormat)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Media_Playback\"`*"] |
| #[cfg(feature = "Media_Playback")] |
| pub fn ProjectionMode(&self) -> ::windows_core::Result<super::Playback::SphericalVideoProjectionMode> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ProjectionMode)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Media_Playback\"`*"] |
| #[cfg(feature = "Media_Playback")] |
| pub fn SetProjectionMode(&self, value: super::Playback::SphericalVideoProjectionMode) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetProjectionMode)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| pub fn HorizontalFieldOfViewInDegrees(&self) -> ::windows_core::Result<f64> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).HorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| pub fn SetHorizontalFieldOfViewInDegrees(&self, value: f64) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetHorizontalFieldOfViewInDegrees)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| #[doc = "*Required features: `\"Foundation_Numerics\"`*"] |
| #[cfg(feature = "Foundation_Numerics")] |
| pub fn ViewOrientation(&self) -> ::windows_core::Result<super::super::Foundation::Numerics::Quaternion> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ViewOrientation)(::windows_core::Interface::as_raw(this), &mut result__).from_abi(result__) |
| } |
| } |
| #[doc = "*Required features: `\"Foundation_Numerics\"`*"] |
| #[cfg(feature = "Foundation_Numerics")] |
| pub fn SetViewOrientation(&self, value: super::super::Foundation::Numerics::Quaternion) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { (::windows_core::Interface::vtable(this).SetViewOrientation)(::windows_core::Interface::as_raw(this), value).ok() } |
| } |
| } |
| impl ::core::cmp::PartialEq for VideoTransformSphericalProjection { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl ::core::cmp::Eq for VideoTransformSphericalProjection {} |
| impl ::core::fmt::Debug for VideoTransformSphericalProjection { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("VideoTransformSphericalProjection").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for VideoTransformSphericalProjection { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Effects.VideoTransformSphericalProjection;{cf4401f0-9bf2-4c39-9f41-e022514a8468})"); |
| } |
| impl ::core::clone::Clone for VideoTransformSphericalProjection { |
| fn clone(&self) -> Self { |
| Self(self.0.clone()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for VideoTransformSphericalProjection { |
| type Vtable = IVideoTransformSphericalProjection_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for VideoTransformSphericalProjection { |
| const IID: ::windows_core::GUID = <IVideoTransformSphericalProjection as ::windows_core::ComInterface>::IID; |
| } |
| impl ::windows_core::RuntimeName for VideoTransformSphericalProjection { |
| const NAME: &'static str = "Windows.Media.Effects.VideoTransformSphericalProjection"; |
| } |
| ::windows_core::imp::interface_hierarchy!(VideoTransformSphericalProjection, ::windows_core::IUnknown, ::windows_core::IInspectable); |
| unsafe impl ::core::marker::Send for VideoTransformSphericalProjection {} |
| unsafe impl ::core::marker::Sync for VideoTransformSphericalProjection {} |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct AudioEffectType(pub i32); |
| impl AudioEffectType { |
| pub const Other: Self = Self(0i32); |
| pub const AcousticEchoCancellation: Self = Self(1i32); |
| pub const NoiseSuppression: Self = Self(2i32); |
| pub const AutomaticGainControl: Self = Self(3i32); |
| pub const BeamForming: Self = Self(4i32); |
| pub const ConstantToneRemoval: Self = Self(5i32); |
| pub const Equalizer: Self = Self(6i32); |
| pub const LoudnessEqualizer: Self = Self(7i32); |
| pub const BassBoost: Self = Self(8i32); |
| pub const VirtualSurround: Self = Self(9i32); |
| pub const VirtualHeadphones: Self = Self(10i32); |
| pub const SpeakerFill: Self = Self(11i32); |
| pub const RoomCorrection: Self = Self(12i32); |
| pub const BassManagement: Self = Self(13i32); |
| pub const EnvironmentalEffects: Self = Self(14i32); |
| pub const SpeakerProtection: Self = Self(15i32); |
| pub const SpeakerCompensation: Self = Self(16i32); |
| pub const DynamicRangeCompression: Self = Self(17i32); |
| pub const FarFieldBeamForming: Self = Self(18i32); |
| pub const DeepNoiseSuppression: Self = Self(19i32); |
| } |
| impl ::core::marker::Copy for AudioEffectType {} |
| impl ::core::clone::Clone for AudioEffectType { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for AudioEffectType { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for AudioEffectType { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for AudioEffectType { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("AudioEffectType").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for AudioEffectType { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Effects.AudioEffectType;i4)"); |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct MediaEffectClosedReason(pub i32); |
| impl MediaEffectClosedReason { |
| pub const Done: Self = Self(0i32); |
| pub const UnknownError: Self = Self(1i32); |
| pub const UnsupportedEncodingFormat: Self = Self(2i32); |
| pub const EffectCurrentlyUnloaded: Self = Self(3i32); |
| } |
| impl ::core::marker::Copy for MediaEffectClosedReason {} |
| impl ::core::clone::Clone for MediaEffectClosedReason { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for MediaEffectClosedReason { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for MediaEffectClosedReason { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for MediaEffectClosedReason { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("MediaEffectClosedReason").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for MediaEffectClosedReason { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Effects.MediaEffectClosedReason;i4)"); |
| } |
| #[doc = "*Required features: `\"Media_Effects\"`*"] |
| #[repr(transparent)] |
| #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] |
| pub struct MediaMemoryTypes(pub i32); |
| impl MediaMemoryTypes { |
| pub const Gpu: Self = Self(0i32); |
| pub const Cpu: Self = Self(1i32); |
| pub const GpuAndCpu: Self = Self(2i32); |
| } |
| impl ::core::marker::Copy for MediaMemoryTypes {} |
| impl ::core::clone::Clone for MediaMemoryTypes { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::default::Default for MediaMemoryTypes { |
| fn default() -> Self { |
| Self(0) |
| } |
| } |
| impl ::windows_core::TypeKind for MediaMemoryTypes { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::core::fmt::Debug for MediaMemoryTypes { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("MediaMemoryTypes").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for MediaMemoryTypes { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = ::windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Effects.MediaMemoryTypes;i4)"); |
| } |
| #[cfg(feature = "implement")] |
| ::core::include!("impl.rs"); |