gi-gst-0.1.6.13: GI/Gst/Objects/Pad.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gst.Objects.Pad
(
-- * Exported types
Pad(..) ,
PadK ,
toPad ,
noPad ,
-- * Methods
-- ** padActivateMode
PadActivateModeMethodInfo ,
padActivateMode ,
-- ** padAddProbe
PadAddProbeMethodInfo ,
padAddProbe ,
-- ** padCanLink
PadCanLinkMethodInfo ,
padCanLink ,
-- ** padChain
PadChainMethodInfo ,
padChain ,
-- ** padChainList
PadChainListMethodInfo ,
padChainList ,
-- ** padCheckReconfigure
PadCheckReconfigureMethodInfo ,
padCheckReconfigure ,
-- ** padCreateStreamId
PadCreateStreamIdMethodInfo ,
padCreateStreamId ,
-- ** padEventDefault
PadEventDefaultMethodInfo ,
padEventDefault ,
-- ** padForward
PadForwardMethodInfo ,
padForward ,
-- ** padGetAllowedCaps
PadGetAllowedCapsMethodInfo ,
padGetAllowedCaps ,
-- ** padGetCurrentCaps
PadGetCurrentCapsMethodInfo ,
padGetCurrentCaps ,
-- ** padGetDirection
PadGetDirectionMethodInfo ,
padGetDirection ,
-- ** padGetElementPrivate
PadGetElementPrivateMethodInfo ,
padGetElementPrivate ,
-- ** padGetLastFlowReturn
PadGetLastFlowReturnMethodInfo ,
padGetLastFlowReturn ,
-- ** padGetOffset
PadGetOffsetMethodInfo ,
padGetOffset ,
-- ** padGetPadTemplate
PadGetPadTemplateMethodInfo ,
padGetPadTemplate ,
-- ** padGetPadTemplateCaps
PadGetPadTemplateCapsMethodInfo ,
padGetPadTemplateCaps ,
-- ** padGetParentElement
PadGetParentElementMethodInfo ,
padGetParentElement ,
-- ** padGetPeer
PadGetPeerMethodInfo ,
padGetPeer ,
-- ** padGetRange
PadGetRangeMethodInfo ,
padGetRange ,
-- ** padGetStickyEvent
PadGetStickyEventMethodInfo ,
padGetStickyEvent ,
-- ** padGetStreamId
PadGetStreamIdMethodInfo ,
padGetStreamId ,
-- ** padHasCurrentCaps
PadHasCurrentCapsMethodInfo ,
padHasCurrentCaps ,
-- ** padIsActive
PadIsActiveMethodInfo ,
padIsActive ,
-- ** padIsBlocked
PadIsBlockedMethodInfo ,
padIsBlocked ,
-- ** padIsBlocking
PadIsBlockingMethodInfo ,
padIsBlocking ,
-- ** padIsLinked
PadIsLinkedMethodInfo ,
padIsLinked ,
-- ** padIterateInternalLinks
PadIterateInternalLinksMethodInfo ,
padIterateInternalLinks ,
-- ** padIterateInternalLinksDefault
PadIterateInternalLinksDefaultMethodInfo,
padIterateInternalLinksDefault ,
-- ** padLink
PadLinkMethodInfo ,
padLink ,
-- ** padLinkFull
PadLinkFullMethodInfo ,
padLinkFull ,
-- ** padLinkGetName
padLinkGetName ,
-- ** padMarkReconfigure
PadMarkReconfigureMethodInfo ,
padMarkReconfigure ,
-- ** padNeedsReconfigure
PadNeedsReconfigureMethodInfo ,
padNeedsReconfigure ,
-- ** padNew
padNew ,
-- ** padNewFromStaticTemplate
padNewFromStaticTemplate ,
-- ** padNewFromTemplate
padNewFromTemplate ,
-- ** padPauseTask
PadPauseTaskMethodInfo ,
padPauseTask ,
-- ** padPeerQuery
PadPeerQueryMethodInfo ,
padPeerQuery ,
-- ** padPeerQueryAcceptCaps
PadPeerQueryAcceptCapsMethodInfo ,
padPeerQueryAcceptCaps ,
-- ** padPeerQueryCaps
PadPeerQueryCapsMethodInfo ,
padPeerQueryCaps ,
-- ** padPeerQueryConvert
PadPeerQueryConvertMethodInfo ,
padPeerQueryConvert ,
-- ** padPeerQueryDuration
PadPeerQueryDurationMethodInfo ,
padPeerQueryDuration ,
-- ** padPeerQueryPosition
PadPeerQueryPositionMethodInfo ,
padPeerQueryPosition ,
-- ** padProxyQueryAcceptCaps
PadProxyQueryAcceptCapsMethodInfo ,
padProxyQueryAcceptCaps ,
-- ** padProxyQueryCaps
PadProxyQueryCapsMethodInfo ,
padProxyQueryCaps ,
-- ** padPullRange
PadPullRangeMethodInfo ,
padPullRange ,
-- ** padPush
PadPushMethodInfo ,
padPush ,
-- ** padPushEvent
PadPushEventMethodInfo ,
padPushEvent ,
-- ** padPushList
PadPushListMethodInfo ,
padPushList ,
-- ** padQuery
PadQueryMethodInfo ,
padQuery ,
-- ** padQueryAcceptCaps
PadQueryAcceptCapsMethodInfo ,
padQueryAcceptCaps ,
-- ** padQueryCaps
PadQueryCapsMethodInfo ,
padQueryCaps ,
-- ** padQueryConvert
PadQueryConvertMethodInfo ,
padQueryConvert ,
-- ** padQueryDefault
PadQueryDefaultMethodInfo ,
padQueryDefault ,
-- ** padQueryDuration
PadQueryDurationMethodInfo ,
padQueryDuration ,
-- ** padQueryPosition
PadQueryPositionMethodInfo ,
padQueryPosition ,
-- ** padRemoveProbe
PadRemoveProbeMethodInfo ,
padRemoveProbe ,
-- ** padSendEvent
PadSendEventMethodInfo ,
padSendEvent ,
-- ** padSetActivateFunctionFull
PadSetActivateFunctionFullMethodInfo ,
padSetActivateFunctionFull ,
-- ** padSetActivatemodeFunctionFull
PadSetActivatemodeFunctionFullMethodInfo,
padSetActivatemodeFunctionFull ,
-- ** padSetActive
PadSetActiveMethodInfo ,
padSetActive ,
-- ** padSetChainFunctionFull
PadSetChainFunctionFullMethodInfo ,
padSetChainFunctionFull ,
-- ** padSetChainListFunctionFull
PadSetChainListFunctionFullMethodInfo ,
padSetChainListFunctionFull ,
-- ** padSetElementPrivate
PadSetElementPrivateMethodInfo ,
padSetElementPrivate ,
-- ** padSetEventFunctionFull
PadSetEventFunctionFullMethodInfo ,
padSetEventFunctionFull ,
-- ** padSetGetrangeFunctionFull
PadSetGetrangeFunctionFullMethodInfo ,
padSetGetrangeFunctionFull ,
-- ** padSetIterateInternalLinksFunctionFull
PadSetIterateInternalLinksFunctionFullMethodInfo,
padSetIterateInternalLinksFunctionFull ,
-- ** padSetLinkFunctionFull
PadSetLinkFunctionFullMethodInfo ,
padSetLinkFunctionFull ,
-- ** padSetOffset
PadSetOffsetMethodInfo ,
padSetOffset ,
-- ** padSetQueryFunctionFull
PadSetQueryFunctionFullMethodInfo ,
padSetQueryFunctionFull ,
-- ** padSetUnlinkFunctionFull
PadSetUnlinkFunctionFullMethodInfo ,
padSetUnlinkFunctionFull ,
-- ** padStartTask
PadStartTaskMethodInfo ,
padStartTask ,
-- ** padStickyEventsForeach
PadStickyEventsForeachMethodInfo ,
padStickyEventsForeach ,
-- ** padStopTask
PadStopTaskMethodInfo ,
padStopTask ,
-- ** padStoreStickyEvent
PadStoreStickyEventMethodInfo ,
padStoreStickyEvent ,
-- ** padUnlink
PadUnlinkMethodInfo ,
padUnlink ,
-- ** padUseFixedCaps
PadUseFixedCapsMethodInfo ,
padUseFixedCaps ,
-- * Properties
-- ** Caps
PadCapsPropertyInfo ,
getPadCaps ,
-- ** Direction
PadDirectionPropertyInfo ,
constructPadDirection ,
getPadDirection ,
-- ** Offset
PadOffsetPropertyInfo ,
constructPadOffset ,
getPadOffset ,
setPadOffset ,
-- ** Template
PadTemplatePropertyInfo ,
constructPadTemplate ,
getPadTemplate ,
setPadTemplate ,
-- * Signals
-- ** Linked
PadLinkedCallback ,
PadLinkedCallbackC ,
PadLinkedSignalInfo ,
afterPadLinked ,
mkPadLinkedCallback ,
noPadLinkedCallback ,
onPadLinked ,
padLinkedCallbackWrapper ,
padLinkedClosure ,
-- ** Unlinked
PadUnlinkedCallback ,
PadUnlinkedCallbackC ,
PadUnlinkedSignalInfo ,
afterPadUnlinked ,
mkPadUnlinkedCallback ,
noPadUnlinkedCallback ,
onPadUnlinked ,
padUnlinkedCallbackWrapper ,
padUnlinkedClosure ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gst.Types
import GI.Gst.Callbacks
import qualified GI.GLib as GLib
import qualified GI.GObject as GObject
newtype Pad = Pad (ForeignPtr Pad)
foreign import ccall "gst_pad_get_type"
c_gst_pad_get_type :: IO GType
type instance ParentTypes Pad = PadParentTypes
type PadParentTypes = '[Object, GObject.Object]
instance GObject Pad where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gst_pad_get_type
class GObject o => PadK o
instance (GObject o, IsDescendantOf Pad o) => PadK o
toPad :: PadK o => o -> IO Pad
toPad = unsafeCastTo Pad
noPad :: Maybe Pad
noPad = Nothing
type family ResolvePadMethod (t :: Symbol) (o :: *) :: * where
ResolvePadMethod "activateMode" o = PadActivateModeMethodInfo
ResolvePadMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo
ResolvePadMethod "addProbe" o = PadAddProbeMethodInfo
ResolvePadMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolvePadMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolvePadMethod "canLink" o = PadCanLinkMethodInfo
ResolvePadMethod "chain" o = PadChainMethodInfo
ResolvePadMethod "chainList" o = PadChainListMethodInfo
ResolvePadMethod "checkReconfigure" o = PadCheckReconfigureMethodInfo
ResolvePadMethod "createStreamId" o = PadCreateStreamIdMethodInfo
ResolvePadMethod "defaultError" o = ObjectDefaultErrorMethodInfo
ResolvePadMethod "eventDefault" o = PadEventDefaultMethodInfo
ResolvePadMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolvePadMethod "forward" o = PadForwardMethodInfo
ResolvePadMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolvePadMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo
ResolvePadMethod "hasAncestor" o = ObjectHasAncestorMethodInfo
ResolvePadMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo
ResolvePadMethod "hasAsParent" o = ObjectHasAsParentMethodInfo
ResolvePadMethod "hasCurrentCaps" o = PadHasCurrentCapsMethodInfo
ResolvePadMethod "isActive" o = PadIsActiveMethodInfo
ResolvePadMethod "isBlocked" o = PadIsBlockedMethodInfo
ResolvePadMethod "isBlocking" o = PadIsBlockingMethodInfo
ResolvePadMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolvePadMethod "isLinked" o = PadIsLinkedMethodInfo
ResolvePadMethod "iterateInternalLinks" o = PadIterateInternalLinksMethodInfo
ResolvePadMethod "iterateInternalLinksDefault" o = PadIterateInternalLinksDefaultMethodInfo
ResolvePadMethod "link" o = PadLinkMethodInfo
ResolvePadMethod "linkFull" o = PadLinkFullMethodInfo
ResolvePadMethod "markReconfigure" o = PadMarkReconfigureMethodInfo
ResolvePadMethod "needsReconfigure" o = PadNeedsReconfigureMethodInfo
ResolvePadMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolvePadMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolvePadMethod "pauseTask" o = PadPauseTaskMethodInfo
ResolvePadMethod "peerQuery" o = PadPeerQueryMethodInfo
ResolvePadMethod "peerQueryAcceptCaps" o = PadPeerQueryAcceptCapsMethodInfo
ResolvePadMethod "peerQueryCaps" o = PadPeerQueryCapsMethodInfo
ResolvePadMethod "peerQueryConvert" o = PadPeerQueryConvertMethodInfo
ResolvePadMethod "peerQueryDuration" o = PadPeerQueryDurationMethodInfo
ResolvePadMethod "peerQueryPosition" o = PadPeerQueryPositionMethodInfo
ResolvePadMethod "proxyQueryAcceptCaps" o = PadProxyQueryAcceptCapsMethodInfo
ResolvePadMethod "proxyQueryCaps" o = PadProxyQueryCapsMethodInfo
ResolvePadMethod "pullRange" o = PadPullRangeMethodInfo
ResolvePadMethod "push" o = PadPushMethodInfo
ResolvePadMethod "pushEvent" o = PadPushEventMethodInfo
ResolvePadMethod "pushList" o = PadPushListMethodInfo
ResolvePadMethod "query" o = PadQueryMethodInfo
ResolvePadMethod "queryAcceptCaps" o = PadQueryAcceptCapsMethodInfo
ResolvePadMethod "queryCaps" o = PadQueryCapsMethodInfo
ResolvePadMethod "queryConvert" o = PadQueryConvertMethodInfo
ResolvePadMethod "queryDefault" o = PadQueryDefaultMethodInfo
ResolvePadMethod "queryDuration" o = PadQueryDurationMethodInfo
ResolvePadMethod "queryPosition" o = PadQueryPositionMethodInfo
ResolvePadMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolvePadMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo
ResolvePadMethod "removeProbe" o = PadRemoveProbeMethodInfo
ResolvePadMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolvePadMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolvePadMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolvePadMethod "sendEvent" o = PadSendEventMethodInfo
ResolvePadMethod "startTask" o = PadStartTaskMethodInfo
ResolvePadMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolvePadMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolvePadMethod "stickyEventsForeach" o = PadStickyEventsForeachMethodInfo
ResolvePadMethod "stopTask" o = PadStopTaskMethodInfo
ResolvePadMethod "storeStickyEvent" o = PadStoreStickyEventMethodInfo
ResolvePadMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo
ResolvePadMethod "syncValues" o = ObjectSyncValuesMethodInfo
ResolvePadMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolvePadMethod "unlink" o = PadUnlinkMethodInfo
ResolvePadMethod "unparent" o = ObjectUnparentMethodInfo
ResolvePadMethod "useFixedCaps" o = PadUseFixedCapsMethodInfo
ResolvePadMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolvePadMethod "getAllowedCaps" o = PadGetAllowedCapsMethodInfo
ResolvePadMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo
ResolvePadMethod "getControlRate" o = ObjectGetControlRateMethodInfo
ResolvePadMethod "getCurrentCaps" o = PadGetCurrentCapsMethodInfo
ResolvePadMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolvePadMethod "getDirection" o = PadGetDirectionMethodInfo
ResolvePadMethod "getElementPrivate" o = PadGetElementPrivateMethodInfo
ResolvePadMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo
ResolvePadMethod "getLastFlowReturn" o = PadGetLastFlowReturnMethodInfo
ResolvePadMethod "getName" o = ObjectGetNameMethodInfo
ResolvePadMethod "getOffset" o = PadGetOffsetMethodInfo
ResolvePadMethod "getPadTemplate" o = PadGetPadTemplateMethodInfo
ResolvePadMethod "getPadTemplateCaps" o = PadGetPadTemplateCapsMethodInfo
ResolvePadMethod "getParent" o = ObjectGetParentMethodInfo
ResolvePadMethod "getParentElement" o = PadGetParentElementMethodInfo
ResolvePadMethod "getPathString" o = ObjectGetPathStringMethodInfo
ResolvePadMethod "getPeer" o = PadGetPeerMethodInfo
ResolvePadMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolvePadMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolvePadMethod "getRange" o = PadGetRangeMethodInfo
ResolvePadMethod "getStickyEvent" o = PadGetStickyEventMethodInfo
ResolvePadMethod "getStreamId" o = PadGetStreamIdMethodInfo
ResolvePadMethod "getValue" o = ObjectGetValueMethodInfo
ResolvePadMethod "getValueArray" o = ObjectGetValueArrayMethodInfo
ResolvePadMethod "setActivateFunctionFull" o = PadSetActivateFunctionFullMethodInfo
ResolvePadMethod "setActivatemodeFunctionFull" o = PadSetActivatemodeFunctionFullMethodInfo
ResolvePadMethod "setActive" o = PadSetActiveMethodInfo
ResolvePadMethod "setChainFunctionFull" o = PadSetChainFunctionFullMethodInfo
ResolvePadMethod "setChainListFunctionFull" o = PadSetChainListFunctionFullMethodInfo
ResolvePadMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo
ResolvePadMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo
ResolvePadMethod "setControlRate" o = ObjectSetControlRateMethodInfo
ResolvePadMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolvePadMethod "setElementPrivate" o = PadSetElementPrivateMethodInfo
ResolvePadMethod "setEventFunctionFull" o = PadSetEventFunctionFullMethodInfo
ResolvePadMethod "setGetrangeFunctionFull" o = PadSetGetrangeFunctionFullMethodInfo
ResolvePadMethod "setIterateInternalLinksFunctionFull" o = PadSetIterateInternalLinksFunctionFullMethodInfo
ResolvePadMethod "setLinkFunctionFull" o = PadSetLinkFunctionFullMethodInfo
ResolvePadMethod "setName" o = ObjectSetNameMethodInfo
ResolvePadMethod "setOffset" o = PadSetOffsetMethodInfo
ResolvePadMethod "setParent" o = ObjectSetParentMethodInfo
ResolvePadMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolvePadMethod "setQueryFunctionFull" o = PadSetQueryFunctionFullMethodInfo
ResolvePadMethod "setUnlinkFunctionFull" o = PadSetUnlinkFunctionFullMethodInfo
ResolvePadMethod l o = MethodResolutionFailed l o
instance (info ~ ResolvePadMethod t Pad, MethodInfo info Pad p) => IsLabelProxy t (Pad -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolvePadMethod t Pad, MethodInfo info Pad p) => IsLabel t (Pad -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- signal Pad::linked
type PadLinkedCallback =
Pad ->
IO ()
noPadLinkedCallback :: Maybe PadLinkedCallback
noPadLinkedCallback = Nothing
type PadLinkedCallbackC =
Ptr () -> -- object
Ptr Pad ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkPadLinkedCallback :: PadLinkedCallbackC -> IO (FunPtr PadLinkedCallbackC)
padLinkedClosure :: PadLinkedCallback -> IO Closure
padLinkedClosure cb = newCClosure =<< mkPadLinkedCallback wrapped
where wrapped = padLinkedCallbackWrapper cb
padLinkedCallbackWrapper ::
PadLinkedCallback ->
Ptr () ->
Ptr Pad ->
Ptr () ->
IO ()
padLinkedCallbackWrapper _cb _ peer _ = do
peer' <- (newObject Pad) peer
_cb peer'
onPadLinked :: (GObject a, MonadIO m) => a -> PadLinkedCallback -> m SignalHandlerId
onPadLinked obj cb = liftIO $ connectPadLinked obj cb SignalConnectBefore
afterPadLinked :: (GObject a, MonadIO m) => a -> PadLinkedCallback -> m SignalHandlerId
afterPadLinked obj cb = connectPadLinked obj cb SignalConnectAfter
connectPadLinked :: (GObject a, MonadIO m) =>
a -> PadLinkedCallback -> SignalConnectMode -> m SignalHandlerId
connectPadLinked obj cb after = liftIO $ do
cb' <- mkPadLinkedCallback (padLinkedCallbackWrapper cb)
connectSignalFunPtr obj "linked" cb' after
-- signal Pad::unlinked
type PadUnlinkedCallback =
Pad ->
IO ()
noPadUnlinkedCallback :: Maybe PadUnlinkedCallback
noPadUnlinkedCallback = Nothing
type PadUnlinkedCallbackC =
Ptr () -> -- object
Ptr Pad ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkPadUnlinkedCallback :: PadUnlinkedCallbackC -> IO (FunPtr PadUnlinkedCallbackC)
padUnlinkedClosure :: PadUnlinkedCallback -> IO Closure
padUnlinkedClosure cb = newCClosure =<< mkPadUnlinkedCallback wrapped
where wrapped = padUnlinkedCallbackWrapper cb
padUnlinkedCallbackWrapper ::
PadUnlinkedCallback ->
Ptr () ->
Ptr Pad ->
Ptr () ->
IO ()
padUnlinkedCallbackWrapper _cb _ peer _ = do
peer' <- (newObject Pad) peer
_cb peer'
onPadUnlinked :: (GObject a, MonadIO m) => a -> PadUnlinkedCallback -> m SignalHandlerId
onPadUnlinked obj cb = liftIO $ connectPadUnlinked obj cb SignalConnectBefore
afterPadUnlinked :: (GObject a, MonadIO m) => a -> PadUnlinkedCallback -> m SignalHandlerId
afterPadUnlinked obj cb = connectPadUnlinked obj cb SignalConnectAfter
connectPadUnlinked :: (GObject a, MonadIO m) =>
a -> PadUnlinkedCallback -> SignalConnectMode -> m SignalHandlerId
connectPadUnlinked obj cb after = liftIO $ do
cb' <- mkPadUnlinkedCallback (padUnlinkedCallbackWrapper cb)
connectSignalFunPtr obj "unlinked" cb' after
-- VVV Prop "caps"
-- Type: TInterface "Gst" "Caps"
-- Flags: [PropertyReadable]
getPadCaps :: (MonadIO m, PadK o) => o -> m Caps
getPadCaps obj = liftIO $ getObjectPropertyBoxed obj "caps" Caps
data PadCapsPropertyInfo
instance AttrInfo PadCapsPropertyInfo where
type AttrAllowedOps PadCapsPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint PadCapsPropertyInfo = (~) ()
type AttrBaseTypeConstraint PadCapsPropertyInfo = PadK
type AttrGetType PadCapsPropertyInfo = Caps
type AttrLabel PadCapsPropertyInfo = "caps"
attrGet _ = getPadCaps
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "direction"
-- Type: TInterface "Gst" "PadDirection"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getPadDirection :: (MonadIO m, PadK o) => o -> m PadDirection
getPadDirection obj = liftIO $ getObjectPropertyEnum obj "direction"
constructPadDirection :: PadDirection -> IO ([Char], GValue)
constructPadDirection val = constructObjectPropertyEnum "direction" val
data PadDirectionPropertyInfo
instance AttrInfo PadDirectionPropertyInfo where
type AttrAllowedOps PadDirectionPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PadDirectionPropertyInfo = (~) PadDirection
type AttrBaseTypeConstraint PadDirectionPropertyInfo = PadK
type AttrGetType PadDirectionPropertyInfo = PadDirection
type AttrLabel PadDirectionPropertyInfo = "direction"
attrGet _ = getPadDirection
attrSet _ = undefined
attrConstruct _ = constructPadDirection
-- VVV Prop "offset"
-- Type: TBasicType TInt64
-- Flags: [PropertyReadable,PropertyWritable]
getPadOffset :: (MonadIO m, PadK o) => o -> m Int64
getPadOffset obj = liftIO $ getObjectPropertyInt64 obj "offset"
setPadOffset :: (MonadIO m, PadK o) => o -> Int64 -> m ()
setPadOffset obj val = liftIO $ setObjectPropertyInt64 obj "offset" val
constructPadOffset :: Int64 -> IO ([Char], GValue)
constructPadOffset val = constructObjectPropertyInt64 "offset" val
data PadOffsetPropertyInfo
instance AttrInfo PadOffsetPropertyInfo where
type AttrAllowedOps PadOffsetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PadOffsetPropertyInfo = (~) Int64
type AttrBaseTypeConstraint PadOffsetPropertyInfo = PadK
type AttrGetType PadOffsetPropertyInfo = Int64
type AttrLabel PadOffsetPropertyInfo = "offset"
attrGet _ = getPadOffset
attrSet _ = setPadOffset
attrConstruct _ = constructPadOffset
-- VVV Prop "template"
-- Type: TInterface "Gst" "PadTemplate"
-- Flags: [PropertyReadable,PropertyWritable]
getPadTemplate :: (MonadIO m, PadK o) => o -> m PadTemplate
getPadTemplate obj = liftIO $ getObjectPropertyObject obj "template" PadTemplate
setPadTemplate :: (MonadIO m, PadK o, PadTemplateK a) => o -> a -> m ()
setPadTemplate obj val = liftIO $ setObjectPropertyObject obj "template" val
constructPadTemplate :: (PadTemplateK a) => a -> IO ([Char], GValue)
constructPadTemplate val = constructObjectPropertyObject "template" val
data PadTemplatePropertyInfo
instance AttrInfo PadTemplatePropertyInfo where
type AttrAllowedOps PadTemplatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PadTemplatePropertyInfo = PadTemplateK
type AttrBaseTypeConstraint PadTemplatePropertyInfo = PadK
type AttrGetType PadTemplatePropertyInfo = PadTemplate
type AttrLabel PadTemplatePropertyInfo = "template"
attrGet _ = getPadTemplate
attrSet _ = setPadTemplate
attrConstruct _ = constructPadTemplate
type instance AttributeList Pad = PadAttributeList
type PadAttributeList = ('[ '("caps", PadCapsPropertyInfo), '("direction", PadDirectionPropertyInfo), '("name", ObjectNamePropertyInfo), '("offset", PadOffsetPropertyInfo), '("parent", ObjectParentPropertyInfo), '("template", PadTemplatePropertyInfo)] :: [(Symbol, *)])
data PadLinkedSignalInfo
instance SignalInfo PadLinkedSignalInfo where
type HaskellCallbackType PadLinkedSignalInfo = PadLinkedCallback
connectSignal _ = connectPadLinked
data PadUnlinkedSignalInfo
instance SignalInfo PadUnlinkedSignalInfo where
type HaskellCallbackType PadUnlinkedSignalInfo = PadUnlinkedCallback
connectSignal _ = connectPadUnlinked
type instance SignalList Pad = PadSignalList
type PadSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("linked", PadLinkedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("unlinked", PadUnlinkedSignalInfo)] :: [(Symbol, *)])
-- method Pad::new
-- method type : Constructor
-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface "Gst" "PadDirection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_new" gst_pad_new ::
CString -> -- name : TBasicType TUTF8
CUInt -> -- direction : TInterface "Gst" "PadDirection"
IO (Ptr Pad)
padNew ::
(MonadIO m) =>
Maybe (T.Text) -- name
-> PadDirection -- direction
-> m Pad -- result
padNew name direction = liftIO $ do
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
let direction' = (fromIntegral . fromEnum) direction
result <- gst_pad_new maybeName direction'
checkUnexpectedReturnNULL "gst_pad_new" result
result' <- (newObject Pad) result
freeMem maybeName
return result'
-- method Pad::new_from_static_template
-- method type : Constructor
-- Args : [Arg {argCName = "templ", argType = TInterface "Gst" "StaticPadTemplate", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_new_from_static_template" gst_pad_new_from_static_template ::
Ptr StaticPadTemplate -> -- templ : TInterface "Gst" "StaticPadTemplate"
CString -> -- name : TBasicType TUTF8
IO (Ptr Pad)
padNewFromStaticTemplate ::
(MonadIO m) =>
StaticPadTemplate -- templ
-> T.Text -- name
-> m Pad -- result
padNewFromStaticTemplate templ name = liftIO $ do
let templ' = unsafeManagedPtrGetPtr templ
name' <- textToCString name
result <- gst_pad_new_from_static_template templ' name'
checkUnexpectedReturnNULL "gst_pad_new_from_static_template" result
result' <- (newObject Pad) result
touchManagedPtr templ
freeMem name'
return result'
-- method Pad::new_from_template
-- method type : Constructor
-- Args : [Arg {argCName = "templ", argType = TInterface "Gst" "PadTemplate", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_new_from_template" gst_pad_new_from_template ::
Ptr PadTemplate -> -- templ : TInterface "Gst" "PadTemplate"
CString -> -- name : TBasicType TUTF8
IO (Ptr Pad)
padNewFromTemplate ::
(MonadIO m, PadTemplateK a) =>
a -- templ
-> Maybe (T.Text) -- name
-> m Pad -- result
padNewFromTemplate templ name = liftIO $ do
let templ' = unsafeManagedPtrCastPtr templ
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
result <- gst_pad_new_from_template templ' maybeName
checkUnexpectedReturnNULL "gst_pad_new_from_template" result
result' <- (newObject Pad) result
touchManagedPtr templ
freeMem maybeName
return result'
-- method Pad::activate_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface "Gst" "PadMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_activate_mode" gst_pad_activate_mode ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- mode : TInterface "Gst" "PadMode"
CInt -> -- active : TBasicType TBoolean
IO CInt
padActivateMode ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadMode -- mode
-> Bool -- active
-> m Bool -- result
padActivateMode _obj mode active = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let mode' = (fromIntegral . fromEnum) mode
let active' = (fromIntegral . fromEnum) active
result <- gst_pad_activate_mode _obj' mode' active'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadActivateModeMethodInfo
instance (signature ~ (PadMode -> Bool -> m Bool), MonadIO m, PadK a) => MethodInfo PadActivateModeMethodInfo a signature where
overloadedMethod _ = padActivateMode
-- method Pad::add_probe
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface "Gst" "PadProbeType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface "Gst" "PadProbeCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_data", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_add_probe" gst_pad_add_probe ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- mask : TInterface "Gst" "PadProbeType"
FunPtr PadProbeCallbackC -> -- callback : TInterface "Gst" "PadProbeCallback"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- destroy_data : TInterface "GLib" "DestroyNotify"
IO Word64
padAddProbe ::
(MonadIO m, PadK a) =>
a -- _obj
-> [PadProbeType] -- mask
-> PadProbeCallback -- callback
-> m Word64 -- result
padAddProbe _obj mask callback = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let mask' = gflagsToWord mask
callback' <- mkPadProbeCallback (padProbeCallbackWrapper Nothing callback)
let userData = castFunPtrToPtr callback'
let destroyData = safeFreeFunPtrPtr
result <- gst_pad_add_probe _obj' mask' callback' userData destroyData
touchManagedPtr _obj
return result
data PadAddProbeMethodInfo
instance (signature ~ ([PadProbeType] -> PadProbeCallback -> m Word64), MonadIO m, PadK a) => MethodInfo PadAddProbeMethodInfo a signature where
overloadedMethod _ = padAddProbe
-- method Pad::can_link
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_can_link" gst_pad_can_link ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Pad -> -- sinkpad : TInterface "Gst" "Pad"
IO CInt
padCanLink ::
(MonadIO m, PadK a, PadK b) =>
a -- _obj
-> b -- sinkpad
-> m Bool -- result
padCanLink _obj sinkpad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let sinkpad' = unsafeManagedPtrCastPtr sinkpad
result <- gst_pad_can_link _obj' sinkpad'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr sinkpad
return result'
data PadCanLinkMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, PadK a, PadK b) => MethodInfo PadCanLinkMethodInfo a signature where
overloadedMethod _ = padCanLink
-- method Pad::chain
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_chain" gst_pad_chain ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Buffer -> -- buffer : TInterface "Gst" "Buffer"
IO CUInt
padChain ::
(MonadIO m, PadK a) =>
a -- _obj
-> Buffer -- buffer
-> m FlowReturn -- result
padChain _obj buffer = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- copyBoxed buffer
result <- gst_pad_chain _obj' buffer'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr buffer
return result'
data PadChainMethodInfo
instance (signature ~ (Buffer -> m FlowReturn), MonadIO m, PadK a) => MethodInfo PadChainMethodInfo a signature where
overloadedMethod _ = padChain
-- method Pad::chain_list
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface "Gst" "BufferList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_chain_list" gst_pad_chain_list ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr BufferList -> -- list : TInterface "Gst" "BufferList"
IO CUInt
padChainList ::
(MonadIO m, PadK a) =>
a -- _obj
-> BufferList -- list
-> m FlowReturn -- result
padChainList _obj list = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
list' <- copyBoxed list
result <- gst_pad_chain_list _obj' list'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr list
return result'
data PadChainListMethodInfo
instance (signature ~ (BufferList -> m FlowReturn), MonadIO m, PadK a) => MethodInfo PadChainListMethodInfo a signature where
overloadedMethod _ = padChainList
-- method Pad::check_reconfigure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_check_reconfigure" gst_pad_check_reconfigure ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padCheckReconfigure ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padCheckReconfigure _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_check_reconfigure _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadCheckReconfigureMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadCheckReconfigureMethodInfo a signature where
overloadedMethod _ = padCheckReconfigure
-- method Pad::create_stream_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_create_stream_id" gst_pad_create_stream_id ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Element -> -- parent : TInterface "Gst" "Element"
CString -> -- stream_id : TBasicType TUTF8
IO CString
padCreateStreamId ::
(MonadIO m, PadK a, ElementK b) =>
a -- _obj
-> b -- parent
-> Maybe (T.Text) -- streamId
-> m T.Text -- result
padCreateStreamId _obj parent streamId = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let parent' = unsafeManagedPtrCastPtr parent
maybeStreamId <- case streamId of
Nothing -> return nullPtr
Just jStreamId -> do
jStreamId' <- textToCString jStreamId
return jStreamId'
result <- gst_pad_create_stream_id _obj' parent' maybeStreamId
checkUnexpectedReturnNULL "gst_pad_create_stream_id" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
touchManagedPtr parent
freeMem maybeStreamId
return result'
data PadCreateStreamIdMethodInfo
instance (signature ~ (b -> Maybe (T.Text) -> m T.Text), MonadIO m, PadK a, ElementK b) => MethodInfo PadCreateStreamIdMethodInfo a signature where
overloadedMethod _ = padCreateStreamId
-- method Pad::event_default
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface "Gst" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_event_default" gst_pad_event_default ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Object -> -- parent : TInterface "Gst" "Object"
Ptr Event -> -- event : TInterface "Gst" "Event"
IO CInt
padEventDefault ::
(MonadIO m, PadK a, ObjectK b) =>
a -- _obj
-> Maybe (b) -- parent
-> Event -- event
-> m Bool -- result
padEventDefault _obj parent event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrCastPtr jParent
return jParent'
event' <- copyBoxed event
result <- gst_pad_event_default _obj' maybeParent event'
let result' = (/= 0) result
touchManagedPtr _obj
whenJust parent touchManagedPtr
touchManagedPtr event
return result'
data PadEventDefaultMethodInfo
instance (signature ~ (Maybe (b) -> Event -> m Bool), MonadIO m, PadK a, ObjectK b) => MethodInfo PadEventDefaultMethodInfo a signature where
overloadedMethod _ = padEventDefault
-- method Pad::forward
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "forward", argType = TInterface "Gst" "PadForwardFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_forward" gst_pad_forward ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadForwardFunctionC -> -- forward : TInterface "Gst" "PadForwardFunction"
Ptr () -> -- user_data : TBasicType TVoid
IO CInt
padForward ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadForwardFunction -- forward
-> m Bool -- result
padForward _obj forward = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
forward' <- mkPadForwardFunction (padForwardFunctionWrapper Nothing forward)
let userData = nullPtr
result <- gst_pad_forward _obj' forward' userData
let result' = (/= 0) result
safeFreeFunPtr $ castFunPtrToPtr forward'
touchManagedPtr _obj
return result'
data PadForwardMethodInfo
instance (signature ~ (PadForwardFunction -> m Bool), MonadIO m, PadK a) => MethodInfo PadForwardMethodInfo a signature where
overloadedMethod _ = padForward
-- method Pad::get_allowed_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Caps"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_allowed_caps" gst_pad_get_allowed_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Caps)
padGetAllowedCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Caps -- result
padGetAllowedCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_allowed_caps _obj'
checkUnexpectedReturnNULL "gst_pad_get_allowed_caps" result
result' <- (wrapBoxed Caps) result
touchManagedPtr _obj
return result'
data PadGetAllowedCapsMethodInfo
instance (signature ~ (m Caps), MonadIO m, PadK a) => MethodInfo PadGetAllowedCapsMethodInfo a signature where
overloadedMethod _ = padGetAllowedCaps
-- method Pad::get_current_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Caps"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_current_caps" gst_pad_get_current_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Caps)
padGetCurrentCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Caps -- result
padGetCurrentCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_current_caps _obj'
checkUnexpectedReturnNULL "gst_pad_get_current_caps" result
result' <- (wrapBoxed Caps) result
touchManagedPtr _obj
return result'
data PadGetCurrentCapsMethodInfo
instance (signature ~ (m Caps), MonadIO m, PadK a) => MethodInfo PadGetCurrentCapsMethodInfo a signature where
overloadedMethod _ = padGetCurrentCaps
-- method Pad::get_direction
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "PadDirection"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_direction" gst_pad_get_direction ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CUInt
padGetDirection ::
(MonadIO m, PadK a) =>
a -- _obj
-> m PadDirection -- result
padGetDirection _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_direction _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data PadGetDirectionMethodInfo
instance (signature ~ (m PadDirection), MonadIO m, PadK a) => MethodInfo PadGetDirectionMethodInfo a signature where
overloadedMethod _ = padGetDirection
-- method Pad::get_element_private
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_element_private" gst_pad_get_element_private ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO ()
padGetElementPrivate ::
(MonadIO m, PadK a) =>
a -- _obj
-> m () -- result
padGetElementPrivate _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_get_element_private _obj'
touchManagedPtr _obj
return ()
data PadGetElementPrivateMethodInfo
instance (signature ~ (m ()), MonadIO m, PadK a) => MethodInfo PadGetElementPrivateMethodInfo a signature where
overloadedMethod _ = padGetElementPrivate
-- method Pad::get_last_flow_return
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_last_flow_return" gst_pad_get_last_flow_return ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CUInt
padGetLastFlowReturn ::
(MonadIO m, PadK a) =>
a -- _obj
-> m FlowReturn -- result
padGetLastFlowReturn _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_last_flow_return _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data PadGetLastFlowReturnMethodInfo
instance (signature ~ (m FlowReturn), MonadIO m, PadK a) => MethodInfo PadGetLastFlowReturnMethodInfo a signature where
overloadedMethod _ = padGetLastFlowReturn
-- method Pad::get_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_offset" gst_pad_get_offset ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO Int64
padGetOffset ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Int64 -- result
padGetOffset _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_offset _obj'
touchManagedPtr _obj
return result
data PadGetOffsetMethodInfo
instance (signature ~ (m Int64), MonadIO m, PadK a) => MethodInfo PadGetOffsetMethodInfo a signature where
overloadedMethod _ = padGetOffset
-- method Pad::get_pad_template
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "PadTemplate"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_pad_template" gst_pad_get_pad_template ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr PadTemplate)
padGetPadTemplate ::
(MonadIO m, PadK a) =>
a -- _obj
-> m PadTemplate -- result
padGetPadTemplate _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_pad_template _obj'
checkUnexpectedReturnNULL "gst_pad_get_pad_template" result
result' <- (wrapObject PadTemplate) result
touchManagedPtr _obj
return result'
data PadGetPadTemplateMethodInfo
instance (signature ~ (m PadTemplate), MonadIO m, PadK a) => MethodInfo PadGetPadTemplateMethodInfo a signature where
overloadedMethod _ = padGetPadTemplate
-- method Pad::get_pad_template_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Caps"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_pad_template_caps" gst_pad_get_pad_template_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Caps)
padGetPadTemplateCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Caps -- result
padGetPadTemplateCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_pad_template_caps _obj'
checkUnexpectedReturnNULL "gst_pad_get_pad_template_caps" result
result' <- (wrapBoxed Caps) result
touchManagedPtr _obj
return result'
data PadGetPadTemplateCapsMethodInfo
instance (signature ~ (m Caps), MonadIO m, PadK a) => MethodInfo PadGetPadTemplateCapsMethodInfo a signature where
overloadedMethod _ = padGetPadTemplateCaps
-- method Pad::get_parent_element
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Element"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_parent_element" gst_pad_get_parent_element ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Element)
padGetParentElement ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Element -- result
padGetParentElement _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_parent_element _obj'
checkUnexpectedReturnNULL "gst_pad_get_parent_element" result
result' <- (wrapObject Element) result
touchManagedPtr _obj
return result'
data PadGetParentElementMethodInfo
instance (signature ~ (m Element), MonadIO m, PadK a) => MethodInfo PadGetParentElementMethodInfo a signature where
overloadedMethod _ = padGetParentElement
-- method Pad::get_peer
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_peer" gst_pad_get_peer ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Pad)
padGetPeer ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Pad -- result
padGetPeer _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_peer _obj'
checkUnexpectedReturnNULL "gst_pad_get_peer" result
result' <- (wrapObject Pad) result
touchManagedPtr _obj
return result'
data PadGetPeerMethodInfo
instance (signature ~ (m Pad), MonadIO m, PadK a) => MethodInfo PadGetPeerMethodInfo a signature where
overloadedMethod _ = padGetPeer
-- method Pad::get_range
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_range" gst_pad_get_range ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Word64 -> -- offset : TBasicType TUInt64
Word32 -> -- size : TBasicType TUInt32
Ptr Buffer -> -- buffer : TInterface "Gst" "Buffer"
IO CUInt
padGetRange ::
(MonadIO m, PadK a) =>
a -- _obj
-> Word64 -- offset
-> Word32 -- size
-> m (FlowReturn,Buffer) -- result
padGetRange _obj offset size = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
buffer <- callocBoxedBytes 112 :: IO (Ptr Buffer)
result <- gst_pad_get_range _obj' offset size buffer
let result' = (toEnum . fromIntegral) result
buffer' <- (wrapBoxed Buffer) buffer
touchManagedPtr _obj
return (result', buffer')
data PadGetRangeMethodInfo
instance (signature ~ (Word64 -> Word32 -> m (FlowReturn,Buffer)), MonadIO m, PadK a) => MethodInfo PadGetRangeMethodInfo a signature where
overloadedMethod _ = padGetRange
-- method Pad::get_sticky_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_type", argType = TInterface "Gst" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_sticky_event" gst_pad_get_sticky_event ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- event_type : TInterface "Gst" "EventType"
Word32 -> -- idx : TBasicType TUInt32
IO (Ptr Event)
padGetStickyEvent ::
(MonadIO m, PadK a) =>
a -- _obj
-> EventType -- eventType
-> Word32 -- idx
-> m Event -- result
padGetStickyEvent _obj eventType idx = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let eventType' = (fromIntegral . fromEnum) eventType
result <- gst_pad_get_sticky_event _obj' eventType' idx
checkUnexpectedReturnNULL "gst_pad_get_sticky_event" result
result' <- (wrapBoxed Event) result
touchManagedPtr _obj
return result'
data PadGetStickyEventMethodInfo
instance (signature ~ (EventType -> Word32 -> m Event), MonadIO m, PadK a) => MethodInfo PadGetStickyEventMethodInfo a signature where
overloadedMethod _ = padGetStickyEvent
-- method Pad::get_stream_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_get_stream_id" gst_pad_get_stream_id ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CString
padGetStreamId ::
(MonadIO m, PadK a) =>
a -- _obj
-> m T.Text -- result
padGetStreamId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_get_stream_id _obj'
checkUnexpectedReturnNULL "gst_pad_get_stream_id" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
data PadGetStreamIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m, PadK a) => MethodInfo PadGetStreamIdMethodInfo a signature where
overloadedMethod _ = padGetStreamId
-- method Pad::has_current_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_has_current_caps" gst_pad_has_current_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padHasCurrentCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padHasCurrentCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_has_current_caps _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadHasCurrentCapsMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadHasCurrentCapsMethodInfo a signature where
overloadedMethod _ = padHasCurrentCaps
-- method Pad::is_active
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_is_active" gst_pad_is_active ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padIsActive ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padIsActive _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_is_active _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadIsActiveMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadIsActiveMethodInfo a signature where
overloadedMethod _ = padIsActive
-- method Pad::is_blocked
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_is_blocked" gst_pad_is_blocked ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padIsBlocked ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padIsBlocked _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_is_blocked _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadIsBlockedMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadIsBlockedMethodInfo a signature where
overloadedMethod _ = padIsBlocked
-- method Pad::is_blocking
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_is_blocking" gst_pad_is_blocking ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padIsBlocking ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padIsBlocking _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_is_blocking _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadIsBlockingMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadIsBlockingMethodInfo a signature where
overloadedMethod _ = padIsBlocking
-- method Pad::is_linked
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_is_linked" gst_pad_is_linked ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padIsLinked ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padIsLinked _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_is_linked _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadIsLinkedMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadIsLinkedMethodInfo a signature where
overloadedMethod _ = padIsLinked
-- method Pad::iterate_internal_links
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Iterator"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_iterate_internal_links" gst_pad_iterate_internal_links ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO (Ptr Iterator)
padIterateInternalLinks ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Iterator -- result
padIterateInternalLinks _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_iterate_internal_links _obj'
checkUnexpectedReturnNULL "gst_pad_iterate_internal_links" result
result' <- (wrapBoxed Iterator) result
touchManagedPtr _obj
return result'
data PadIterateInternalLinksMethodInfo
instance (signature ~ (m Iterator), MonadIO m, PadK a) => MethodInfo PadIterateInternalLinksMethodInfo a signature where
overloadedMethod _ = padIterateInternalLinks
-- method Pad::iterate_internal_links_default
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface "Gst" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Iterator"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_iterate_internal_links_default" gst_pad_iterate_internal_links_default ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Object -> -- parent : TInterface "Gst" "Object"
IO (Ptr Iterator)
padIterateInternalLinksDefault ::
(MonadIO m, PadK a, ObjectK b) =>
a -- _obj
-> Maybe (b) -- parent
-> m Iterator -- result
padIterateInternalLinksDefault _obj parent = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrCastPtr jParent
return jParent'
result <- gst_pad_iterate_internal_links_default _obj' maybeParent
checkUnexpectedReturnNULL "gst_pad_iterate_internal_links_default" result
result' <- (wrapBoxed Iterator) result
touchManagedPtr _obj
whenJust parent touchManagedPtr
return result'
data PadIterateInternalLinksDefaultMethodInfo
instance (signature ~ (Maybe (b) -> m Iterator), MonadIO m, PadK a, ObjectK b) => MethodInfo PadIterateInternalLinksDefaultMethodInfo a signature where
overloadedMethod _ = padIterateInternalLinksDefault
-- method Pad::link
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "PadLinkReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_link" gst_pad_link ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Pad -> -- sinkpad : TInterface "Gst" "Pad"
IO CUInt
padLink ::
(MonadIO m, PadK a, PadK b) =>
a -- _obj
-> b -- sinkpad
-> m PadLinkReturn -- result
padLink _obj sinkpad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let sinkpad' = unsafeManagedPtrCastPtr sinkpad
result <- gst_pad_link _obj' sinkpad'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr sinkpad
return result'
data PadLinkMethodInfo
instance (signature ~ (b -> m PadLinkReturn), MonadIO m, PadK a, PadK b) => MethodInfo PadLinkMethodInfo a signature where
overloadedMethod _ = padLink
-- method Pad::link_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "PadLinkCheck", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "PadLinkReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_link_full" gst_pad_link_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Pad -> -- sinkpad : TInterface "Gst" "Pad"
CUInt -> -- flags : TInterface "Gst" "PadLinkCheck"
IO CUInt
padLinkFull ::
(MonadIO m, PadK a, PadK b) =>
a -- _obj
-> b -- sinkpad
-> [PadLinkCheck] -- flags
-> m PadLinkReturn -- result
padLinkFull _obj sinkpad flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let sinkpad' = unsafeManagedPtrCastPtr sinkpad
let flags' = gflagsToWord flags
result <- gst_pad_link_full _obj' sinkpad' flags'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr sinkpad
return result'
data PadLinkFullMethodInfo
instance (signature ~ (b -> [PadLinkCheck] -> m PadLinkReturn), MonadIO m, PadK a, PadK b) => MethodInfo PadLinkFullMethodInfo a signature where
overloadedMethod _ = padLinkFull
-- method Pad::mark_reconfigure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_mark_reconfigure" gst_pad_mark_reconfigure ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO ()
padMarkReconfigure ::
(MonadIO m, PadK a) =>
a -- _obj
-> m () -- result
padMarkReconfigure _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_mark_reconfigure _obj'
touchManagedPtr _obj
return ()
data PadMarkReconfigureMethodInfo
instance (signature ~ (m ()), MonadIO m, PadK a) => MethodInfo PadMarkReconfigureMethodInfo a signature where
overloadedMethod _ = padMarkReconfigure
-- method Pad::needs_reconfigure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_needs_reconfigure" gst_pad_needs_reconfigure ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padNeedsReconfigure ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padNeedsReconfigure _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_needs_reconfigure _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadNeedsReconfigureMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadNeedsReconfigureMethodInfo a signature where
overloadedMethod _ = padNeedsReconfigure
-- method Pad::pause_task
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_pause_task" gst_pad_pause_task ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padPauseTask ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padPauseTask _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_pause_task _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadPauseTaskMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadPauseTaskMethodInfo a signature where
overloadedMethod _ = padPauseTask
-- method Pad::peer_query
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query" gst_pad_peer_query ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
padPeerQuery ::
(MonadIO m, PadK a) =>
a -- _obj
-> Query -- query
-> m Bool -- result
padPeerQuery _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let query' = unsafeManagedPtrGetPtr query
result <- gst_pad_peer_query _obj' query'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr query
return result'
data PadPeerQueryMethodInfo
instance (signature ~ (Query -> m Bool), MonadIO m, PadK a) => MethodInfo PadPeerQueryMethodInfo a signature where
overloadedMethod _ = padPeerQuery
-- method Pad::peer_query_accept_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query_accept_caps" gst_pad_peer_query_accept_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO CInt
padPeerQueryAcceptCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Caps -- caps
-> m Bool -- result
padPeerQueryAcceptCaps _obj caps = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let caps' = unsafeManagedPtrGetPtr caps
result <- gst_pad_peer_query_accept_caps _obj' caps'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr caps
return result'
data PadPeerQueryAcceptCapsMethodInfo
instance (signature ~ (Caps -> m Bool), MonadIO m, PadK a) => MethodInfo PadPeerQueryAcceptCapsMethodInfo a signature where
overloadedMethod _ = padPeerQueryAcceptCaps
-- method Pad::peer_query_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Caps"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query_caps" gst_pad_peer_query_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Caps -> -- filter : TInterface "Gst" "Caps"
IO (Ptr Caps)
padPeerQueryCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Maybe (Caps) -- filter
-> m Caps -- result
padPeerQueryCaps _obj filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeFilter <- case filter of
Nothing -> return nullPtr
Just jFilter -> do
let jFilter' = unsafeManagedPtrGetPtr jFilter
return jFilter'
result <- gst_pad_peer_query_caps _obj' maybeFilter
checkUnexpectedReturnNULL "gst_pad_peer_query_caps" result
result' <- (wrapBoxed Caps) result
touchManagedPtr _obj
whenJust filter touchManagedPtr
return result'
data PadPeerQueryCapsMethodInfo
instance (signature ~ (Maybe (Caps) -> m Caps), MonadIO m, PadK a) => MethodInfo PadPeerQueryCapsMethodInfo a signature where
overloadedMethod _ = padPeerQueryCaps
-- method Pad::peer_query_convert
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query_convert" gst_pad_peer_query_convert ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- src_format : TInterface "Gst" "Format"
Int64 -> -- src_val : TBasicType TInt64
CUInt -> -- dest_format : TInterface "Gst" "Format"
Ptr Int64 -> -- dest_val : TBasicType TInt64
IO CInt
padPeerQueryConvert ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- srcFormat
-> Int64 -- srcVal
-> Format -- destFormat
-> m (Bool,Int64) -- result
padPeerQueryConvert _obj srcFormat srcVal destFormat = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let srcFormat' = (fromIntegral . fromEnum) srcFormat
let destFormat' = (fromIntegral . fromEnum) destFormat
destVal <- allocMem :: IO (Ptr Int64)
result <- gst_pad_peer_query_convert _obj' srcFormat' srcVal destFormat' destVal
let result' = (/= 0) result
destVal' <- peek destVal
touchManagedPtr _obj
freeMem destVal
return (result', destVal')
data PadPeerQueryConvertMethodInfo
instance (signature ~ (Format -> Int64 -> Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadPeerQueryConvertMethodInfo a signature where
overloadedMethod _ = padPeerQueryConvert
-- method Pad::peer_query_duration
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query_duration" gst_pad_peer_query_duration ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- duration : TBasicType TInt64
IO CInt
padPeerQueryDuration ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
padPeerQueryDuration _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
duration <- allocMem :: IO (Ptr Int64)
result <- gst_pad_peer_query_duration _obj' format' duration
let result' = (/= 0) result
duration' <- peek duration
touchManagedPtr _obj
freeMem duration
return (result', duration')
data PadPeerQueryDurationMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadPeerQueryDurationMethodInfo a signature where
overloadedMethod _ = padPeerQueryDuration
-- method Pad::peer_query_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_peer_query_position" gst_pad_peer_query_position ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- cur : TBasicType TInt64
IO CInt
padPeerQueryPosition ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
padPeerQueryPosition _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
cur <- allocMem :: IO (Ptr Int64)
result <- gst_pad_peer_query_position _obj' format' cur
let result' = (/= 0) result
cur' <- peek cur
touchManagedPtr _obj
freeMem cur
return (result', cur')
data PadPeerQueryPositionMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadPeerQueryPositionMethodInfo a signature where
overloadedMethod _ = padPeerQueryPosition
-- method Pad::proxy_query_accept_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_proxy_query_accept_caps" gst_pad_proxy_query_accept_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
padProxyQueryAcceptCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Query -- query
-> m Bool -- result
padProxyQueryAcceptCaps _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let query' = unsafeManagedPtrGetPtr query
result <- gst_pad_proxy_query_accept_caps _obj' query'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr query
return result'
data PadProxyQueryAcceptCapsMethodInfo
instance (signature ~ (Query -> m Bool), MonadIO m, PadK a) => MethodInfo PadProxyQueryAcceptCapsMethodInfo a signature where
overloadedMethod _ = padProxyQueryAcceptCaps
-- method Pad::proxy_query_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_proxy_query_caps" gst_pad_proxy_query_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
padProxyQueryCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Query -- query
-> m Bool -- result
padProxyQueryCaps _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let query' = unsafeManagedPtrGetPtr query
result <- gst_pad_proxy_query_caps _obj' query'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr query
return result'
data PadProxyQueryCapsMethodInfo
instance (signature ~ (Query -> m Bool), MonadIO m, PadK a) => MethodInfo PadProxyQueryCapsMethodInfo a signature where
overloadedMethod _ = padProxyQueryCaps
-- method Pad::pull_range
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_pull_range" gst_pad_pull_range ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Word64 -> -- offset : TBasicType TUInt64
Word32 -> -- size : TBasicType TUInt32
Ptr Buffer -> -- buffer : TInterface "Gst" "Buffer"
IO CUInt
padPullRange ::
(MonadIO m, PadK a) =>
a -- _obj
-> Word64 -- offset
-> Word32 -- size
-> m (FlowReturn,Buffer) -- result
padPullRange _obj offset size = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
buffer <- callocBoxedBytes 112 :: IO (Ptr Buffer)
result <- gst_pad_pull_range _obj' offset size buffer
let result' = (toEnum . fromIntegral) result
buffer' <- (wrapBoxed Buffer) buffer
touchManagedPtr _obj
return (result', buffer')
data PadPullRangeMethodInfo
instance (signature ~ (Word64 -> Word32 -> m (FlowReturn,Buffer)), MonadIO m, PadK a) => MethodInfo PadPullRangeMethodInfo a signature where
overloadedMethod _ = padPullRange
-- method Pad::push
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_push" gst_pad_push ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Buffer -> -- buffer : TInterface "Gst" "Buffer"
IO CUInt
padPush ::
(MonadIO m, PadK a) =>
a -- _obj
-> Buffer -- buffer
-> m FlowReturn -- result
padPush _obj buffer = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- copyBoxed buffer
result <- gst_pad_push _obj' buffer'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr buffer
return result'
data PadPushMethodInfo
instance (signature ~ (Buffer -> m FlowReturn), MonadIO m, PadK a) => MethodInfo PadPushMethodInfo a signature where
overloadedMethod _ = padPush
-- method Pad::push_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_push_event" gst_pad_push_event ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Event -> -- event : TInterface "Gst" "Event"
IO CInt
padPushEvent ::
(MonadIO m, PadK a) =>
a -- _obj
-> Event -- event
-> m Bool -- result
padPushEvent _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
event' <- copyBoxed event
result <- gst_pad_push_event _obj' event'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr event
return result'
data PadPushEventMethodInfo
instance (signature ~ (Event -> m Bool), MonadIO m, PadK a) => MethodInfo PadPushEventMethodInfo a signature where
overloadedMethod _ = padPushEvent
-- method Pad::push_list
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface "Gst" "BufferList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_push_list" gst_pad_push_list ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr BufferList -> -- list : TInterface "Gst" "BufferList"
IO CUInt
padPushList ::
(MonadIO m, PadK a) =>
a -- _obj
-> BufferList -- list
-> m FlowReturn -- result
padPushList _obj list = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
list' <- copyBoxed list
result <- gst_pad_push_list _obj' list'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr list
return result'
data PadPushListMethodInfo
instance (signature ~ (BufferList -> m FlowReturn), MonadIO m, PadK a) => MethodInfo PadPushListMethodInfo a signature where
overloadedMethod _ = padPushList
-- method Pad::query
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query" gst_pad_query ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
padQuery ::
(MonadIO m, PadK a) =>
a -- _obj
-> Query -- query
-> m Bool -- result
padQuery _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let query' = unsafeManagedPtrGetPtr query
result <- gst_pad_query _obj' query'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr query
return result'
data PadQueryMethodInfo
instance (signature ~ (Query -> m Bool), MonadIO m, PadK a) => MethodInfo PadQueryMethodInfo a signature where
overloadedMethod _ = padQuery
-- method Pad::query_accept_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_accept_caps" gst_pad_query_accept_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO CInt
padQueryAcceptCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Caps -- caps
-> m Bool -- result
padQueryAcceptCaps _obj caps = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let caps' = unsafeManagedPtrGetPtr caps
result <- gst_pad_query_accept_caps _obj' caps'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr caps
return result'
data PadQueryAcceptCapsMethodInfo
instance (signature ~ (Caps -> m Bool), MonadIO m, PadK a) => MethodInfo PadQueryAcceptCapsMethodInfo a signature where
overloadedMethod _ = padQueryAcceptCaps
-- method Pad::query_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Caps"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_caps" gst_pad_query_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Caps -> -- filter : TInterface "Gst" "Caps"
IO (Ptr Caps)
padQueryCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> Maybe (Caps) -- filter
-> m Caps -- result
padQueryCaps _obj filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeFilter <- case filter of
Nothing -> return nullPtr
Just jFilter -> do
let jFilter' = unsafeManagedPtrGetPtr jFilter
return jFilter'
result <- gst_pad_query_caps _obj' maybeFilter
checkUnexpectedReturnNULL "gst_pad_query_caps" result
result' <- (wrapBoxed Caps) result
touchManagedPtr _obj
whenJust filter touchManagedPtr
return result'
data PadQueryCapsMethodInfo
instance (signature ~ (Maybe (Caps) -> m Caps), MonadIO m, PadK a) => MethodInfo PadQueryCapsMethodInfo a signature where
overloadedMethod _ = padQueryCaps
-- method Pad::query_convert
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_convert" gst_pad_query_convert ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- src_format : TInterface "Gst" "Format"
Int64 -> -- src_val : TBasicType TInt64
CUInt -> -- dest_format : TInterface "Gst" "Format"
Ptr Int64 -> -- dest_val : TBasicType TInt64
IO CInt
padQueryConvert ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- srcFormat
-> Int64 -- srcVal
-> Format -- destFormat
-> m (Bool,Int64) -- result
padQueryConvert _obj srcFormat srcVal destFormat = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let srcFormat' = (fromIntegral . fromEnum) srcFormat
let destFormat' = (fromIntegral . fromEnum) destFormat
destVal <- allocMem :: IO (Ptr Int64)
result <- gst_pad_query_convert _obj' srcFormat' srcVal destFormat' destVal
let result' = (/= 0) result
destVal' <- peek destVal
touchManagedPtr _obj
freeMem destVal
return (result', destVal')
data PadQueryConvertMethodInfo
instance (signature ~ (Format -> Int64 -> Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadQueryConvertMethodInfo a signature where
overloadedMethod _ = padQueryConvert
-- method Pad::query_default
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface "Gst" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_default" gst_pad_query_default ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Object -> -- parent : TInterface "Gst" "Object"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
padQueryDefault ::
(MonadIO m, PadK a, ObjectK b) =>
a -- _obj
-> Maybe (b) -- parent
-> Query -- query
-> m Bool -- result
padQueryDefault _obj parent query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
let jParent' = unsafeManagedPtrCastPtr jParent
return jParent'
let query' = unsafeManagedPtrGetPtr query
result <- gst_pad_query_default _obj' maybeParent query'
let result' = (/= 0) result
touchManagedPtr _obj
whenJust parent touchManagedPtr
touchManagedPtr query
return result'
data PadQueryDefaultMethodInfo
instance (signature ~ (Maybe (b) -> Query -> m Bool), MonadIO m, PadK a, ObjectK b) => MethodInfo PadQueryDefaultMethodInfo a signature where
overloadedMethod _ = padQueryDefault
-- method Pad::query_duration
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_duration" gst_pad_query_duration ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- duration : TBasicType TInt64
IO CInt
padQueryDuration ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
padQueryDuration _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
duration <- allocMem :: IO (Ptr Int64)
result <- gst_pad_query_duration _obj' format' duration
let result' = (/= 0) result
duration' <- peek duration
touchManagedPtr _obj
freeMem duration
return (result', duration')
data PadQueryDurationMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadQueryDurationMethodInfo a signature where
overloadedMethod _ = padQueryDuration
-- method Pad::query_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_query_position" gst_pad_query_position ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- cur : TBasicType TInt64
IO CInt
padQueryPosition ::
(MonadIO m, PadK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
padQueryPosition _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
cur <- allocMem :: IO (Ptr Int64)
result <- gst_pad_query_position _obj' format' cur
let result' = (/= 0) result
cur' <- peek cur
touchManagedPtr _obj
freeMem cur
return (result', cur')
data PadQueryPositionMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, PadK a) => MethodInfo PadQueryPositionMethodInfo a signature where
overloadedMethod _ = padQueryPosition
-- method Pad::remove_probe
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_remove_probe" gst_pad_remove_probe ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Word64 -> -- id : TBasicType TUInt64
IO ()
padRemoveProbe ::
(MonadIO m, PadK a) =>
a -- _obj
-> Word64 -- id
-> m () -- result
padRemoveProbe _obj id = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_remove_probe _obj' id
touchManagedPtr _obj
return ()
data PadRemoveProbeMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, PadK a) => MethodInfo PadRemoveProbeMethodInfo a signature where
overloadedMethod _ = padRemoveProbe
-- method Pad::send_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_send_event" gst_pad_send_event ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Event -> -- event : TInterface "Gst" "Event"
IO CInt
padSendEvent ::
(MonadIO m, PadK a) =>
a -- _obj
-> Event -- event
-> m Bool -- result
padSendEvent _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
event' <- copyBoxed event
result <- gst_pad_send_event _obj' event'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr event
return result'
data PadSendEventMethodInfo
instance (signature ~ (Event -> m Bool), MonadIO m, PadK a) => MethodInfo PadSendEventMethodInfo a signature where
overloadedMethod _ = padSendEvent
-- method Pad::set_activate_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activate", argType = TInterface "Gst" "PadActivateFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_activate_function_full" gst_pad_set_activate_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadActivateFunctionC -> -- activate : TInterface "Gst" "PadActivateFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetActivateFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadActivateFunction -- activate
-> m () -- result
padSetActivateFunctionFull _obj activate = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
activate' <- mkPadActivateFunction (padActivateFunctionWrapper Nothing activate)
let userData = castFunPtrToPtr activate'
let notify = safeFreeFunPtrPtr
gst_pad_set_activate_function_full _obj' activate' userData notify
touchManagedPtr _obj
return ()
data PadSetActivateFunctionFullMethodInfo
instance (signature ~ (PadActivateFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetActivateFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetActivateFunctionFull
-- method Pad::set_activatemode_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activatemode", argType = TInterface "Gst" "PadActivateModeFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_activatemode_function_full" gst_pad_set_activatemode_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadActivateModeFunctionC -> -- activatemode : TInterface "Gst" "PadActivateModeFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetActivatemodeFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadActivateModeFunction -- activatemode
-> m () -- result
padSetActivatemodeFunctionFull _obj activatemode = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
activatemode' <- mkPadActivateModeFunction (padActivateModeFunctionWrapper Nothing activatemode)
let userData = castFunPtrToPtr activatemode'
let notify = safeFreeFunPtrPtr
gst_pad_set_activatemode_function_full _obj' activatemode' userData notify
touchManagedPtr _obj
return ()
data PadSetActivatemodeFunctionFullMethodInfo
instance (signature ~ (PadActivateModeFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetActivatemodeFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetActivatemodeFunctionFull
-- method Pad::set_active
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_active" gst_pad_set_active ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
CInt -> -- active : TBasicType TBoolean
IO CInt
padSetActive ::
(MonadIO m, PadK a) =>
a -- _obj
-> Bool -- active
-> m Bool -- result
padSetActive _obj active = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let active' = (fromIntegral . fromEnum) active
result <- gst_pad_set_active _obj' active'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadSetActiveMethodInfo
instance (signature ~ (Bool -> m Bool), MonadIO m, PadK a) => MethodInfo PadSetActiveMethodInfo a signature where
overloadedMethod _ = padSetActive
-- method Pad::set_chain_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chain", argType = TInterface "Gst" "PadChainFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_chain_function_full" gst_pad_set_chain_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadChainFunctionC -> -- chain : TInterface "Gst" "PadChainFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetChainFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadChainFunction -- chain
-> m () -- result
padSetChainFunctionFull _obj chain = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
chain' <- mkPadChainFunction (padChainFunctionWrapper Nothing chain)
let userData = castFunPtrToPtr chain'
let notify = safeFreeFunPtrPtr
gst_pad_set_chain_function_full _obj' chain' userData notify
touchManagedPtr _obj
return ()
data PadSetChainFunctionFullMethodInfo
instance (signature ~ (PadChainFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetChainFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetChainFunctionFull
-- method Pad::set_chain_list_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chainlist", argType = TInterface "Gst" "PadChainListFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_chain_list_function_full" gst_pad_set_chain_list_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadChainListFunctionC -> -- chainlist : TInterface "Gst" "PadChainListFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetChainListFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadChainListFunction -- chainlist
-> m () -- result
padSetChainListFunctionFull _obj chainlist = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
chainlist' <- mkPadChainListFunction (padChainListFunctionWrapper Nothing chainlist)
let userData = castFunPtrToPtr chainlist'
let notify = safeFreeFunPtrPtr
gst_pad_set_chain_list_function_full _obj' chainlist' userData notify
touchManagedPtr _obj
return ()
data PadSetChainListFunctionFullMethodInfo
instance (signature ~ (PadChainListFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetChainListFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetChainListFunctionFull
-- method Pad::set_element_private
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priv", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_element_private" gst_pad_set_element_private ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr () -> -- priv : TBasicType TVoid
IO ()
padSetElementPrivate ::
(MonadIO m, PadK a) =>
a -- _obj
-> Ptr () -- priv
-> m () -- result
padSetElementPrivate _obj priv = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_set_element_private _obj' priv
touchManagedPtr _obj
return ()
data PadSetElementPrivateMethodInfo
instance (signature ~ (Ptr () -> m ()), MonadIO m, PadK a) => MethodInfo PadSetElementPrivateMethodInfo a signature where
overloadedMethod _ = padSetElementPrivate
-- method Pad::set_event_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "PadEventFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_event_function_full" gst_pad_set_event_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadEventFunctionC -> -- event : TInterface "Gst" "PadEventFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetEventFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadEventFunction -- event
-> m () -- result
padSetEventFunctionFull _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
event' <- mkPadEventFunction (padEventFunctionWrapper Nothing event)
let userData = castFunPtrToPtr event'
let notify = safeFreeFunPtrPtr
gst_pad_set_event_function_full _obj' event' userData notify
touchManagedPtr _obj
return ()
data PadSetEventFunctionFullMethodInfo
instance (signature ~ (PadEventFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetEventFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetEventFunctionFull
-- method Pad::set_getrange_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "get", argType = TInterface "Gst" "PadGetRangeFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_getrange_function_full" gst_pad_set_getrange_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadGetRangeFunctionC -> -- get : TInterface "Gst" "PadGetRangeFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetGetrangeFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadGetRangeFunction -- get
-> m () -- result
padSetGetrangeFunctionFull _obj get = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
get' <- mkPadGetRangeFunction (padGetRangeFunctionWrapper Nothing get)
let userData = castFunPtrToPtr get'
let notify = safeFreeFunPtrPtr
gst_pad_set_getrange_function_full _obj' get' userData notify
touchManagedPtr _obj
return ()
data PadSetGetrangeFunctionFullMethodInfo
instance (signature ~ (PadGetRangeFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetGetrangeFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetGetrangeFunctionFull
-- method Pad::set_iterate_internal_links_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterintlink", argType = TInterface "Gst" "PadIterIntLinkFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_iterate_internal_links_function_full" gst_pad_set_iterate_internal_links_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadIterIntLinkFunctionC -> -- iterintlink : TInterface "Gst" "PadIterIntLinkFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetIterateInternalLinksFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadIterIntLinkFunction -- iterintlink
-> m () -- result
padSetIterateInternalLinksFunctionFull _obj iterintlink = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
iterintlink' <- mkPadIterIntLinkFunction (padIterIntLinkFunctionWrapper Nothing iterintlink)
let userData = castFunPtrToPtr iterintlink'
let notify = safeFreeFunPtrPtr
gst_pad_set_iterate_internal_links_function_full _obj' iterintlink' userData notify
touchManagedPtr _obj
return ()
data PadSetIterateInternalLinksFunctionFullMethodInfo
instance (signature ~ (PadIterIntLinkFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetIterateInternalLinksFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetIterateInternalLinksFunctionFull
-- method Pad::set_link_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "link", argType = TInterface "Gst" "PadLinkFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_link_function_full" gst_pad_set_link_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadLinkFunctionC -> -- link : TInterface "Gst" "PadLinkFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetLinkFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadLinkFunction -- link
-> m () -- result
padSetLinkFunctionFull _obj link = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
link' <- mkPadLinkFunction (padLinkFunctionWrapper Nothing link)
let userData = castFunPtrToPtr link'
let notify = safeFreeFunPtrPtr
gst_pad_set_link_function_full _obj' link' userData notify
touchManagedPtr _obj
return ()
data PadSetLinkFunctionFullMethodInfo
instance (signature ~ (PadLinkFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetLinkFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetLinkFunctionFull
-- method Pad::set_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_offset" gst_pad_set_offset ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Int64 -> -- offset : TBasicType TInt64
IO ()
padSetOffset ::
(MonadIO m, PadK a) =>
a -- _obj
-> Int64 -- offset
-> m () -- result
padSetOffset _obj offset = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_set_offset _obj' offset
touchManagedPtr _obj
return ()
data PadSetOffsetMethodInfo
instance (signature ~ (Int64 -> m ()), MonadIO m, PadK a) => MethodInfo PadSetOffsetMethodInfo a signature where
overloadedMethod _ = padSetOffset
-- method Pad::set_query_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "PadQueryFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_query_function_full" gst_pad_set_query_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadQueryFunctionC -> -- query : TInterface "Gst" "PadQueryFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetQueryFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadQueryFunction -- query
-> m () -- result
padSetQueryFunctionFull _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
query' <- mkPadQueryFunction (padQueryFunctionWrapper Nothing query)
let userData = castFunPtrToPtr query'
let notify = safeFreeFunPtrPtr
gst_pad_set_query_function_full _obj' query' userData notify
touchManagedPtr _obj
return ()
data PadSetQueryFunctionFullMethodInfo
instance (signature ~ (PadQueryFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetQueryFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetQueryFunctionFull
-- method Pad::set_unlink_function_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unlink", argType = TInterface "Gst" "PadUnlinkFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_set_unlink_function_full" gst_pad_set_unlink_function_full ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadUnlinkFunctionC -> -- unlink : TInterface "Gst" "PadUnlinkFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
padSetUnlinkFunctionFull ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadUnlinkFunction -- unlink
-> m () -- result
padSetUnlinkFunctionFull _obj unlink = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
unlink' <- mkPadUnlinkFunction (padUnlinkFunctionWrapper Nothing unlink)
let userData = castFunPtrToPtr unlink'
let notify = safeFreeFunPtrPtr
gst_pad_set_unlink_function_full _obj' unlink' userData notify
touchManagedPtr _obj
return ()
data PadSetUnlinkFunctionFullMethodInfo
instance (signature ~ (PadUnlinkFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadSetUnlinkFunctionFullMethodInfo a signature where
overloadedMethod _ = padSetUnlinkFunctionFull
-- method Pad::start_task
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "Gst" "TaskFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_start_task" gst_pad_start_task ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr TaskFunctionC -> -- func : TInterface "Gst" "TaskFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO CInt
padStartTask ::
(MonadIO m, PadK a) =>
a -- _obj
-> TaskFunction -- func
-> m Bool -- result
padStartTask _obj func = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
func' <- mkTaskFunction (taskFunctionWrapper Nothing func)
let userData = castFunPtrToPtr func'
let notify = safeFreeFunPtrPtr
result <- gst_pad_start_task _obj' func' userData notify
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadStartTaskMethodInfo
instance (signature ~ (TaskFunction -> m Bool), MonadIO m, PadK a) => MethodInfo PadStartTaskMethodInfo a signature where
overloadedMethod _ = padStartTask
-- method Pad::sticky_events_foreach
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreach_func", argType = TInterface "Gst" "PadStickyEventsForeachFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_sticky_events_foreach" gst_pad_sticky_events_foreach ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
FunPtr PadStickyEventsForeachFunctionC -> -- foreach_func : TInterface "Gst" "PadStickyEventsForeachFunction"
Ptr () -> -- user_data : TBasicType TVoid
IO ()
padStickyEventsForeach ::
(MonadIO m, PadK a) =>
a -- _obj
-> PadStickyEventsForeachFunction -- foreachFunc
-> m () -- result
padStickyEventsForeach _obj foreachFunc = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
foreachFunc' <- mkPadStickyEventsForeachFunction (padStickyEventsForeachFunctionWrapper Nothing foreachFunc)
let userData = nullPtr
gst_pad_sticky_events_foreach _obj' foreachFunc' userData
safeFreeFunPtr $ castFunPtrToPtr foreachFunc'
touchManagedPtr _obj
return ()
data PadStickyEventsForeachMethodInfo
instance (signature ~ (PadStickyEventsForeachFunction -> m ()), MonadIO m, PadK a) => MethodInfo PadStickyEventsForeachMethodInfo a signature where
overloadedMethod _ = padStickyEventsForeach
-- method Pad::stop_task
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_stop_task" gst_pad_stop_task ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO CInt
padStopTask ::
(MonadIO m, PadK a) =>
a -- _obj
-> m Bool -- result
padStopTask _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_pad_stop_task _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data PadStopTaskMethodInfo
instance (signature ~ (m Bool), MonadIO m, PadK a) => MethodInfo PadStopTaskMethodInfo a signature where
overloadedMethod _ = padStopTask
-- method Pad::store_sticky_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "FlowReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_store_sticky_event" gst_pad_store_sticky_event ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Event -> -- event : TInterface "Gst" "Event"
IO CUInt
padStoreStickyEvent ::
(MonadIO m, PadK a) =>
a -- _obj
-> Event -- event
-> m FlowReturn -- result
padStoreStickyEvent _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let event' = unsafeManagedPtrGetPtr event
result <- gst_pad_store_sticky_event _obj' event'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr event
return result'
data PadStoreStickyEventMethodInfo
instance (signature ~ (Event -> m FlowReturn), MonadIO m, PadK a) => MethodInfo PadStoreStickyEventMethodInfo a signature where
overloadedMethod _ = padStoreStickyEvent
-- method Pad::unlink
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_unlink" gst_pad_unlink ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
Ptr Pad -> -- sinkpad : TInterface "Gst" "Pad"
IO CInt
padUnlink ::
(MonadIO m, PadK a, PadK b) =>
a -- _obj
-> b -- sinkpad
-> m Bool -- result
padUnlink _obj sinkpad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let sinkpad' = unsafeManagedPtrCastPtr sinkpad
result <- gst_pad_unlink _obj' sinkpad'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr sinkpad
return result'
data PadUnlinkMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, PadK a, PadK b) => MethodInfo PadUnlinkMethodInfo a signature where
overloadedMethod _ = padUnlink
-- method Pad::use_fixed_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_use_fixed_caps" gst_pad_use_fixed_caps ::
Ptr Pad -> -- _obj : TInterface "Gst" "Pad"
IO ()
padUseFixedCaps ::
(MonadIO m, PadK a) =>
a -- _obj
-> m () -- result
padUseFixedCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_pad_use_fixed_caps _obj'
touchManagedPtr _obj
return ()
data PadUseFixedCapsMethodInfo
instance (signature ~ (m ()), MonadIO m, PadK a) => MethodInfo PadUseFixedCapsMethodInfo a signature where
overloadedMethod _ = padUseFixedCaps
-- method Pad::link_get_name
-- method type : MemberFunction
-- Args : [Arg {argCName = "ret", argType = TInterface "Gst" "PadLinkReturn", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_pad_link_get_name" gst_pad_link_get_name ::
CUInt -> -- ret : TInterface "Gst" "PadLinkReturn"
IO CString
padLinkGetName ::
(MonadIO m) =>
PadLinkReturn -- ret
-> m T.Text -- result
padLinkGetName ret = liftIO $ do
let ret' = (fromIntegral . fromEnum) ret
result <- gst_pad_link_get_name ret'
checkUnexpectedReturnNULL "gst_pad_link_get_name" result
result' <- cstringToText result
return result'