{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstBase.Objects.Aggregator
(
Aggregator(..) ,
IsAggregator ,
toAggregator ,
#if defined(ENABLE_OVERLOADING)
ResolveAggregatorMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
AggregatorFinishBufferMethodInfo ,
#endif
aggregatorFinishBuffer ,
#if defined(ENABLE_OVERLOADING)
AggregatorFinishBufferListMethodInfo ,
#endif
aggregatorFinishBufferList ,
#if defined(ENABLE_OVERLOADING)
AggregatorGetAllocatorMethodInfo ,
#endif
aggregatorGetAllocator ,
#if defined(ENABLE_OVERLOADING)
AggregatorGetBufferPoolMethodInfo ,
#endif
aggregatorGetBufferPool ,
#if defined(ENABLE_OVERLOADING)
AggregatorGetLatencyMethodInfo ,
#endif
aggregatorGetLatency ,
#if defined(ENABLE_OVERLOADING)
AggregatorNegotiateMethodInfo ,
#endif
aggregatorNegotiate ,
#if defined(ENABLE_OVERLOADING)
AggregatorPeekNextSampleMethodInfo ,
#endif
aggregatorPeekNextSample ,
#if defined(ENABLE_OVERLOADING)
AggregatorSelectedSamplesMethodInfo ,
#endif
aggregatorSelectedSamples ,
#if defined(ENABLE_OVERLOADING)
AggregatorSetLatencyMethodInfo ,
#endif
aggregatorSetLatency ,
#if defined(ENABLE_OVERLOADING)
AggregatorSetSrcCapsMethodInfo ,
#endif
aggregatorSetSrcCaps ,
#if defined(ENABLE_OVERLOADING)
AggregatorSimpleGetNextTimeMethodInfo ,
#endif
aggregatorSimpleGetNextTime ,
#if defined(ENABLE_OVERLOADING)
AggregatorUpdateSegmentMethodInfo ,
#endif
aggregatorUpdateSegment ,
#if defined(ENABLE_OVERLOADING)
AggregatorEmitSignalsPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorEmitSignals ,
#endif
constructAggregatorEmitSignals ,
getAggregatorEmitSignals ,
setAggregatorEmitSignals ,
#if defined(ENABLE_OVERLOADING)
AggregatorLatencyPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorLatency ,
#endif
constructAggregatorLatency ,
getAggregatorLatency ,
setAggregatorLatency ,
#if defined(ENABLE_OVERLOADING)
AggregatorMinUpstreamLatencyPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorMinUpstreamLatency ,
#endif
constructAggregatorMinUpstreamLatency ,
getAggregatorMinUpstreamLatency ,
setAggregatorMinUpstreamLatency ,
#if defined(ENABLE_OVERLOADING)
AggregatorStartTimePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorStartTime ,
#endif
constructAggregatorStartTime ,
getAggregatorStartTime ,
setAggregatorStartTime ,
#if defined(ENABLE_OVERLOADING)
AggregatorStartTimeSelectionPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorStartTimeSelection ,
#endif
constructAggregatorStartTimeSelection ,
getAggregatorStartTimeSelection ,
setAggregatorStartTimeSelection ,
AggregatorSamplesSelectedCallback ,
#if defined(ENABLE_OVERLOADING)
AggregatorSamplesSelectedSignalInfo ,
#endif
afterAggregatorSamplesSelected ,
onAggregatorSamplesSelected ,
) 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.GArray as B.GArray
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.Coerce as Coerce
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Enums as Gst.Enums
import qualified GI.Gst.Objects.Allocator as Gst.Allocator
import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams
import qualified GI.Gst.Structs.Buffer as Gst.Buffer
import qualified GI.Gst.Structs.BufferList as Gst.BufferList
import qualified GI.Gst.Structs.Caps as Gst.Caps
import qualified GI.Gst.Structs.Sample as Gst.Sample
import qualified GI.Gst.Structs.Segment as Gst.Segment
import qualified GI.Gst.Structs.Structure as Gst.Structure
import {-# SOURCE #-} qualified GI.GstBase.Enums as GstBase.Enums
import {-# SOURCE #-} qualified GI.GstBase.Objects.AggregatorPad as GstBase.AggregatorPad
newtype Aggregator = Aggregator (SP.ManagedPtr Aggregator)
deriving (Aggregator -> Aggregator -> Bool
(Aggregator -> Aggregator -> Bool)
-> (Aggregator -> Aggregator -> Bool) -> Eq Aggregator
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Aggregator -> Aggregator -> Bool
$c/= :: Aggregator -> Aggregator -> Bool
== :: Aggregator -> Aggregator -> Bool
$c== :: Aggregator -> Aggregator -> Bool
Eq)
instance SP.ManagedPtrNewtype Aggregator where
toManagedPtr :: Aggregator -> ManagedPtr Aggregator
toManagedPtr (Aggregator ManagedPtr Aggregator
p) = ManagedPtr Aggregator
p
foreign import ccall "gst_aggregator_get_type"
c_gst_aggregator_get_type :: IO B.Types.GType
instance B.Types.TypedObject Aggregator where
glibType :: IO GType
glibType = IO GType
c_gst_aggregator_get_type
instance B.Types.GObject Aggregator
class (SP.GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o
instance (SP.GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o
instance O.HasParentTypes Aggregator
type instance O.ParentTypes Aggregator = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toAggregator :: (MIO.MonadIO m, IsAggregator o) => o -> m Aggregator
toAggregator :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> m Aggregator
toAggregator = IO Aggregator -> m Aggregator
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Aggregator -> m Aggregator)
-> (o -> IO Aggregator) -> o -> m Aggregator
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Aggregator -> Aggregator) -> o -> IO Aggregator
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Aggregator -> Aggregator
Aggregator
instance B.GValue.IsGValue (Maybe Aggregator) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_aggregator_get_type
gvalueSet_ :: Ptr GValue -> Maybe Aggregator -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Aggregator
P.Nothing = Ptr GValue -> Ptr Aggregator -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Aggregator
forall a. Ptr a
FP.nullPtr :: FP.Ptr Aggregator)
gvalueSet_ Ptr GValue
gv (P.Just Aggregator
obj) = Aggregator -> (Ptr Aggregator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Aggregator
obj (Ptr GValue -> Ptr Aggregator -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Aggregator)
gvalueGet_ Ptr GValue
gv = do
Ptr Aggregator
ptr <- Ptr GValue -> IO (Ptr Aggregator)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Aggregator)
if Ptr Aggregator
ptr Ptr Aggregator -> Ptr Aggregator -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Aggregator
forall a. Ptr a
FP.nullPtr
then Aggregator -> Maybe Aggregator
forall a. a -> Maybe a
P.Just (Aggregator -> Maybe Aggregator)
-> IO Aggregator -> IO (Maybe Aggregator)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Aggregator -> Aggregator)
-> Ptr Aggregator -> IO Aggregator
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Aggregator -> Aggregator
Aggregator Ptr Aggregator
ptr
else Maybe Aggregator -> IO (Maybe Aggregator)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Aggregator
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveAggregatorMethod (t :: Symbol) (o :: *) :: * where
ResolveAggregatorMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveAggregatorMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveAggregatorMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveAggregatorMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveAggregatorMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveAggregatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveAggregatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveAggregatorMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveAggregatorMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveAggregatorMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveAggregatorMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveAggregatorMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveAggregatorMethod "finishBuffer" o = AggregatorFinishBufferMethodInfo
ResolveAggregatorMethod "finishBufferList" o = AggregatorFinishBufferListMethodInfo
ResolveAggregatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAggregatorMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveAggregatorMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveAggregatorMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveAggregatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveAggregatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveAggregatorMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveAggregatorMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveAggregatorMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveAggregatorMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveAggregatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveAggregatorMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveAggregatorMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveAggregatorMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveAggregatorMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveAggregatorMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveAggregatorMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveAggregatorMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveAggregatorMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveAggregatorMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveAggregatorMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveAggregatorMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveAggregatorMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveAggregatorMethod "negotiate" o = AggregatorNegotiateMethodInfo
ResolveAggregatorMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveAggregatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveAggregatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveAggregatorMethod "peekNextSample" o = AggregatorPeekNextSampleMethodInfo
ResolveAggregatorMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveAggregatorMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveAggregatorMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveAggregatorMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveAggregatorMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveAggregatorMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveAggregatorMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveAggregatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveAggregatorMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveAggregatorMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveAggregatorMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveAggregatorMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveAggregatorMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveAggregatorMethod "requestPadSimple" o = Gst.Element.ElementRequestPadSimpleMethodInfo
ResolveAggregatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveAggregatorMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveAggregatorMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveAggregatorMethod "selectedSamples" o = AggregatorSelectedSamplesMethodInfo
ResolveAggregatorMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveAggregatorMethod "simpleGetNextTime" o = AggregatorSimpleGetNextTimeMethodInfo
ResolveAggregatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveAggregatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveAggregatorMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveAggregatorMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveAggregatorMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveAggregatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveAggregatorMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveAggregatorMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveAggregatorMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveAggregatorMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveAggregatorMethod "updateSegment" o = AggregatorUpdateSegmentMethodInfo
ResolveAggregatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveAggregatorMethod "getAllocator" o = AggregatorGetAllocatorMethodInfo
ResolveAggregatorMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveAggregatorMethod "getBufferPool" o = AggregatorGetBufferPoolMethodInfo
ResolveAggregatorMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveAggregatorMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveAggregatorMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveAggregatorMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveAggregatorMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveAggregatorMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveAggregatorMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveAggregatorMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveAggregatorMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveAggregatorMethod "getCurrentClockTime" o = Gst.Element.ElementGetCurrentClockTimeMethodInfo
ResolveAggregatorMethod "getCurrentRunningTime" o = Gst.Element.ElementGetCurrentRunningTimeMethodInfo
ResolveAggregatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveAggregatorMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveAggregatorMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveAggregatorMethod "getLatency" o = AggregatorGetLatencyMethodInfo
ResolveAggregatorMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveAggregatorMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveAggregatorMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveAggregatorMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveAggregatorMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveAggregatorMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveAggregatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveAggregatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveAggregatorMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveAggregatorMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveAggregatorMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveAggregatorMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveAggregatorMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveAggregatorMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveAggregatorMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveAggregatorMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveAggregatorMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveAggregatorMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveAggregatorMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveAggregatorMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveAggregatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveAggregatorMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveAggregatorMethod "setLatency" o = AggregatorSetLatencyMethodInfo
ResolveAggregatorMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveAggregatorMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveAggregatorMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveAggregatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAggregatorMethod "setSrcCaps" o = AggregatorSetSrcCapsMethodInfo
ResolveAggregatorMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveAggregatorMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveAggregatorMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAggregatorMethod t Aggregator, O.OverloadedMethod info Aggregator p) => OL.IsLabel t (Aggregator -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveAggregatorMethod t Aggregator, O.OverloadedMethod info Aggregator p, R.HasField t Aggregator p) => R.HasField t Aggregator p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveAggregatorMethod t Aggregator, O.OverloadedMethodInfo info Aggregator) => OL.IsLabel t (O.MethodProxy info Aggregator) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type AggregatorSamplesSelectedCallback =
Gst.Segment.Segment
-> Word64
-> Word64
-> Word64
-> Maybe Gst.Structure.Structure
-> IO ()
type C_AggregatorSamplesSelectedCallback =
Ptr Aggregator ->
Ptr Gst.Segment.Segment ->
Word64 ->
Word64 ->
Word64 ->
Ptr Gst.Structure.Structure ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_AggregatorSamplesSelectedCallback :: C_AggregatorSamplesSelectedCallback -> IO (FunPtr C_AggregatorSamplesSelectedCallback)
wrap_AggregatorSamplesSelectedCallback ::
GObject a => (a -> AggregatorSamplesSelectedCallback) ->
C_AggregatorSamplesSelectedCallback
wrap_AggregatorSamplesSelectedCallback :: forall a.
GObject a =>
(a -> AggregatorSamplesSelectedCallback)
-> C_AggregatorSamplesSelectedCallback
wrap_AggregatorSamplesSelectedCallback a -> AggregatorSamplesSelectedCallback
gi'cb Ptr Aggregator
gi'selfPtr Ptr Segment
segment Word64
pts Word64
dts Word64
duration Ptr Structure
info Ptr ()
_ = do
Ptr Segment -> (Segment -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Segment
segment ((Segment -> IO ()) -> IO ()) -> (Segment -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Segment
segment' -> do
Maybe Structure
maybeInfo <-
if Ptr Structure
info Ptr Structure -> Ptr Structure -> Bool
forall a. Eq a => a -> a -> Bool
== Ptr Structure
forall a. Ptr a
nullPtr
then Maybe Structure -> IO (Maybe Structure)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Structure
forall a. Maybe a
Nothing
else do
Ptr Structure
-> (Structure -> IO (Maybe Structure)) -> IO (Maybe Structure)
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Structure
info ((Structure -> IO (Maybe Structure)) -> IO (Maybe Structure))
-> (Structure -> IO (Maybe Structure)) -> IO (Maybe Structure)
forall a b. (a -> b) -> a -> b
$ \Structure
info' -> do
Maybe Structure -> IO (Maybe Structure)
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe Structure -> IO (Maybe Structure))
-> Maybe Structure -> IO (Maybe Structure)
forall a b. (a -> b) -> a -> b
$ Structure -> Maybe Structure
forall a. a -> Maybe a
Just Structure
info'
Ptr Aggregator -> (Aggregator -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Aggregator
gi'selfPtr ((Aggregator -> IO ()) -> IO ()) -> (Aggregator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Aggregator
gi'self -> a -> AggregatorSamplesSelectedCallback
gi'cb (Aggregator -> a
Coerce.coerce Aggregator
gi'self) Segment
segment' Word64
pts Word64
dts Word64
duration Maybe Structure
maybeInfo
onAggregatorSamplesSelected :: (IsAggregator a, MonadIO m) => a -> ((?self :: a) => AggregatorSamplesSelectedCallback) -> m SignalHandlerId
onAggregatorSamplesSelected :: forall a (m :: * -> *).
(IsAggregator a, MonadIO m) =>
a
-> ((?self::a) => AggregatorSamplesSelectedCallback)
-> m SignalHandlerId
onAggregatorSamplesSelected a
obj (?self::a) => AggregatorSamplesSelectedCallback
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 wrapped :: a -> AggregatorSamplesSelectedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => AggregatorSamplesSelectedCallback
AggregatorSamplesSelectedCallback
cb
let wrapped' :: C_AggregatorSamplesSelectedCallback
wrapped' = (a -> AggregatorSamplesSelectedCallback)
-> C_AggregatorSamplesSelectedCallback
forall a.
GObject a =>
(a -> AggregatorSamplesSelectedCallback)
-> C_AggregatorSamplesSelectedCallback
wrap_AggregatorSamplesSelectedCallback a -> AggregatorSamplesSelectedCallback
wrapped
FunPtr C_AggregatorSamplesSelectedCallback
wrapped'' <- C_AggregatorSamplesSelectedCallback
-> IO (FunPtr C_AggregatorSamplesSelectedCallback)
mk_AggregatorSamplesSelectedCallback C_AggregatorSamplesSelectedCallback
wrapped'
a
-> Text
-> FunPtr C_AggregatorSamplesSelectedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"samples-selected" FunPtr C_AggregatorSamplesSelectedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterAggregatorSamplesSelected :: (IsAggregator a, MonadIO m) => a -> ((?self :: a) => AggregatorSamplesSelectedCallback) -> m SignalHandlerId
afterAggregatorSamplesSelected :: forall a (m :: * -> *).
(IsAggregator a, MonadIO m) =>
a
-> ((?self::a) => AggregatorSamplesSelectedCallback)
-> m SignalHandlerId
afterAggregatorSamplesSelected a
obj (?self::a) => AggregatorSamplesSelectedCallback
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 wrapped :: a -> AggregatorSamplesSelectedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => AggregatorSamplesSelectedCallback
AggregatorSamplesSelectedCallback
cb
let wrapped' :: C_AggregatorSamplesSelectedCallback
wrapped' = (a -> AggregatorSamplesSelectedCallback)
-> C_AggregatorSamplesSelectedCallback
forall a.
GObject a =>
(a -> AggregatorSamplesSelectedCallback)
-> C_AggregatorSamplesSelectedCallback
wrap_AggregatorSamplesSelectedCallback a -> AggregatorSamplesSelectedCallback
wrapped
FunPtr C_AggregatorSamplesSelectedCallback
wrapped'' <- C_AggregatorSamplesSelectedCallback
-> IO (FunPtr C_AggregatorSamplesSelectedCallback)
mk_AggregatorSamplesSelectedCallback C_AggregatorSamplesSelectedCallback
wrapped'
a
-> Text
-> FunPtr C_AggregatorSamplesSelectedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"samples-selected" FunPtr C_AggregatorSamplesSelectedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data AggregatorSamplesSelectedSignalInfo
instance SignalInfo AggregatorSamplesSelectedSignalInfo where
type HaskellCallbackType AggregatorSamplesSelectedSignalInfo = AggregatorSamplesSelectedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_AggregatorSamplesSelectedCallback cb
cb'' <- mk_AggregatorSamplesSelectedCallback cb'
connectSignalFunPtr obj "samples-selected" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator::samples-selected"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:signal:samplesSelected"})
#endif
getAggregatorEmitSignals :: (MonadIO m, IsAggregator o) => o -> m Bool
getAggregatorEmitSignals :: forall (m :: * -> *) o. (MonadIO m, IsAggregator o) => o -> m Bool
getAggregatorEmitSignals o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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"
setAggregatorEmitSignals :: (MonadIO m, IsAggregator o) => o -> Bool -> m ()
setAggregatorEmitSignals :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> Bool -> m ()
setAggregatorEmitSignals o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"emit-signals" Bool
val
constructAggregatorEmitSignals :: (IsAggregator o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructAggregatorEmitSignals :: forall o (m :: * -> *).
(IsAggregator o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructAggregatorEmitSignals 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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (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 AggregatorEmitSignalsPropertyInfo
instance AttrInfo AggregatorEmitSignalsPropertyInfo where
type AttrAllowedOps AggregatorEmitSignalsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorEmitSignalsPropertyInfo = IsAggregator
type AttrSetTypeConstraint AggregatorEmitSignalsPropertyInfo = (~) Bool
type AttrTransferTypeConstraint AggregatorEmitSignalsPropertyInfo = (~) Bool
type AttrTransferType AggregatorEmitSignalsPropertyInfo = Bool
type AttrGetType AggregatorEmitSignalsPropertyInfo = Bool
type AttrLabel AggregatorEmitSignalsPropertyInfo = "emit-signals"
type AttrOrigin AggregatorEmitSignalsPropertyInfo = Aggregator
attrGet = getAggregatorEmitSignals
attrSet = setAggregatorEmitSignals
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorEmitSignals
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.emitSignals"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:attr:emitSignals"
})
#endif
getAggregatorLatency :: (MonadIO m, IsAggregator o) => o -> m Word64
getAggregatorLatency :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> m Word64
getAggregatorLatency o
obj = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"latency"
setAggregatorLatency :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()
setAggregatorLatency :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> Word64 -> m ()
setAggregatorLatency o
obj Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"latency" Word64
val
constructAggregatorLatency :: (IsAggregator o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructAggregatorLatency :: forall o (m :: * -> *).
(IsAggregator o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructAggregatorLatency Word64
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"latency" Word64
val
#if defined(ENABLE_OVERLOADING)
data AggregatorLatencyPropertyInfo
instance AttrInfo AggregatorLatencyPropertyInfo where
type AttrAllowedOps AggregatorLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorLatencyPropertyInfo = IsAggregator
type AttrSetTypeConstraint AggregatorLatencyPropertyInfo = (~) Word64
type AttrTransferTypeConstraint AggregatorLatencyPropertyInfo = (~) Word64
type AttrTransferType AggregatorLatencyPropertyInfo = Word64
type AttrGetType AggregatorLatencyPropertyInfo = Word64
type AttrLabel AggregatorLatencyPropertyInfo = "latency"
type AttrOrigin AggregatorLatencyPropertyInfo = Aggregator
attrGet = getAggregatorLatency
attrSet = setAggregatorLatency
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorLatency
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.latency"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:attr:latency"
})
#endif
getAggregatorMinUpstreamLatency :: (MonadIO m, IsAggregator o) => o -> m Word64
getAggregatorMinUpstreamLatency :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> m Word64
getAggregatorMinUpstreamLatency o
obj = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"min-upstream-latency"
setAggregatorMinUpstreamLatency :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()
setAggregatorMinUpstreamLatency :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> Word64 -> m ()
setAggregatorMinUpstreamLatency o
obj Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"min-upstream-latency" Word64
val
constructAggregatorMinUpstreamLatency :: (IsAggregator o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructAggregatorMinUpstreamLatency :: forall o (m :: * -> *).
(IsAggregator o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructAggregatorMinUpstreamLatency Word64
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"min-upstream-latency" Word64
val
#if defined(ENABLE_OVERLOADING)
data AggregatorMinUpstreamLatencyPropertyInfo
instance AttrInfo AggregatorMinUpstreamLatencyPropertyInfo where
type AttrAllowedOps AggregatorMinUpstreamLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorMinUpstreamLatencyPropertyInfo = IsAggregator
type AttrSetTypeConstraint AggregatorMinUpstreamLatencyPropertyInfo = (~) Word64
type AttrTransferTypeConstraint AggregatorMinUpstreamLatencyPropertyInfo = (~) Word64
type AttrTransferType AggregatorMinUpstreamLatencyPropertyInfo = Word64
type AttrGetType AggregatorMinUpstreamLatencyPropertyInfo = Word64
type AttrLabel AggregatorMinUpstreamLatencyPropertyInfo = "min-upstream-latency"
type AttrOrigin AggregatorMinUpstreamLatencyPropertyInfo = Aggregator
attrGet = getAggregatorMinUpstreamLatency
attrSet = setAggregatorMinUpstreamLatency
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorMinUpstreamLatency
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.minUpstreamLatency"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:attr:minUpstreamLatency"
})
#endif
getAggregatorStartTime :: (MonadIO m, IsAggregator o) => o -> m Word64
getAggregatorStartTime :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> m Word64
getAggregatorStartTime o
obj = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"start-time"
setAggregatorStartTime :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()
setAggregatorStartTime :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> Word64 -> m ()
setAggregatorStartTime o
obj Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"start-time" Word64
val
constructAggregatorStartTime :: (IsAggregator o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructAggregatorStartTime :: forall o (m :: * -> *).
(IsAggregator o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructAggregatorStartTime Word64
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"start-time" Word64
val
#if defined(ENABLE_OVERLOADING)
data AggregatorStartTimePropertyInfo
instance AttrInfo AggregatorStartTimePropertyInfo where
type AttrAllowedOps AggregatorStartTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorStartTimePropertyInfo = IsAggregator
type AttrSetTypeConstraint AggregatorStartTimePropertyInfo = (~) Word64
type AttrTransferTypeConstraint AggregatorStartTimePropertyInfo = (~) Word64
type AttrTransferType AggregatorStartTimePropertyInfo = Word64
type AttrGetType AggregatorStartTimePropertyInfo = Word64
type AttrLabel AggregatorStartTimePropertyInfo = "start-time"
type AttrOrigin AggregatorStartTimePropertyInfo = Aggregator
attrGet = getAggregatorStartTime
attrSet = setAggregatorStartTime
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorStartTime
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.startTime"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:attr:startTime"
})
#endif
getAggregatorStartTimeSelection :: (MonadIO m, IsAggregator o) => o -> m GstBase.Enums.AggregatorStartTimeSelection
getAggregatorStartTimeSelection :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> m AggregatorStartTimeSelection
getAggregatorStartTimeSelection o
obj = IO AggregatorStartTimeSelection -> m AggregatorStartTimeSelection
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO AggregatorStartTimeSelection -> m AggregatorStartTimeSelection)
-> IO AggregatorStartTimeSelection
-> m AggregatorStartTimeSelection
forall a b. (a -> b) -> a -> b
$ o -> String -> IO AggregatorStartTimeSelection
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"start-time-selection"
setAggregatorStartTimeSelection :: (MonadIO m, IsAggregator o) => o -> GstBase.Enums.AggregatorStartTimeSelection -> m ()
setAggregatorStartTimeSelection :: forall (m :: * -> *) o.
(MonadIO m, IsAggregator o) =>
o -> AggregatorStartTimeSelection -> m ()
setAggregatorStartTimeSelection o
obj AggregatorStartTimeSelection
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> AggregatorStartTimeSelection -> IO ()
forall a b.
(GObject a, Enum b, BoxedEnum b) =>
a -> String -> b -> IO ()
B.Properties.setObjectPropertyEnum o
obj String
"start-time-selection" AggregatorStartTimeSelection
val
constructAggregatorStartTimeSelection :: (IsAggregator o, MIO.MonadIO m) => GstBase.Enums.AggregatorStartTimeSelection -> m (GValueConstruct o)
constructAggregatorStartTimeSelection :: forall o (m :: * -> *).
(IsAggregator o, MonadIO m) =>
AggregatorStartTimeSelection -> m (GValueConstruct o)
constructAggregatorStartTimeSelection AggregatorStartTimeSelection
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> AggregatorStartTimeSelection -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"start-time-selection" AggregatorStartTimeSelection
val
#if defined(ENABLE_OVERLOADING)
data AggregatorStartTimeSelectionPropertyInfo
instance AttrInfo AggregatorStartTimeSelectionPropertyInfo where
type AttrAllowedOps AggregatorStartTimeSelectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint AggregatorStartTimeSelectionPropertyInfo = IsAggregator
type AttrSetTypeConstraint AggregatorStartTimeSelectionPropertyInfo = (~) GstBase.Enums.AggregatorStartTimeSelection
type AttrTransferTypeConstraint AggregatorStartTimeSelectionPropertyInfo = (~) GstBase.Enums.AggregatorStartTimeSelection
type AttrTransferType AggregatorStartTimeSelectionPropertyInfo = GstBase.Enums.AggregatorStartTimeSelection
type AttrGetType AggregatorStartTimeSelectionPropertyInfo = GstBase.Enums.AggregatorStartTimeSelection
type AttrLabel AggregatorStartTimeSelectionPropertyInfo = "start-time-selection"
type AttrOrigin AggregatorStartTimeSelectionPropertyInfo = Aggregator
attrGet = getAggregatorStartTimeSelection
attrSet = setAggregatorStartTimeSelection
attrTransfer _ v = do
return v
attrConstruct = constructAggregatorStartTimeSelection
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.startTimeSelection"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#g:attr:startTimeSelection"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Aggregator
type instance O.AttributeList Aggregator = AggregatorAttributeList
type AggregatorAttributeList = ('[ '("emitSignals", AggregatorEmitSignalsPropertyInfo), '("latency", AggregatorLatencyPropertyInfo), '("minUpstreamLatency", AggregatorMinUpstreamLatencyPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("startTime", AggregatorStartTimePropertyInfo), '("startTimeSelection", AggregatorStartTimeSelectionPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
aggregatorEmitSignals :: AttrLabelProxy "emitSignals"
aggregatorEmitSignals = AttrLabelProxy
aggregatorLatency :: AttrLabelProxy "latency"
aggregatorLatency = AttrLabelProxy
aggregatorMinUpstreamLatency :: AttrLabelProxy "minUpstreamLatency"
aggregatorMinUpstreamLatency = AttrLabelProxy
aggregatorStartTime :: AttrLabelProxy "startTime"
aggregatorStartTime = AttrLabelProxy
aggregatorStartTimeSelection :: AttrLabelProxy "startTimeSelection"
aggregatorStartTimeSelection = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Aggregator = AggregatorSignalList
type AggregatorSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo), '("samplesSelected", AggregatorSamplesSelectedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_aggregator_finish_buffer" gst_aggregator_finish_buffer ::
Ptr Aggregator ->
Ptr Gst.Buffer.Buffer ->
IO CInt
aggregatorFinishBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Gst.Buffer.Buffer
-> m Gst.Enums.FlowReturn
aggregatorFinishBuffer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> Buffer -> m FlowReturn
aggregatorFinishBuffer a
aggregator Buffer
buffer = IO FlowReturn -> m FlowReturn
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
aggregator' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
aggregator
Ptr Buffer
buffer' <- Buffer -> IO (Ptr Buffer)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed Buffer
buffer
CInt
result <- Ptr Aggregator -> Ptr Buffer -> IO CInt
gst_aggregator_finish_buffer Ptr Aggregator
aggregator' Ptr Buffer
buffer'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
aggregator
Buffer -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Buffer
buffer
FlowReturn -> IO FlowReturn
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorFinishBufferMethodInfo
instance (signature ~ (Gst.Buffer.Buffer -> m Gst.Enums.FlowReturn), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorFinishBufferMethodInfo a signature where
overloadedMethod = aggregatorFinishBuffer
instance O.OverloadedMethodInfo AggregatorFinishBufferMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorFinishBuffer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorFinishBuffer"
})
#endif
foreign import ccall "gst_aggregator_finish_buffer_list" gst_aggregator_finish_buffer_list ::
Ptr Aggregator ->
Ptr Gst.BufferList.BufferList ->
IO CInt
aggregatorFinishBufferList ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Gst.BufferList.BufferList
-> m Gst.Enums.FlowReturn
aggregatorFinishBufferList :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> BufferList -> m FlowReturn
aggregatorFinishBufferList a
aggregator BufferList
bufferlist = IO FlowReturn -> m FlowReturn
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
aggregator' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
aggregator
Ptr BufferList
bufferlist' <- BufferList -> IO (Ptr BufferList)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed BufferList
bufferlist
CInt
result <- Ptr Aggregator -> Ptr BufferList -> IO CInt
gst_aggregator_finish_buffer_list Ptr Aggregator
aggregator' Ptr BufferList
bufferlist'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
aggregator
BufferList -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr BufferList
bufferlist
FlowReturn -> IO FlowReturn
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorFinishBufferListMethodInfo
instance (signature ~ (Gst.BufferList.BufferList -> m Gst.Enums.FlowReturn), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorFinishBufferListMethodInfo a signature where
overloadedMethod = aggregatorFinishBufferList
instance O.OverloadedMethodInfo AggregatorFinishBufferListMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorFinishBufferList",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorFinishBufferList"
})
#endif
foreign import ccall "gst_aggregator_get_allocator" gst_aggregator_get_allocator ::
Ptr Aggregator ->
Ptr (Ptr Gst.Allocator.Allocator) ->
Ptr Gst.AllocationParams.AllocationParams ->
IO ()
aggregatorGetAllocator ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> m ((Maybe Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))
aggregatorGetAllocator :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> m (Maybe Allocator, AllocationParams)
aggregatorGetAllocator a
self = IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams))
-> IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams)
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr (Ptr Allocator)
allocator <- IO (Ptr (Ptr Allocator))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))
Ptr AllocationParams
params <- Int -> IO (Ptr AllocationParams)
forall a. GBoxed a => Int -> IO (Ptr a)
SP.callocBoxedBytes Int
64 :: IO (Ptr Gst.AllocationParams.AllocationParams)
Ptr Aggregator
-> Ptr (Ptr Allocator) -> Ptr AllocationParams -> IO ()
gst_aggregator_get_allocator Ptr Aggregator
self' Ptr (Ptr Allocator)
allocator Ptr AllocationParams
params
Ptr Allocator
allocator' <- Ptr (Ptr Allocator) -> IO (Ptr Allocator)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Allocator)
allocator
Maybe Allocator
maybeAllocator' <- Ptr Allocator
-> (Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Allocator
allocator' ((Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator))
-> (Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator)
forall a b. (a -> b) -> a -> b
$ \Ptr Allocator
allocator'' -> do
Allocator
allocator''' <- ((ManagedPtr Allocator -> Allocator)
-> Ptr Allocator -> IO Allocator
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Allocator -> Allocator
Gst.Allocator.Allocator) Ptr Allocator
allocator''
Allocator -> IO Allocator
forall (m :: * -> *) a. Monad m => a -> m a
return Allocator
allocator'''
AllocationParams
params' <- ((ManagedPtr AllocationParams -> AllocationParams)
-> Ptr AllocationParams -> IO AllocationParams
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr AllocationParams -> AllocationParams
Gst.AllocationParams.AllocationParams) Ptr AllocationParams
params
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Ptr (Ptr Allocator) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Allocator)
allocator
(Maybe Allocator, AllocationParams)
-> IO (Maybe Allocator, AllocationParams)
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe Allocator
maybeAllocator', AllocationParams
params')
#if defined(ENABLE_OVERLOADING)
data AggregatorGetAllocatorMethodInfo
instance (signature ~ (m ((Maybe Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorGetAllocatorMethodInfo a signature where
overloadedMethod = aggregatorGetAllocator
instance O.OverloadedMethodInfo AggregatorGetAllocatorMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorGetAllocator",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorGetAllocator"
})
#endif
foreign import ccall "gst_aggregator_get_buffer_pool" gst_aggregator_get_buffer_pool ::
Ptr Aggregator ->
IO (Ptr Gst.BufferPool.BufferPool)
aggregatorGetBufferPool ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> m (Maybe Gst.BufferPool.BufferPool)
aggregatorGetBufferPool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> m (Maybe BufferPool)
aggregatorGetBufferPool a
self = IO (Maybe BufferPool) -> m (Maybe BufferPool)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe BufferPool) -> m (Maybe BufferPool))
-> IO (Maybe BufferPool) -> m (Maybe BufferPool)
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr BufferPool
result <- Ptr Aggregator -> IO (Ptr BufferPool)
gst_aggregator_get_buffer_pool Ptr Aggregator
self'
Maybe BufferPool
maybeResult <- Ptr BufferPool
-> (Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr BufferPool
result ((Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool))
-> (Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool)
forall a b. (a -> b) -> a -> b
$ \Ptr BufferPool
result' -> do
BufferPool
result'' <- ((ManagedPtr BufferPool -> BufferPool)
-> Ptr BufferPool -> IO BufferPool
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr BufferPool -> BufferPool
Gst.BufferPool.BufferPool) Ptr BufferPool
result'
BufferPool -> IO BufferPool
forall (m :: * -> *) a. Monad m => a -> m a
return BufferPool
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Maybe BufferPool -> IO (Maybe BufferPool)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe BufferPool
maybeResult
#if defined(ENABLE_OVERLOADING)
data AggregatorGetBufferPoolMethodInfo
instance (signature ~ (m (Maybe Gst.BufferPool.BufferPool)), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorGetBufferPoolMethodInfo a signature where
overloadedMethod = aggregatorGetBufferPool
instance O.OverloadedMethodInfo AggregatorGetBufferPoolMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorGetBufferPool",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorGetBufferPool"
})
#endif
foreign import ccall "gst_aggregator_get_latency" gst_aggregator_get_latency ::
Ptr Aggregator ->
IO Word64
aggregatorGetLatency ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> m Word64
aggregatorGetLatency :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> m Word64
aggregatorGetLatency a
self = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Word64
result <- Ptr Aggregator -> IO Word64
gst_aggregator_get_latency Ptr Aggregator
self'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AggregatorGetLatencyMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorGetLatencyMethodInfo a signature where
overloadedMethod = aggregatorGetLatency
instance O.OverloadedMethodInfo AggregatorGetLatencyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorGetLatency",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorGetLatency"
})
#endif
foreign import ccall "gst_aggregator_negotiate" gst_aggregator_negotiate ::
Ptr Aggregator ->
IO CInt
aggregatorNegotiate ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> m Bool
aggregatorNegotiate :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> m Bool
aggregatorNegotiate a
self = 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 Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CInt
result <- Ptr Aggregator -> IO CInt
gst_aggregator_negotiate Ptr Aggregator
self'
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
self
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data AggregatorNegotiateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorNegotiateMethodInfo a signature where
overloadedMethod = aggregatorNegotiate
instance O.OverloadedMethodInfo AggregatorNegotiateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorNegotiate",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorNegotiate"
})
#endif
foreign import ccall "gst_aggregator_peek_next_sample" gst_aggregator_peek_next_sample ::
Ptr Aggregator ->
Ptr GstBase.AggregatorPad.AggregatorPad ->
IO (Ptr Gst.Sample.Sample)
aggregatorPeekNextSample ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a, GstBase.AggregatorPad.IsAggregatorPad b) =>
a
-> b
-> m (Maybe Gst.Sample.Sample)
aggregatorPeekNextSample :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsAggregator a, IsAggregatorPad b) =>
a -> b -> m (Maybe Sample)
aggregatorPeekNextSample a
self b
pad = IO (Maybe Sample) -> m (Maybe Sample)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Sample) -> m (Maybe Sample))
-> IO (Maybe Sample) -> m (Maybe Sample)
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr AggregatorPad
pad' <- b -> IO (Ptr AggregatorPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
pad
Ptr Sample
result <- Ptr Aggregator -> Ptr AggregatorPad -> IO (Ptr Sample)
gst_aggregator_peek_next_sample Ptr Aggregator
self' Ptr AggregatorPad
pad'
Maybe Sample
maybeResult <- Ptr Sample -> (Ptr Sample -> IO Sample) -> IO (Maybe Sample)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Sample
result ((Ptr Sample -> IO Sample) -> IO (Maybe Sample))
-> (Ptr Sample -> IO Sample) -> IO (Maybe Sample)
forall a b. (a -> b) -> a -> b
$ \Ptr Sample
result' -> do
Sample
result'' <- ((ManagedPtr Sample -> Sample) -> Ptr Sample -> IO Sample
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Sample -> Sample
Gst.Sample.Sample) Ptr Sample
result'
Sample -> IO Sample
forall (m :: * -> *) a. Monad m => a -> m a
return Sample
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
pad
Maybe Sample -> IO (Maybe Sample)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Sample
maybeResult
#if defined(ENABLE_OVERLOADING)
data AggregatorPeekNextSampleMethodInfo
instance (signature ~ (b -> m (Maybe Gst.Sample.Sample)), MonadIO m, IsAggregator a, GstBase.AggregatorPad.IsAggregatorPad b) => O.OverloadedMethod AggregatorPeekNextSampleMethodInfo a signature where
overloadedMethod = aggregatorPeekNextSample
instance O.OverloadedMethodInfo AggregatorPeekNextSampleMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorPeekNextSample",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorPeekNextSample"
})
#endif
foreign import ccall "gst_aggregator_selected_samples" gst_aggregator_selected_samples ::
Ptr Aggregator ->
Word64 ->
Word64 ->
Word64 ->
Ptr Gst.Structure.Structure ->
IO ()
aggregatorSelectedSamples ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Word64
-> Word64
-> Word64
-> Maybe (Gst.Structure.Structure)
-> m ()
aggregatorSelectedSamples :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> Word64 -> Word64 -> Word64 -> Maybe Structure -> m ()
aggregatorSelectedSamples a
self Word64
pts Word64
dts Word64
duration Maybe Structure
info = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr Structure
maybeInfo <- case Maybe Structure
info of
Maybe Structure
Nothing -> Ptr Structure -> IO (Ptr Structure)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Structure
forall a. Ptr a
nullPtr
Just Structure
jInfo -> do
Ptr Structure
jInfo' <- Structure -> IO (Ptr Structure)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Structure
jInfo
Ptr Structure -> IO (Ptr Structure)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Structure
jInfo'
Ptr Aggregator
-> Word64 -> Word64 -> Word64 -> Ptr Structure -> IO ()
gst_aggregator_selected_samples Ptr Aggregator
self' Word64
pts Word64
dts Word64
duration Ptr Structure
maybeInfo
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Maybe Structure -> (Structure -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe Structure
info Structure -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AggregatorSelectedSamplesMethodInfo
instance (signature ~ (Word64 -> Word64 -> Word64 -> Maybe (Gst.Structure.Structure) -> m ()), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorSelectedSamplesMethodInfo a signature where
overloadedMethod = aggregatorSelectedSamples
instance O.OverloadedMethodInfo AggregatorSelectedSamplesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorSelectedSamples",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorSelectedSamples"
})
#endif
foreign import ccall "gst_aggregator_set_latency" gst_aggregator_set_latency ::
Ptr Aggregator ->
Word64 ->
Word64 ->
IO ()
aggregatorSetLatency ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Word64
-> Word64
-> m ()
aggregatorSetLatency :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> Word64 -> Word64 -> m ()
aggregatorSetLatency a
self Word64
minLatency Word64
maxLatency = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr Aggregator -> Word64 -> Word64 -> IO ()
gst_aggregator_set_latency Ptr Aggregator
self' Word64
minLatency Word64
maxLatency
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AggregatorSetLatencyMethodInfo
instance (signature ~ (Word64 -> Word64 -> m ()), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorSetLatencyMethodInfo a signature where
overloadedMethod = aggregatorSetLatency
instance O.OverloadedMethodInfo AggregatorSetLatencyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorSetLatency",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorSetLatency"
})
#endif
foreign import ccall "gst_aggregator_set_src_caps" gst_aggregator_set_src_caps ::
Ptr Aggregator ->
Ptr Gst.Caps.Caps ->
IO ()
aggregatorSetSrcCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Gst.Caps.Caps
-> m ()
aggregatorSetSrcCaps :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> Caps -> m ()
aggregatorSetSrcCaps a
self Caps
caps = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr Caps
caps' <- Caps -> IO (Ptr Caps)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Caps
caps
Ptr Aggregator -> Ptr Caps -> IO ()
gst_aggregator_set_src_caps Ptr Aggregator
self' Ptr Caps
caps'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Caps -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Caps
caps
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AggregatorSetSrcCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorSetSrcCapsMethodInfo a signature where
overloadedMethod = aggregatorSetSrcCaps
instance O.OverloadedMethodInfo AggregatorSetSrcCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorSetSrcCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorSetSrcCaps"
})
#endif
foreign import ccall "gst_aggregator_simple_get_next_time" gst_aggregator_simple_get_next_time ::
Ptr Aggregator ->
IO Word64
aggregatorSimpleGetNextTime ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> m Word64
aggregatorSimpleGetNextTime :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> m Word64
aggregatorSimpleGetNextTime a
self = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Word64
result <- Ptr Aggregator -> IO Word64
gst_aggregator_simple_get_next_time Ptr Aggregator
self'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AggregatorSimpleGetNextTimeMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorSimpleGetNextTimeMethodInfo a signature where
overloadedMethod = aggregatorSimpleGetNextTime
instance O.OverloadedMethodInfo AggregatorSimpleGetNextTimeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorSimpleGetNextTime",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorSimpleGetNextTime"
})
#endif
foreign import ccall "gst_aggregator_update_segment" gst_aggregator_update_segment ::
Ptr Aggregator ->
Ptr Gst.Segment.Segment ->
IO ()
aggregatorUpdateSegment ::
(B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>
a
-> Gst.Segment.Segment
-> m ()
aggregatorUpdateSegment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAggregator a) =>
a -> Segment -> m ()
aggregatorUpdateSegment a
self Segment
segment = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Aggregator
self' <- a -> IO (Ptr Aggregator)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr Segment
segment' <- Segment -> IO (Ptr Segment)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Segment
segment
Ptr Aggregator -> Ptr Segment -> IO ()
gst_aggregator_update_segment Ptr Aggregator
self' Ptr Segment
segment'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Segment -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Segment
segment
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AggregatorUpdateSegmentMethodInfo
instance (signature ~ (Gst.Segment.Segment -> m ()), MonadIO m, IsAggregator a) => O.OverloadedMethod AggregatorUpdateSegmentMethodInfo a signature where
overloadedMethod = aggregatorUpdateSegment
instance O.OverloadedMethodInfo AggregatorUpdateSegmentMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.Aggregator.aggregatorUpdateSegment",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-Aggregator.html#v:aggregatorUpdateSegment"
})
#endif