{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstBase.Objects.AggregatorPad
(
AggregatorPad(..) ,
IsAggregatorPad ,
toAggregatorPad ,
#if defined(ENABLE_OVERLOADING)
ResolveAggregatorPadMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
AggregatorPadDropBufferMethodInfo ,
#endif
aggregatorPadDropBuffer ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadHasBufferMethodInfo ,
#endif
aggregatorPadHasBuffer ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadIsEosMethodInfo ,
#endif
aggregatorPadIsEos ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadPeekBufferMethodInfo ,
#endif
aggregatorPadPeekBuffer ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadPopBufferMethodInfo ,
#endif
aggregatorPadPopBuffer ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadEmitSignalsPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorPadEmitSignals ,
#endif
constructAggregatorPadEmitSignals ,
getAggregatorPadEmitSignals ,
setAggregatorPadEmitSignals ,
AggregatorPadBufferConsumedCallback ,
#if defined(ENABLE_OVERLOADING)
AggregatorPadBufferConsumedSignalInfo ,
#endif
C_AggregatorPadBufferConsumedCallback ,
afterAggregatorPadBufferConsumed ,
genClosure_AggregatorPadBufferConsumed ,
mk_AggregatorPadBufferConsumedCallback ,
noAggregatorPadBufferConsumedCallback ,
onAggregatorPadBufferConsumed ,
wrap_AggregatorPadBufferConsumedCallback,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.Pad as Gst.Pad
import qualified GI.Gst.Structs.Buffer as Gst.Buffer
newtype AggregatorPad = AggregatorPad (SP.ManagedPtr AggregatorPad)
deriving (AggregatorPad -> AggregatorPad -> Bool
(AggregatorPad -> AggregatorPad -> Bool)
-> (AggregatorPad -> AggregatorPad -> Bool) -> Eq AggregatorPad
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AggregatorPad -> AggregatorPad -> Bool
$c/= :: AggregatorPad -> AggregatorPad -> Bool
== :: AggregatorPad -> AggregatorPad -> Bool
$c== :: AggregatorPad -> AggregatorPad -> Bool
Eq)
instance SP.ManagedPtrNewtype AggregatorPad where
toManagedPtr :: AggregatorPad -> ManagedPtr AggregatorPad
toManagedPtr (AggregatorPad ManagedPtr AggregatorPad
p) = ManagedPtr AggregatorPad
p
foreign import ccall "gst_aggregator_pad_get_type"
c_gst_aggregator_pad_get_type :: IO B.Types.GType
instance B.Types.TypedObject AggregatorPad where
glibType :: IO GType
glibType = IO GType
c_gst_aggregator_pad_get_type
instance B.Types.GObject AggregatorPad
instance B.GValue.IsGValue AggregatorPad where
toGValue :: AggregatorPad -> IO GValue
toGValue AggregatorPad
o = do
GType
gtype <- IO GType
c_gst_aggregator_pad_get_type
AggregatorPad -> (Ptr AggregatorPad -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AggregatorPad
o (GType
-> (GValue -> Ptr AggregatorPad -> IO ())
-> Ptr AggregatorPad
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr AggregatorPad -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO AggregatorPad
fromGValue GValue
gv = do
Ptr AggregatorPad
ptr <- GValue -> IO (Ptr AggregatorPad)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr AggregatorPad)
(ManagedPtr AggregatorPad -> AggregatorPad)
-> Ptr AggregatorPad -> IO AggregatorPad
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr AggregatorPad -> AggregatorPad
AggregatorPad Ptr AggregatorPad
ptr
class (SP.GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o
instance (SP.GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o
instance O.HasParentTypes AggregatorPad
type instance O.ParentTypes AggregatorPad = '[Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]
toAggregatorPad :: (MonadIO m, IsAggregatorPad o) => o -> m AggregatorPad
toAggregatorPad :: o -> m AggregatorPad
toAggregatorPad = IO AggregatorPad -> m AggregatorPad
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AggregatorPad -> m AggregatorPad)
-> (o -> IO AggregatorPad) -> o -> m AggregatorPad
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr AggregatorPad -> AggregatorPad)
-> o -> IO AggregatorPad
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr AggregatorPad -> AggregatorPad
AggregatorPad
#if defined(ENABLE_OVERLOADING)
type family ResolveAggregatorPadMethod (t :: Symbol) (o :: *) :: * where
ResolveAggregatorPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo
ResolveAggregatorPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveAggregatorPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo
ResolveAggregatorPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveAggregatorPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveAggregatorPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo
ResolveAggregatorPadMethod "chain" o = Gst.Pad.PadChainMethodInfo
ResolveAggregatorPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo
ResolveAggregatorPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo
ResolveAggregatorPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo
ResolveAggregatorPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveAggregatorPadMethod "dropBuffer" o = AggregatorPadDropBufferMethodInfo
ResolveAggregatorPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo
ResolveAggregatorPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAggregatorPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo
ResolveAggregatorPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveAggregatorPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveAggregatorPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveAggregatorPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveAggregatorPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveAggregatorPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveAggregatorPadMethod "hasBuffer" o = AggregatorPadHasBufferMethodInfo
ResolveAggregatorPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo
ResolveAggregatorPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo
ResolveAggregatorPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo
ResolveAggregatorPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo
ResolveAggregatorPadMethod "isEos" o = AggregatorPadIsEosMethodInfo
ResolveAggregatorPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveAggregatorPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo
ResolveAggregatorPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo
ResolveAggregatorPadMethod "iterateInternalLinksDefault" o = Gst.Pad.PadIterateInternalLinksDefaultMethodInfo
ResolveAggregatorPadMethod "link" o = Gst.Pad.PadLinkMethodInfo
ResolveAggregatorPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo
ResolveAggregatorPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo
ResolveAggregatorPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo
ResolveAggregatorPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo
ResolveAggregatorPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo
ResolveAggregatorPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveAggregatorPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveAggregatorPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo
ResolveAggregatorPadMethod "peekBuffer" o = AggregatorPadPeekBufferMethodInfo
ResolveAggregatorPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo
ResolveAggregatorPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo
ResolveAggregatorPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo
ResolveAggregatorPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo
ResolveAggregatorPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo
ResolveAggregatorPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo
ResolveAggregatorPadMethod "popBuffer" o = AggregatorPadPopBufferMethodInfo
ResolveAggregatorPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo
ResolveAggregatorPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo
ResolveAggregatorPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo
ResolveAggregatorPadMethod "push" o = Gst.Pad.PadPushMethodInfo
ResolveAggregatorPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo
ResolveAggregatorPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo
ResolveAggregatorPadMethod "query" o = Gst.Pad.PadQueryMethodInfo
ResolveAggregatorPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo
ResolveAggregatorPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo
ResolveAggregatorPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo
ResolveAggregatorPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo
ResolveAggregatorPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo
ResolveAggregatorPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo
ResolveAggregatorPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveAggregatorPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveAggregatorPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveAggregatorPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo
ResolveAggregatorPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveAggregatorPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo
ResolveAggregatorPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo
ResolveAggregatorPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveAggregatorPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveAggregatorPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo
ResolveAggregatorPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo
ResolveAggregatorPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo
ResolveAggregatorPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveAggregatorPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveAggregatorPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveAggregatorPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo
ResolveAggregatorPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveAggregatorPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveAggregatorPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo
ResolveAggregatorPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveAggregatorPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo
ResolveAggregatorPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveAggregatorPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveAggregatorPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo
ResolveAggregatorPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveAggregatorPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo
ResolveAggregatorPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo
ResolveAggregatorPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveAggregatorPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo
ResolveAggregatorPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveAggregatorPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo
ResolveAggregatorPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo
ResolveAggregatorPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo
ResolveAggregatorPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveAggregatorPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo
ResolveAggregatorPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveAggregatorPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo
ResolveAggregatorPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveAggregatorPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveAggregatorPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo
ResolveAggregatorPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo
ResolveAggregatorPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo
ResolveAggregatorPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo
ResolveAggregatorPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo
ResolveAggregatorPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveAggregatorPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo
ResolveAggregatorPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo
ResolveAggregatorPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo
ResolveAggregatorPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo
ResolveAggregatorPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo
ResolveAggregatorPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveAggregatorPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveAggregatorPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveAggregatorPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveAggregatorPadMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveAggregatorPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo
ResolveAggregatorPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo
ResolveAggregatorPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo
ResolveAggregatorPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo
ResolveAggregatorPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo
ResolveAggregatorPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo
ResolveAggregatorPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveAggregatorPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo
ResolveAggregatorPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveAggregatorPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAggregatorPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo
ResolveAggregatorPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo
ResolveAggregatorPadMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAggregatorPadMethod t AggregatorPad, O.MethodInfo info AggregatorPad p) => OL.IsLabel t (AggregatorPad -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type AggregatorPadBufferConsumedCallback =
Gst.Buffer.Buffer
-> IO ()
noAggregatorPadBufferConsumedCallback :: Maybe AggregatorPadBufferConsumedCallback
noAggregatorPadBufferConsumedCallback :: Maybe AggregatorPadBufferConsumedCallback
noAggregatorPadBufferConsumedCallback = Maybe AggregatorPadBufferConsumedCallback
forall a. Maybe a
Nothing
type C_AggregatorPadBufferConsumedCallback =
Ptr () ->
Ptr Gst.Buffer.Buffer ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_AggregatorPadBufferConsumedCallback :: C_AggregatorPadBufferConsumedCallback -> IO (FunPtr C_AggregatorPadBufferConsumedCallback)
genClosure_AggregatorPadBufferConsumed :: MonadIO m => AggregatorPadBufferConsumedCallback -> m (GClosure C_AggregatorPadBufferConsumedCallback)
genClosure_AggregatorPadBufferConsumed :: AggregatorPadBufferConsumedCallback
-> m (GClosure C_AggregatorPadBufferConsumedCallback)
genClosure_AggregatorPadBufferConsumed AggregatorPadBufferConsumedCallback
cb = IO (GClosure C_AggregatorPadBufferConsumedCallback)
-> m (GClosure C_AggregatorPadBufferConsumedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AggregatorPadBufferConsumedCallback)
-> m (GClosure C_AggregatorPadBufferConsumedCallback))
-> IO (GClosure C_AggregatorPadBufferConsumedCallback)
-> m (GClosure C_AggregatorPadBufferConsumedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AggregatorPadBufferConsumedCallback
cb' = AggregatorPadBufferConsumedCallback
-> C_AggregatorPadBufferConsumedCallback
wrap_AggregatorPadBufferConsumedCallback AggregatorPadBufferConsumedCallback
cb
C_AggregatorPadBufferConsumedCallback
-> IO (FunPtr C_AggregatorPadBufferConsumedCallback)
mk_AggregatorPadBufferConsumedCallback C_AggregatorPadBufferConsumedCallback
cb' IO (FunPtr C_AggregatorPadBufferConsumedCallback)
-> (FunPtr C_AggregatorPadBufferConsumedCallback
-> IO (GClosure C_AggregatorPadBufferConsumedCallback))
-> IO (GClosure C_AggregatorPadBufferConsumedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AggregatorPadBufferConsumedCallback
-> IO (GClosure C_AggregatorPadBufferConsumedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AggregatorPadBufferConsumedCallback ::
AggregatorPadBufferConsumedCallback ->
C_AggregatorPadBufferConsumedCallback
wrap_AggregatorPadBufferConsumedCallback :: AggregatorPadBufferConsumedCallback
-> C_AggregatorPadBufferConsumedCallback
wrap_AggregatorPadBufferConsumedCallback AggregatorPadBufferConsumedCallback
_cb Ptr ()
_ Ptr Buffer
object Ptr ()
_ = do
(ManagedPtr Buffer -> Buffer)
-> Ptr Buffer -> AggregatorPadBufferConsumedCallback -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
(ManagedPtr a -> a) -> Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer Ptr Buffer
object (AggregatorPadBufferConsumedCallback -> IO ())
-> AggregatorPadBufferConsumedCallback -> IO ()
forall a b. (a -> b) -> a -> b
$ \Buffer
object' -> do
AggregatorPadBufferConsumedCallback
_cb Buffer
object'
onAggregatorPadBufferConsumed :: (IsAggregatorPad a, MonadIO m) => a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId
onAggregatorPadBufferConsumed :: a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId
onAggregatorPadBufferConsumed a
obj AggregatorPadBufferConsumedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AggregatorPadBufferConsumedCallback
cb' = AggregatorPadBufferConsumedCallback
-> C_AggregatorPadBufferConsumedCallback
wrap_AggregatorPadBufferConsumedCallback AggregatorPadBufferConsumedCallback
cb
FunPtr C_AggregatorPadBufferConsumedCallback
cb'' <- C_AggregatorPadBufferConsumedCallback
-> IO (FunPtr C_AggregatorPadBufferConsumedCallback)
mk_AggregatorPadBufferConsumedCallback C_AggregatorPadBufferConsumedCallback
cb'
a
-> Text
-> FunPtr C_AggregatorPadBufferConsumedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"buffer-consumed" FunPtr C_AggregatorPadBufferConsumedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterAggregatorPadBufferConsumed :: (IsAggregatorPad a, MonadIO m) => a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId
afterAggregatorPadBufferConsumed :: a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId
afterAggregatorPadBufferConsumed a
obj AggregatorPadBufferConsumedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AggregatorPadBufferConsumedCallback
cb' = AggregatorPadBufferConsumedCallback
-> C_AggregatorPadBufferConsumedCallback
wrap_AggregatorPadBufferConsumedCallback AggregatorPadBufferConsumedCallback
cb
FunPtr C_AggregatorPadBufferConsumedCallback
cb'' <- C_AggregatorPadBufferConsumedCallback
-> IO (FunPtr C_AggregatorPadBufferConsumedCallback)
mk_AggregatorPadBufferConsumedCallback C_AggregatorPadBufferConsumedCallback
cb'
a
-> Text
-> FunPtr C_AggregatorPadBufferConsumedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"buffer-consumed" FunPtr C_AggregatorPadBufferConsumedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data AggregatorPadBufferConsumedSignalInfo
instance SignalInfo AggregatorPadBufferConsumedSignalInfo where
type HaskellCallbackType AggregatorPadBufferConsumedSignalInfo = AggregatorPadBufferConsumedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_AggregatorPadBufferConsumedCallback cb
cb'' <- mk_AggregatorPadBufferConsumedCallback cb'
connectSignalFunPtr obj "buffer-consumed" cb'' connectMode detail
#endif
getAggregatorPadEmitSignals :: (MonadIO m, IsAggregatorPad o) => o -> m Bool
getAggregatorPadEmitSignals :: o -> m Bool
getAggregatorPadEmitSignals o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"emit-signals"
setAggregatorPadEmitSignals :: (MonadIO m, IsAggregatorPad o) => o -> Bool -> m ()
setAggregatorPadEmitSignals :: o -> Bool -> m ()
setAggregatorPadEmitSignals o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"emit-signals" Bool
val
constructAggregatorPadEmitSignals :: (IsAggregatorPad o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructAggregatorPadEmitSignals :: Bool -> m (GValueConstruct o)
constructAggregatorPadEmitSignals Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"emit-signals" Bool
val
#if defined(ENABLE_OVERLOADING)
data AggregatorPadEmitSignalsPropertyInfo
instance AttrInfo AggregatorPadEmitSignalsPropertyInfo where
type AttrAllowedOps AggregatorPadEmitSignalsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorPadEmitSignalsPropertyInfo = IsAggregatorPad
type AttrSetTypeConstraint AggregatorPadEmitSignalsPropertyInfo = (~) Bool
type AttrTransferTypeConstraint AggregatorPadEmitSignalsPropertyInfo = (~) Bool
type AttrTransferType AggregatorPadEmitSignalsPropertyInfo = Bool
type AttrGetType AggregatorPadEmitSignalsPropertyInfo = Bool
type AttrLabel AggregatorPadEmitSignalsPropertyInfo = "emit-signals"
type AttrOrigin AggregatorPadEmitSignalsPropertyInfo = AggregatorPad
attrGet = getAggregatorPadEmitSignals
attrSet = setAggregatorPadEmitSignals
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorPadEmitSignals
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AggregatorPad
type instance O.AttributeList AggregatorPad = AggregatorPadAttributeList
type AggregatorPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("emitSignals", AggregatorPadEmitSignalsPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorPadEmitSignals :: AttrLabelProxy "emitSignals"
aggregatorPadEmitSignals = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList AggregatorPad = AggregatorPadSignalList
type AggregatorPadSignalList = ('[ '("bufferConsumed", AggregatorPadBufferConsumedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_aggregator_pad_drop_buffer" gst_aggregator_pad_drop_buffer ::
Ptr AggregatorPad ->
IO CInt
aggregatorPadDropBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>
a
-> m Bool
aggregatorPadDropBuffer :: a -> m Bool
aggregatorPadDropBuffer a
pad = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr AggregatorPad
pad' <- a -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
CInt
result <- Ptr AggregatorPad -> IO CInt
gst_aggregator_pad_drop_buffer Ptr AggregatorPad
pad'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorPadDropBufferMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadDropBufferMethodInfo a signature where
overloadedMethod = aggregatorPadDropBuffer
#endif
foreign import ccall "gst_aggregator_pad_has_buffer" gst_aggregator_pad_has_buffer ::
Ptr AggregatorPad ->
IO CInt
aggregatorPadHasBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>
a
-> m Bool
aggregatorPadHasBuffer :: a -> m Bool
aggregatorPadHasBuffer a
pad = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr AggregatorPad
pad' <- a -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
CInt
result <- Ptr AggregatorPad -> IO CInt
gst_aggregator_pad_has_buffer Ptr AggregatorPad
pad'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorPadHasBufferMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadHasBufferMethodInfo a signature where
overloadedMethod = aggregatorPadHasBuffer
#endif
foreign import ccall "gst_aggregator_pad_is_eos" gst_aggregator_pad_is_eos ::
Ptr AggregatorPad ->
IO CInt
aggregatorPadIsEos ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>
a
-> m Bool
aggregatorPadIsEos :: a -> m Bool
aggregatorPadIsEos a
pad = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr AggregatorPad
pad' <- a -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
CInt
result <- Ptr AggregatorPad -> IO CInt
gst_aggregator_pad_is_eos Ptr AggregatorPad
pad'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorPadIsEosMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadIsEosMethodInfo a signature where
overloadedMethod = aggregatorPadIsEos
#endif
foreign import ccall "gst_aggregator_pad_peek_buffer" gst_aggregator_pad_peek_buffer ::
Ptr AggregatorPad ->
IO (Ptr Gst.Buffer.Buffer)
aggregatorPadPeekBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>
a
-> m Gst.Buffer.Buffer
aggregatorPadPeekBuffer :: a -> m Buffer
aggregatorPadPeekBuffer a
pad = IO Buffer -> m Buffer
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Buffer -> m Buffer) -> IO Buffer -> m Buffer
forall a b. (a -> b) -> a -> b
$ do
Ptr AggregatorPad
pad' <- a -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Buffer
result <- Ptr AggregatorPad -> IO (Ptr Buffer)
gst_aggregator_pad_peek_buffer Ptr AggregatorPad
pad'
Text -> Ptr Buffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"aggregatorPadPeekBuffer" Ptr Buffer
result
Buffer
result' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer) Ptr Buffer
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Buffer -> IO Buffer
forall (m :: * -> *) a. Monad m => a -> m a
return Buffer
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorPadPeekBufferMethodInfo
instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadPeekBufferMethodInfo a signature where
overloadedMethod = aggregatorPadPeekBuffer
#endif
foreign import ccall "gst_aggregator_pad_pop_buffer" gst_aggregator_pad_pop_buffer ::
Ptr AggregatorPad ->
IO (Ptr Gst.Buffer.Buffer)
aggregatorPadPopBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>
a
-> m Gst.Buffer.Buffer
aggregatorPadPopBuffer :: a -> m Buffer
aggregatorPadPopBuffer a
pad = IO Buffer -> m Buffer
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Buffer -> m Buffer) -> IO Buffer -> m Buffer
forall a b. (a -> b) -> a -> b
$ do
Ptr AggregatorPad
pad' <- a -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Buffer
result <- Ptr AggregatorPad -> IO (Ptr Buffer)
gst_aggregator_pad_pop_buffer Ptr AggregatorPad
pad'
Text -> Ptr Buffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"aggregatorPadPopBuffer" Ptr Buffer
result
Buffer
result' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer) Ptr Buffer
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Buffer -> IO Buffer
forall (m :: * -> *) a. Monad m => a -> m a
return Buffer
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorPadPopBufferMethodInfo
instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadPopBufferMethodInfo a signature where
overloadedMethod = aggregatorPadPopBuffer
#endif