{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) 'GI.GstVideo.Structs.VideoResampler.VideoResampler' is a structure which holds the information required to perform various kinds of resampling filtering. /Since: 1.6/ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GstVideo.Structs.VideoResampler ( -- * Exported types VideoResampler(..) , newZeroVideoResampler , noVideoResampler , -- * Methods -- ** clear #method:clear# #if ENABLE_OVERLOADING VideoResamplerClearMethodInfo , #endif videoResamplerClear , -- ** init #method:init# #if ENABLE_OVERLOADING VideoResamplerInitMethodInfo , #endif videoResamplerInit , -- * Properties -- ** inSize #attr:inSize# {- | the input size -} getVideoResamplerInSize , setVideoResamplerInSize , #if ENABLE_OVERLOADING videoResampler_inSize , #endif -- ** maxTaps #attr:maxTaps# {- | the maximum number of taps -} getVideoResamplerMaxTaps , setVideoResamplerMaxTaps , #if ENABLE_OVERLOADING videoResampler_maxTaps , #endif -- ** nPhases #attr:nPhases# {- | the number of phases -} getVideoResamplerNPhases , setVideoResamplerNPhases , #if ENABLE_OVERLOADING videoResampler_nPhases , #endif -- ** nTaps #attr:nTaps# {- | array with new number of taps for each phase -} getVideoResamplerNTaps , setVideoResamplerNTaps , #if ENABLE_OVERLOADING videoResampler_nTaps , #endif -- ** offset #attr:offset# {- | array with the source offset for each output element -} getVideoResamplerOffset , setVideoResamplerOffset , #if ENABLE_OVERLOADING videoResampler_offset , #endif -- ** outSize #attr:outSize# {- | the output size -} getVideoResamplerOutSize , setVideoResamplerOutSize , #if ENABLE_OVERLOADING videoResampler_outSize , #endif -- ** phase #attr:phase# {- | array with the phase to use for each output element -} getVideoResamplerPhase , setVideoResamplerPhase , #if ENABLE_OVERLOADING videoResampler_phase , #endif -- ** taps #attr:taps# {- | the taps for all phases -} getVideoResamplerTaps , setVideoResamplerTaps , #if ENABLE_OVERLOADING videoResampler_taps , #endif ) where import Data.GI.Base.ShortPrelude import qualified Data.GI.Base.ShortPrelude as SP import qualified Data.GI.Base.Overloading as O import qualified Prelude as P import qualified Data.GI.Base.Attributes as GI.Attributes import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr import qualified Data.GI.Base.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP import qualified GHC.OverloadedLabels as OL import qualified GI.Gst.Structs.Structure as Gst.Structure import {-# SOURCE #-} qualified GI.GstVideo.Enums as GstVideo.Enums import {-# SOURCE #-} qualified GI.GstVideo.Flags as GstVideo.Flags -- | Memory-managed wrapper type. newtype VideoResampler = VideoResampler (ManagedPtr VideoResampler) instance WrappedPtr VideoResampler where wrappedPtrCalloc = callocBytes 80 wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr VideoResampler) wrappedPtrFree = Just ptr_to_g_free -- | Construct a `VideoResampler` struct initialized to zero. newZeroVideoResampler :: MonadIO m => m VideoResampler newZeroVideoResampler = liftIO $ wrappedPtrCalloc >>= wrapPtr VideoResampler instance tag ~ 'AttrSet => Constructible VideoResampler tag where new _ attrs = do o <- newZeroVideoResampler GI.Attributes.set o attrs return o -- | A convenience alias for `Nothing` :: `Maybe` `VideoResampler`. noVideoResampler :: Maybe VideoResampler noVideoResampler = Nothing {- | Get the value of the “@in_size@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #inSize @ -} getVideoResamplerInSize :: MonadIO m => VideoResampler -> m Int32 getVideoResamplerInSize s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO Int32 return val {- | Set the value of the “@in_size@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #inSize 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerInSize :: MonadIO m => VideoResampler -> Int32 -> m () setVideoResamplerInSize s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 0) (val :: Int32) #if ENABLE_OVERLOADING data VideoResamplerInSizeFieldInfo instance AttrInfo VideoResamplerInSizeFieldInfo where type AttrAllowedOps VideoResamplerInSizeFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerInSizeFieldInfo = (~) Int32 type AttrBaseTypeConstraint VideoResamplerInSizeFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerInSizeFieldInfo = Int32 type AttrLabel VideoResamplerInSizeFieldInfo = "in_size" type AttrOrigin VideoResamplerInSizeFieldInfo = VideoResampler attrGet _ = getVideoResamplerInSize attrSet _ = setVideoResamplerInSize attrConstruct = undefined attrClear _ = undefined videoResampler_inSize :: AttrLabelProxy "inSize" videoResampler_inSize = AttrLabelProxy #endif {- | Get the value of the “@out_size@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #outSize @ -} getVideoResamplerOutSize :: MonadIO m => VideoResampler -> m Int32 getVideoResamplerOutSize s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 4) :: IO Int32 return val {- | Set the value of the “@out_size@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #outSize 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerOutSize :: MonadIO m => VideoResampler -> Int32 -> m () setVideoResamplerOutSize s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 4) (val :: Int32) #if ENABLE_OVERLOADING data VideoResamplerOutSizeFieldInfo instance AttrInfo VideoResamplerOutSizeFieldInfo where type AttrAllowedOps VideoResamplerOutSizeFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerOutSizeFieldInfo = (~) Int32 type AttrBaseTypeConstraint VideoResamplerOutSizeFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerOutSizeFieldInfo = Int32 type AttrLabel VideoResamplerOutSizeFieldInfo = "out_size" type AttrOrigin VideoResamplerOutSizeFieldInfo = VideoResampler attrGet _ = getVideoResamplerOutSize attrSet _ = setVideoResamplerOutSize attrConstruct = undefined attrClear _ = undefined videoResampler_outSize :: AttrLabelProxy "outSize" videoResampler_outSize = AttrLabelProxy #endif {- | Get the value of the “@max_taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #maxTaps @ -} getVideoResamplerMaxTaps :: MonadIO m => VideoResampler -> m Word32 getVideoResamplerMaxTaps s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO Word32 return val {- | Set the value of the “@max_taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #maxTaps 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerMaxTaps :: MonadIO m => VideoResampler -> Word32 -> m () setVideoResamplerMaxTaps s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 8) (val :: Word32) #if ENABLE_OVERLOADING data VideoResamplerMaxTapsFieldInfo instance AttrInfo VideoResamplerMaxTapsFieldInfo where type AttrAllowedOps VideoResamplerMaxTapsFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerMaxTapsFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoResamplerMaxTapsFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerMaxTapsFieldInfo = Word32 type AttrLabel VideoResamplerMaxTapsFieldInfo = "max_taps" type AttrOrigin VideoResamplerMaxTapsFieldInfo = VideoResampler attrGet _ = getVideoResamplerMaxTaps attrSet _ = setVideoResamplerMaxTaps attrConstruct = undefined attrClear _ = undefined videoResampler_maxTaps :: AttrLabelProxy "maxTaps" videoResampler_maxTaps = AttrLabelProxy #endif {- | Get the value of the “@n_phases@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #nPhases @ -} getVideoResamplerNPhases :: MonadIO m => VideoResampler -> m Word32 getVideoResamplerNPhases s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 12) :: IO Word32 return val {- | Set the value of the “@n_phases@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #nPhases 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerNPhases :: MonadIO m => VideoResampler -> Word32 -> m () setVideoResamplerNPhases s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 12) (val :: Word32) #if ENABLE_OVERLOADING data VideoResamplerNPhasesFieldInfo instance AttrInfo VideoResamplerNPhasesFieldInfo where type AttrAllowedOps VideoResamplerNPhasesFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerNPhasesFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoResamplerNPhasesFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerNPhasesFieldInfo = Word32 type AttrLabel VideoResamplerNPhasesFieldInfo = "n_phases" type AttrOrigin VideoResamplerNPhasesFieldInfo = VideoResampler attrGet _ = getVideoResamplerNPhases attrSet _ = setVideoResamplerNPhases attrConstruct = undefined attrClear _ = undefined videoResampler_nPhases :: AttrLabelProxy "nPhases" videoResampler_nPhases = AttrLabelProxy #endif {- | Get the value of the “@offset@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #offset @ -} getVideoResamplerOffset :: MonadIO m => VideoResampler -> m Word32 getVideoResamplerOffset s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Word32 return val {- | Set the value of the “@offset@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #offset 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerOffset :: MonadIO m => VideoResampler -> Word32 -> m () setVideoResamplerOffset s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 16) (val :: Word32) #if ENABLE_OVERLOADING data VideoResamplerOffsetFieldInfo instance AttrInfo VideoResamplerOffsetFieldInfo where type AttrAllowedOps VideoResamplerOffsetFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerOffsetFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoResamplerOffsetFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerOffsetFieldInfo = Word32 type AttrLabel VideoResamplerOffsetFieldInfo = "offset" type AttrOrigin VideoResamplerOffsetFieldInfo = VideoResampler attrGet _ = getVideoResamplerOffset attrSet _ = setVideoResamplerOffset attrConstruct = undefined attrClear _ = undefined videoResampler_offset :: AttrLabelProxy "offset" videoResampler_offset = AttrLabelProxy #endif {- | Get the value of the “@phase@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #phase @ -} getVideoResamplerPhase :: MonadIO m => VideoResampler -> m Word32 getVideoResamplerPhase s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO Word32 return val {- | Set the value of the “@phase@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #phase 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerPhase :: MonadIO m => VideoResampler -> Word32 -> m () setVideoResamplerPhase s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 24) (val :: Word32) #if ENABLE_OVERLOADING data VideoResamplerPhaseFieldInfo instance AttrInfo VideoResamplerPhaseFieldInfo where type AttrAllowedOps VideoResamplerPhaseFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerPhaseFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoResamplerPhaseFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerPhaseFieldInfo = Word32 type AttrLabel VideoResamplerPhaseFieldInfo = "phase" type AttrOrigin VideoResamplerPhaseFieldInfo = VideoResampler attrGet _ = getVideoResamplerPhase attrSet _ = setVideoResamplerPhase attrConstruct = undefined attrClear _ = undefined videoResampler_phase :: AttrLabelProxy "phase" videoResampler_phase = AttrLabelProxy #endif {- | Get the value of the “@n_taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #nTaps @ -} getVideoResamplerNTaps :: MonadIO m => VideoResampler -> m Word32 getVideoResamplerNTaps s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO Word32 return val {- | Set the value of the “@n_taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #nTaps 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerNTaps :: MonadIO m => VideoResampler -> Word32 -> m () setVideoResamplerNTaps s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 32) (val :: Word32) #if ENABLE_OVERLOADING data VideoResamplerNTapsFieldInfo instance AttrInfo VideoResamplerNTapsFieldInfo where type AttrAllowedOps VideoResamplerNTapsFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerNTapsFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoResamplerNTapsFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerNTapsFieldInfo = Word32 type AttrLabel VideoResamplerNTapsFieldInfo = "n_taps" type AttrOrigin VideoResamplerNTapsFieldInfo = VideoResampler attrGet _ = getVideoResamplerNTaps attrSet _ = setVideoResamplerNTaps attrConstruct = undefined attrClear _ = undefined videoResampler_nTaps :: AttrLabelProxy "nTaps" videoResampler_nTaps = AttrLabelProxy #endif {- | Get the value of the “@taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoResampler #taps @ -} getVideoResamplerTaps :: MonadIO m => VideoResampler -> m Double getVideoResamplerTaps s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 40) :: IO CDouble let val' = realToFrac val return val' {- | Set the value of the “@taps@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoResampler [ #taps 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoResamplerTaps :: MonadIO m => VideoResampler -> Double -> m () setVideoResamplerTaps s val = liftIO $ withManagedPtr s $ \ptr -> do let val' = realToFrac val poke (ptr `plusPtr` 40) (val' :: CDouble) #if ENABLE_OVERLOADING data VideoResamplerTapsFieldInfo instance AttrInfo VideoResamplerTapsFieldInfo where type AttrAllowedOps VideoResamplerTapsFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoResamplerTapsFieldInfo = (~) Double type AttrBaseTypeConstraint VideoResamplerTapsFieldInfo = (~) VideoResampler type AttrGetType VideoResamplerTapsFieldInfo = Double type AttrLabel VideoResamplerTapsFieldInfo = "taps" type AttrOrigin VideoResamplerTapsFieldInfo = VideoResampler attrGet _ = getVideoResamplerTaps attrSet _ = setVideoResamplerTaps attrConstruct = undefined attrClear _ = undefined videoResampler_taps :: AttrLabelProxy "taps" videoResampler_taps = AttrLabelProxy #endif #if ENABLE_OVERLOADING instance O.HasAttributeList VideoResampler type instance O.AttributeList VideoResampler = VideoResamplerAttributeList type VideoResamplerAttributeList = ('[ '("inSize", VideoResamplerInSizeFieldInfo), '("outSize", VideoResamplerOutSizeFieldInfo), '("maxTaps", VideoResamplerMaxTapsFieldInfo), '("nPhases", VideoResamplerNPhasesFieldInfo), '("offset", VideoResamplerOffsetFieldInfo), '("phase", VideoResamplerPhaseFieldInfo), '("nTaps", VideoResamplerNTapsFieldInfo), '("taps", VideoResamplerTapsFieldInfo)] :: [(Symbol, *)]) #endif -- method VideoResampler::clear -- method type : OrdinaryMethod -- Args : [Arg {argCName = "resampler", argType = TInterface (Name {namespace = "GstVideo", name = "VideoResampler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoResampler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_video_resampler_clear" gst_video_resampler_clear :: Ptr VideoResampler -> -- resampler : TInterface (Name {namespace = "GstVideo", name = "VideoResampler"}) IO () {- | Clear a previously initialized 'GI.GstVideo.Structs.VideoResampler.VideoResampler' /@resampler@/. /Since: 1.6/ -} videoResamplerClear :: (B.CallStack.HasCallStack, MonadIO m) => VideoResampler {- ^ /@resampler@/: a 'GI.GstVideo.Structs.VideoResampler.VideoResampler' -} -> m () videoResamplerClear resampler = liftIO $ do resampler' <- unsafeManagedPtrGetPtr resampler gst_video_resampler_clear resampler' touchManagedPtr resampler return () #if ENABLE_OVERLOADING data VideoResamplerClearMethodInfo instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VideoResamplerClearMethodInfo VideoResampler signature where overloadedMethod _ = videoResamplerClear #endif -- method VideoResampler::init -- method type : OrdinaryMethod -- Args : [Arg {argCName = "resampler", argType = TInterface (Name {namespace = "GstVideo", name = "VideoResampler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "method", argType = TInterface (Name {namespace = "GstVideo", name = "VideoResamplerMethod"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GstVideo", name = "VideoResamplerFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_phases", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_taps", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shift", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_video_resampler_init" gst_video_resampler_init :: Ptr VideoResampler -> -- resampler : TInterface (Name {namespace = "GstVideo", name = "VideoResampler"}) CUInt -> -- method : TInterface (Name {namespace = "GstVideo", name = "VideoResamplerMethod"}) CUInt -> -- flags : TInterface (Name {namespace = "GstVideo", name = "VideoResamplerFlags"}) Word32 -> -- n_phases : TBasicType TUInt Word32 -> -- n_taps : TBasicType TUInt CDouble -> -- shift : TBasicType TDouble Word32 -> -- in_size : TBasicType TUInt Word32 -> -- out_size : TBasicType TUInt Ptr Gst.Structure.Structure -> -- options : TInterface (Name {namespace = "Gst", name = "Structure"}) IO CInt {- | /No description available in the introspection data./ -} videoResamplerInit :: (B.CallStack.HasCallStack, MonadIO m) => VideoResampler -> GstVideo.Enums.VideoResamplerMethod -> [GstVideo.Flags.VideoResamplerFlags] -> Word32 -> Word32 -> Double -> Word32 -> Word32 -> Gst.Structure.Structure -> m Bool videoResamplerInit resampler method flags nPhases nTaps shift inSize outSize options = liftIO $ do resampler' <- unsafeManagedPtrGetPtr resampler let method' = (fromIntegral . fromEnum) method let flags' = gflagsToWord flags let shift' = realToFrac shift options' <- unsafeManagedPtrGetPtr options result <- gst_video_resampler_init resampler' method' flags' nPhases nTaps shift' inSize outSize options' let result' = (/= 0) result touchManagedPtr resampler touchManagedPtr options return result' #if ENABLE_OVERLOADING data VideoResamplerInitMethodInfo instance (signature ~ (GstVideo.Enums.VideoResamplerMethod -> [GstVideo.Flags.VideoResamplerFlags] -> Word32 -> Word32 -> Double -> Word32 -> Word32 -> Gst.Structure.Structure -> m Bool), MonadIO m) => O.MethodInfo VideoResamplerInitMethodInfo VideoResampler signature where overloadedMethod _ = videoResamplerInit #endif #if ENABLE_OVERLOADING type family ResolveVideoResamplerMethod (t :: Symbol) (o :: *) :: * where ResolveVideoResamplerMethod "clear" o = VideoResamplerClearMethodInfo ResolveVideoResamplerMethod "init" o = VideoResamplerInitMethodInfo ResolveVideoResamplerMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveVideoResamplerMethod t VideoResampler, O.MethodInfo info VideoResampler p) => OL.IsLabel t (VideoResampler -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif