gi-gstvideo-1.0.18: GI/GstVideo/Objects/VideoAggregatorPad.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
/No description available in the introspection data./
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Objects.VideoAggregatorPad
(
-- * Exported types
VideoAggregatorPad(..) ,
IsVideoAggregatorPad ,
toVideoAggregatorPad ,
noVideoAggregatorPad ,
-- * Methods
-- ** getCurrentBuffer #method:getCurrentBuffer#
#if ENABLE_OVERLOADING
VideoAggregatorPadGetCurrentBufferMethodInfo,
#endif
videoAggregatorPadGetCurrentBuffer ,
-- ** getPreparedFrame #method:getPreparedFrame#
#if ENABLE_OVERLOADING
VideoAggregatorPadGetPreparedFrameMethodInfo,
#endif
videoAggregatorPadGetPreparedFrame ,
-- ** hasCurrentBuffer #method:hasCurrentBuffer#
#if ENABLE_OVERLOADING
VideoAggregatorPadHasCurrentBufferMethodInfo,
#endif
videoAggregatorPadHasCurrentBuffer ,
-- ** setNeedsAlpha #method:setNeedsAlpha#
#if ENABLE_OVERLOADING
VideoAggregatorPadSetNeedsAlphaMethodInfo,
#endif
videoAggregatorPadSetNeedsAlpha ,
-- * Properties
-- ** repeatAfterEos #attr:repeatAfterEos#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
VideoAggregatorPadRepeatAfterEosPropertyInfo,
#endif
constructVideoAggregatorPadRepeatAfterEos,
getVideoAggregatorPadRepeatAfterEos ,
setVideoAggregatorPadRepeatAfterEos ,
#if ENABLE_OVERLOADING
videoAggregatorPadRepeatAfterEos ,
#endif
-- ** zorder #attr:zorder#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
VideoAggregatorPadZorderPropertyInfo ,
#endif
constructVideoAggregatorPadZorder ,
getVideoAggregatorPadZorder ,
setVideoAggregatorPadZorder ,
#if ENABLE_OVERLOADING
videoAggregatorPadZorder ,
#endif
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.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
import qualified GI.GstBase.Objects.AggregatorPad as GstBase.AggregatorPad
import {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoFrame as GstVideo.VideoFrame
-- | Memory-managed wrapper type.
newtype VideoAggregatorPad = VideoAggregatorPad (ManagedPtr VideoAggregatorPad)
foreign import ccall "gst_video_aggregator_pad_get_type"
c_gst_video_aggregator_pad_get_type :: IO GType
instance GObject VideoAggregatorPad where
gobjectType = c_gst_video_aggregator_pad_get_type
-- | Type class for types which can be safely cast to `VideoAggregatorPad`, for instance with `toVideoAggregatorPad`.
class (GObject o, O.IsDescendantOf VideoAggregatorPad o) => IsVideoAggregatorPad o
instance (GObject o, O.IsDescendantOf VideoAggregatorPad o) => IsVideoAggregatorPad o
instance O.HasParentTypes VideoAggregatorPad
type instance O.ParentTypes VideoAggregatorPad = '[GstBase.AggregatorPad.AggregatorPad, Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]
-- | Cast to `VideoAggregatorPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toVideoAggregatorPad :: (MonadIO m, IsVideoAggregatorPad o) => o -> m VideoAggregatorPad
toVideoAggregatorPad = liftIO . unsafeCastTo VideoAggregatorPad
-- | A convenience alias for `Nothing` :: `Maybe` `VideoAggregatorPad`.
noVideoAggregatorPad :: Maybe VideoAggregatorPad
noVideoAggregatorPad = Nothing
#if ENABLE_OVERLOADING
type family ResolveVideoAggregatorPadMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoAggregatorPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo
ResolveVideoAggregatorPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveVideoAggregatorPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo
ResolveVideoAggregatorPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveVideoAggregatorPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveVideoAggregatorPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo
ResolveVideoAggregatorPadMethod "chain" o = Gst.Pad.PadChainMethodInfo
ResolveVideoAggregatorPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo
ResolveVideoAggregatorPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo
ResolveVideoAggregatorPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo
ResolveVideoAggregatorPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveVideoAggregatorPadMethod "dropBuffer" o = GstBase.AggregatorPad.AggregatorPadDropBufferMethodInfo
ResolveVideoAggregatorPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo
ResolveVideoAggregatorPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveVideoAggregatorPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo
ResolveVideoAggregatorPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveVideoAggregatorPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveVideoAggregatorPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveVideoAggregatorPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveVideoAggregatorPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveVideoAggregatorPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveVideoAggregatorPadMethod "hasBuffer" o = GstBase.AggregatorPad.AggregatorPadHasBufferMethodInfo
ResolveVideoAggregatorPadMethod "hasCurrentBuffer" o = VideoAggregatorPadHasCurrentBufferMethodInfo
ResolveVideoAggregatorPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo
ResolveVideoAggregatorPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo
ResolveVideoAggregatorPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo
ResolveVideoAggregatorPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo
ResolveVideoAggregatorPadMethod "isEos" o = GstBase.AggregatorPad.AggregatorPadIsEosMethodInfo
ResolveVideoAggregatorPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveVideoAggregatorPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo
ResolveVideoAggregatorPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo
ResolveVideoAggregatorPadMethod "iterateInternalLinksDefault" o = Gst.Pad.PadIterateInternalLinksDefaultMethodInfo
ResolveVideoAggregatorPadMethod "link" o = Gst.Pad.PadLinkMethodInfo
ResolveVideoAggregatorPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo
ResolveVideoAggregatorPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo
ResolveVideoAggregatorPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo
ResolveVideoAggregatorPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo
ResolveVideoAggregatorPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo
ResolveVideoAggregatorPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveVideoAggregatorPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveVideoAggregatorPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo
ResolveVideoAggregatorPadMethod "peekBuffer" o = GstBase.AggregatorPad.AggregatorPadPeekBufferMethodInfo
ResolveVideoAggregatorPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo
ResolveVideoAggregatorPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo
ResolveVideoAggregatorPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo
ResolveVideoAggregatorPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo
ResolveVideoAggregatorPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo
ResolveVideoAggregatorPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo
ResolveVideoAggregatorPadMethod "popBuffer" o = GstBase.AggregatorPad.AggregatorPadPopBufferMethodInfo
ResolveVideoAggregatorPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo
ResolveVideoAggregatorPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo
ResolveVideoAggregatorPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo
ResolveVideoAggregatorPadMethod "push" o = Gst.Pad.PadPushMethodInfo
ResolveVideoAggregatorPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo
ResolveVideoAggregatorPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo
ResolveVideoAggregatorPadMethod "query" o = Gst.Pad.PadQueryMethodInfo
ResolveVideoAggregatorPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo
ResolveVideoAggregatorPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo
ResolveVideoAggregatorPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo
ResolveVideoAggregatorPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo
ResolveVideoAggregatorPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo
ResolveVideoAggregatorPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo
ResolveVideoAggregatorPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveVideoAggregatorPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveVideoAggregatorPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveVideoAggregatorPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo
ResolveVideoAggregatorPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveVideoAggregatorPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo
ResolveVideoAggregatorPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo
ResolveVideoAggregatorPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveVideoAggregatorPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveVideoAggregatorPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo
ResolveVideoAggregatorPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo
ResolveVideoAggregatorPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo
ResolveVideoAggregatorPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveVideoAggregatorPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveVideoAggregatorPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveVideoAggregatorPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo
ResolveVideoAggregatorPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveVideoAggregatorPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveVideoAggregatorPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo
ResolveVideoAggregatorPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveVideoAggregatorPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo
ResolveVideoAggregatorPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveVideoAggregatorPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveVideoAggregatorPadMethod "getCurrentBuffer" o = VideoAggregatorPadGetCurrentBufferMethodInfo
ResolveVideoAggregatorPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo
ResolveVideoAggregatorPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveVideoAggregatorPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo
ResolveVideoAggregatorPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo
ResolveVideoAggregatorPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveVideoAggregatorPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo
ResolveVideoAggregatorPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveVideoAggregatorPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo
ResolveVideoAggregatorPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo
ResolveVideoAggregatorPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo
ResolveVideoAggregatorPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveVideoAggregatorPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo
ResolveVideoAggregatorPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveVideoAggregatorPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo
ResolveVideoAggregatorPadMethod "getPreparedFrame" o = VideoAggregatorPadGetPreparedFrameMethodInfo
ResolveVideoAggregatorPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveVideoAggregatorPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveVideoAggregatorPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo
ResolveVideoAggregatorPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo
ResolveVideoAggregatorPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo
ResolveVideoAggregatorPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo
ResolveVideoAggregatorPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo
ResolveVideoAggregatorPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveVideoAggregatorPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo
ResolveVideoAggregatorPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveVideoAggregatorPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveVideoAggregatorPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveVideoAggregatorPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveVideoAggregatorPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo
ResolveVideoAggregatorPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveVideoAggregatorPadMethod "setNeedsAlpha" o = VideoAggregatorPadSetNeedsAlphaMethodInfo
ResolveVideoAggregatorPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo
ResolveVideoAggregatorPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveVideoAggregatorPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveVideoAggregatorPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo
ResolveVideoAggregatorPadMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoAggregatorPadMethod t VideoAggregatorPad, O.MethodInfo info VideoAggregatorPad p) => OL.IsLabel t (VideoAggregatorPad -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
-- VVV Prop "repeat-after-eos"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
-- Nullable: (Nothing,Nothing)
{- |
Get the value of the “@repeat-after-eos@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' videoAggregatorPad #repeatAfterEos
@
-}
getVideoAggregatorPadRepeatAfterEos :: (MonadIO m, IsVideoAggregatorPad o) => o -> m Bool
getVideoAggregatorPadRepeatAfterEos obj = liftIO $ B.Properties.getObjectPropertyBool obj "repeat-after-eos"
{- |
Set the value of the “@repeat-after-eos@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' videoAggregatorPad [ #repeatAfterEos 'Data.GI.Base.Attributes.:=' value ]
@
-}
setVideoAggregatorPadRepeatAfterEos :: (MonadIO m, IsVideoAggregatorPad o) => o -> Bool -> m ()
setVideoAggregatorPadRepeatAfterEos obj val = liftIO $ B.Properties.setObjectPropertyBool obj "repeat-after-eos" val
{- |
Construct a `GValueConstruct` with valid value for the “@repeat-after-eos@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructVideoAggregatorPadRepeatAfterEos :: (IsVideoAggregatorPad o) => Bool -> IO (GValueConstruct o)
constructVideoAggregatorPadRepeatAfterEos val = B.Properties.constructObjectPropertyBool "repeat-after-eos" val
#if ENABLE_OVERLOADING
data VideoAggregatorPadRepeatAfterEosPropertyInfo
instance AttrInfo VideoAggregatorPadRepeatAfterEosPropertyInfo where
type AttrAllowedOps VideoAggregatorPadRepeatAfterEosPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint VideoAggregatorPadRepeatAfterEosPropertyInfo = (~) Bool
type AttrBaseTypeConstraint VideoAggregatorPadRepeatAfterEosPropertyInfo = IsVideoAggregatorPad
type AttrGetType VideoAggregatorPadRepeatAfterEosPropertyInfo = Bool
type AttrLabel VideoAggregatorPadRepeatAfterEosPropertyInfo = "repeat-after-eos"
type AttrOrigin VideoAggregatorPadRepeatAfterEosPropertyInfo = VideoAggregatorPad
attrGet _ = getVideoAggregatorPadRepeatAfterEos
attrSet _ = setVideoAggregatorPadRepeatAfterEos
attrConstruct _ = constructVideoAggregatorPadRepeatAfterEos
attrClear _ = undefined
#endif
-- VVV Prop "zorder"
-- Type: TBasicType TUInt
-- Flags: [PropertyReadable,PropertyWritable]
-- Nullable: (Nothing,Nothing)
{- |
Get the value of the “@zorder@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' videoAggregatorPad #zorder
@
-}
getVideoAggregatorPadZorder :: (MonadIO m, IsVideoAggregatorPad o) => o -> m Word32
getVideoAggregatorPadZorder obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "zorder"
{- |
Set the value of the “@zorder@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' videoAggregatorPad [ #zorder 'Data.GI.Base.Attributes.:=' value ]
@
-}
setVideoAggregatorPadZorder :: (MonadIO m, IsVideoAggregatorPad o) => o -> Word32 -> m ()
setVideoAggregatorPadZorder obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "zorder" val
{- |
Construct a `GValueConstruct` with valid value for the “@zorder@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructVideoAggregatorPadZorder :: (IsVideoAggregatorPad o) => Word32 -> IO (GValueConstruct o)
constructVideoAggregatorPadZorder val = B.Properties.constructObjectPropertyUInt32 "zorder" val
#if ENABLE_OVERLOADING
data VideoAggregatorPadZorderPropertyInfo
instance AttrInfo VideoAggregatorPadZorderPropertyInfo where
type AttrAllowedOps VideoAggregatorPadZorderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint VideoAggregatorPadZorderPropertyInfo = (~) Word32
type AttrBaseTypeConstraint VideoAggregatorPadZorderPropertyInfo = IsVideoAggregatorPad
type AttrGetType VideoAggregatorPadZorderPropertyInfo = Word32
type AttrLabel VideoAggregatorPadZorderPropertyInfo = "zorder"
type AttrOrigin VideoAggregatorPadZorderPropertyInfo = VideoAggregatorPad
attrGet _ = getVideoAggregatorPadZorder
attrSet _ = setVideoAggregatorPadZorder
attrConstruct _ = constructVideoAggregatorPadZorder
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList VideoAggregatorPad
type instance O.AttributeList VideoAggregatorPad = VideoAggregatorPadAttributeList
type VideoAggregatorPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("emitSignals", GstBase.AggregatorPad.AggregatorPadEmitSignalsPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("repeatAfterEos", VideoAggregatorPadRepeatAfterEosPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo), '("zorder", VideoAggregatorPadZorderPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
videoAggregatorPadRepeatAfterEos :: AttrLabelProxy "repeatAfterEos"
videoAggregatorPadRepeatAfterEos = AttrLabelProxy
videoAggregatorPadZorder :: AttrLabelProxy "zorder"
videoAggregatorPadZorder = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList VideoAggregatorPad = VideoAggregatorPadSignalList
type VideoAggregatorPadSignalList = ('[ '("bufferConsumed", GstBase.AggregatorPad.AggregatorPadBufferConsumedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])
#endif
-- method VideoAggregatorPad::get_current_buffer
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoAggregatorPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_aggregator_pad_get_current_buffer" gst_video_aggregator_pad_get_current_buffer ::
Ptr VideoAggregatorPad -> -- pad : TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"})
IO (Ptr Gst.Buffer.Buffer)
{- |
Returns the currently queued buffer that is going to be used
for the current output frame.
This must only be called from the @/aggregate_frames()/@ virtual method,
or from the @/prepare_frame()/@ virtual method of the aggregator pads.
The return value is only valid until @/aggregate_frames()/@ or @/prepare_frames()/@
returns.
-}
videoAggregatorPadGetCurrentBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsVideoAggregatorPad a) =>
a
{- ^ /@pad@/: a 'GI.GstVideo.Objects.VideoAggregatorPad.VideoAggregatorPad' -}
-> m Gst.Buffer.Buffer
{- ^ __Returns:__ The currently queued buffer -}
videoAggregatorPadGetCurrentBuffer pad = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
result <- gst_video_aggregator_pad_get_current_buffer pad'
checkUnexpectedReturnNULL "videoAggregatorPadGetCurrentBuffer" result
result' <- (newBoxed Gst.Buffer.Buffer) result
touchManagedPtr pad
return result'
#if ENABLE_OVERLOADING
data VideoAggregatorPadGetCurrentBufferMethodInfo
instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m, IsVideoAggregatorPad a) => O.MethodInfo VideoAggregatorPadGetCurrentBufferMethodInfo a signature where
overloadedMethod _ = videoAggregatorPadGetCurrentBuffer
#endif
-- method VideoAggregatorPad::get_prepared_frame
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoAggregatorPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GstVideo", name = "VideoFrame"}))
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_aggregator_pad_get_prepared_frame" gst_video_aggregator_pad_get_prepared_frame ::
Ptr VideoAggregatorPad -> -- pad : TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"})
IO (Ptr GstVideo.VideoFrame.VideoFrame)
{- |
Returns the currently prepared video frame that has to be aggregated into
the current output frame.
This must only be called from the @/aggregate_frames()/@ virtual method,
or from the @/prepare_frame()/@ virtual method of the aggregator pads.
The return value is only valid until @/aggregate_frames()/@ or @/prepare_frames()/@
returns.
-}
videoAggregatorPadGetPreparedFrame ::
(B.CallStack.HasCallStack, MonadIO m, IsVideoAggregatorPad a) =>
a
{- ^ /@pad@/: a 'GI.GstVideo.Objects.VideoAggregatorPad.VideoAggregatorPad' -}
-> m GstVideo.VideoFrame.VideoFrame
{- ^ __Returns:__ The currently prepared video frame -}
videoAggregatorPadGetPreparedFrame pad = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
result <- gst_video_aggregator_pad_get_prepared_frame pad'
checkUnexpectedReturnNULL "videoAggregatorPadGetPreparedFrame" result
result' <- (newPtr GstVideo.VideoFrame.VideoFrame) result
touchManagedPtr pad
return result'
#if ENABLE_OVERLOADING
data VideoAggregatorPadGetPreparedFrameMethodInfo
instance (signature ~ (m GstVideo.VideoFrame.VideoFrame), MonadIO m, IsVideoAggregatorPad a) => O.MethodInfo VideoAggregatorPadGetPreparedFrameMethodInfo a signature where
overloadedMethod _ = videoAggregatorPadGetPreparedFrame
#endif
-- method VideoAggregatorPad::has_current_buffer
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoAggregatorPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_aggregator_pad_has_current_buffer" gst_video_aggregator_pad_has_current_buffer ::
Ptr VideoAggregatorPad -> -- pad : TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"})
IO CInt
{- |
Checks if the pad currently has a buffer queued that is going to be used
for the current output frame.
This must only be called from the @/aggregate_frames()/@ virtual method,
or from the @/prepare_frame()/@ virtual method of the aggregator pads.
-}
videoAggregatorPadHasCurrentBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsVideoAggregatorPad a) =>
a
{- ^ /@pad@/: a 'GI.GstVideo.Objects.VideoAggregatorPad.VideoAggregatorPad' -}
-> m Bool
{- ^ __Returns:__ 'True' if the pad has currently a buffer queued -}
videoAggregatorPadHasCurrentBuffer pad = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
result <- gst_video_aggregator_pad_has_current_buffer pad'
let result' = (/= 0) result
touchManagedPtr pad
return result'
#if ENABLE_OVERLOADING
data VideoAggregatorPadHasCurrentBufferMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsVideoAggregatorPad a) => O.MethodInfo VideoAggregatorPadHasCurrentBufferMethodInfo a signature where
overloadedMethod _ = videoAggregatorPadHasCurrentBuffer
#endif
-- method VideoAggregatorPad::set_needs_alpha
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoAggregatorPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needs_alpha", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if this pad requires alpha output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_aggregator_pad_set_needs_alpha" gst_video_aggregator_pad_set_needs_alpha ::
Ptr VideoAggregatorPad -> -- pad : TInterface (Name {namespace = "GstVideo", name = "VideoAggregatorPad"})
CInt -> -- needs_alpha : TBasicType TBoolean
IO ()
{- |
Allows selecting that this pad requires an output format with alpha
-}
videoAggregatorPadSetNeedsAlpha ::
(B.CallStack.HasCallStack, MonadIO m, IsVideoAggregatorPad a) =>
a
{- ^ /@pad@/: a 'GI.GstVideo.Objects.VideoAggregatorPad.VideoAggregatorPad' -}
-> Bool
{- ^ /@needsAlpha@/: 'True' if this pad requires alpha output -}
-> m ()
videoAggregatorPadSetNeedsAlpha pad needsAlpha = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
let needsAlpha' = (fromIntegral . fromEnum) needsAlpha
gst_video_aggregator_pad_set_needs_alpha pad' needsAlpha'
touchManagedPtr pad
return ()
#if ENABLE_OVERLOADING
data VideoAggregatorPadSetNeedsAlphaMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsVideoAggregatorPad a) => O.MethodInfo VideoAggregatorPadSetNeedsAlphaMethodInfo a signature where
overloadedMethod _ = videoAggregatorPadSetNeedsAlpha
#endif