{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Objects.Pipeline
(
Pipeline(..) ,
IsPipeline ,
toPipeline ,
#if defined(ENABLE_OVERLOADING)
ResolvePipelineMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
PipelineAutoClockMethodInfo ,
#endif
pipelineAutoClock ,
#if defined(ENABLE_OVERLOADING)
PipelineGetAutoFlushBusMethodInfo ,
#endif
pipelineGetAutoFlushBus ,
#if defined(ENABLE_OVERLOADING)
PipelineGetBusMethodInfo ,
#endif
pipelineGetBus ,
#if defined(ENABLE_OVERLOADING)
PipelineGetDelayMethodInfo ,
#endif
pipelineGetDelay ,
#if defined(ENABLE_OVERLOADING)
PipelineGetLatencyMethodInfo ,
#endif
pipelineGetLatency ,
#if defined(ENABLE_OVERLOADING)
PipelineGetPipelineClockMethodInfo ,
#endif
pipelineGetPipelineClock ,
pipelineNew ,
#if defined(ENABLE_OVERLOADING)
PipelineSetAutoFlushBusMethodInfo ,
#endif
pipelineSetAutoFlushBus ,
#if defined(ENABLE_OVERLOADING)
PipelineSetDelayMethodInfo ,
#endif
pipelineSetDelay ,
#if defined(ENABLE_OVERLOADING)
PipelineSetLatencyMethodInfo ,
#endif
pipelineSetLatency ,
#if defined(ENABLE_OVERLOADING)
PipelineUseClockMethodInfo ,
#endif
pipelineUseClock ,
#if defined(ENABLE_OVERLOADING)
PipelineAutoFlushBusPropertyInfo ,
#endif
constructPipelineAutoFlushBus ,
getPipelineAutoFlushBus ,
#if defined(ENABLE_OVERLOADING)
pipelineAutoFlushBus ,
#endif
setPipelineAutoFlushBus ,
#if defined(ENABLE_OVERLOADING)
PipelineDelayPropertyInfo ,
#endif
constructPipelineDelay ,
getPipelineDelay ,
#if defined(ENABLE_OVERLOADING)
pipelineDelay ,
#endif
setPipelineDelay ,
#if defined(ENABLE_OVERLOADING)
PipelineLatencyPropertyInfo ,
#endif
constructPipelineLatency ,
getPipelineLatency ,
#if defined(ENABLE_OVERLOADING)
pipelineLatency ,
#endif
setPipelineLatency ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy
import {-# SOURCE #-} qualified GI.Gst.Objects.Bin as Gst.Bin
import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus
import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock
import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
newtype Pipeline = Pipeline (SP.ManagedPtr Pipeline)
deriving (Pipeline -> Pipeline -> Bool
(Pipeline -> Pipeline -> Bool)
-> (Pipeline -> Pipeline -> Bool) -> Eq Pipeline
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Pipeline -> Pipeline -> Bool
$c/= :: Pipeline -> Pipeline -> Bool
== :: Pipeline -> Pipeline -> Bool
$c== :: Pipeline -> Pipeline -> Bool
Eq)
instance SP.ManagedPtrNewtype Pipeline where
toManagedPtr :: Pipeline -> ManagedPtr Pipeline
toManagedPtr (Pipeline ManagedPtr Pipeline
p) = ManagedPtr Pipeline
p
foreign import ccall "gst_pipeline_get_type"
c_gst_pipeline_get_type :: IO B.Types.GType
instance B.Types.TypedObject Pipeline where
glibType :: IO GType
glibType = IO GType
c_gst_pipeline_get_type
instance B.Types.GObject Pipeline
instance B.GValue.IsGValue Pipeline where
toGValue :: Pipeline -> IO GValue
toGValue Pipeline
o = do
GType
gtype <- IO GType
c_gst_pipeline_get_type
Pipeline -> (Ptr Pipeline -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Pipeline
o (GType
-> (GValue -> Ptr Pipeline -> IO ()) -> Ptr Pipeline -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Pipeline -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Pipeline
fromGValue GValue
gv = do
Ptr Pipeline
ptr <- GValue -> IO (Ptr Pipeline)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Pipeline)
(ManagedPtr Pipeline -> Pipeline) -> Ptr Pipeline -> IO Pipeline
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Pipeline -> Pipeline
Pipeline Ptr Pipeline
ptr
class (SP.GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o
instance (SP.GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o
instance O.HasParentTypes Pipeline
type instance O.ParentTypes Pipeline = '[Gst.Bin.Bin, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, Gst.ChildProxy.ChildProxy]
toPipeline :: (MonadIO m, IsPipeline o) => o -> m Pipeline
toPipeline :: o -> m Pipeline
toPipeline = IO Pipeline -> m Pipeline
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Pipeline -> m Pipeline)
-> (o -> IO Pipeline) -> o -> m Pipeline
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Pipeline -> Pipeline) -> o -> IO Pipeline
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Pipeline -> Pipeline
Pipeline
#if defined(ENABLE_OVERLOADING)
type family ResolvePipelineMethod (t :: Symbol) (o :: *) :: * where
ResolvePipelineMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolvePipelineMethod "add" o = Gst.Bin.BinAddMethodInfo
ResolvePipelineMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolvePipelineMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolvePipelineMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolvePipelineMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolvePipelineMethod "autoClock" o = PipelineAutoClockMethodInfo
ResolvePipelineMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePipelineMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePipelineMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolvePipelineMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolvePipelineMethod "childAdded" o = Gst.ChildProxy.ChildProxyChildAddedMethodInfo
ResolvePipelineMethod "childRemoved" o = Gst.ChildProxy.ChildProxyChildRemovedMethodInfo
ResolvePipelineMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolvePipelineMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolvePipelineMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolvePipelineMethod "findUnlinkedPad" o = Gst.Bin.BinFindUnlinkedPadMethodInfo
ResolvePipelineMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePipelineMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolvePipelineMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolvePipelineMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolvePipelineMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePipelineMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolvePipelineMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolvePipelineMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolvePipelineMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolvePipelineMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolvePipelineMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePipelineMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolvePipelineMethod "iterateAllByInterface" o = Gst.Bin.BinIterateAllByInterfaceMethodInfo
ResolvePipelineMethod "iterateElements" o = Gst.Bin.BinIterateElementsMethodInfo
ResolvePipelineMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolvePipelineMethod "iterateRecurse" o = Gst.Bin.BinIterateRecurseMethodInfo
ResolvePipelineMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolvePipelineMethod "iterateSinks" o = Gst.Bin.BinIterateSinksMethodInfo
ResolvePipelineMethod "iterateSorted" o = Gst.Bin.BinIterateSortedMethodInfo
ResolvePipelineMethod "iterateSources" o = Gst.Bin.BinIterateSourcesMethodInfo
ResolvePipelineMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolvePipelineMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolvePipelineMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolvePipelineMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolvePipelineMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolvePipelineMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolvePipelineMethod "lookup" o = Gst.ChildProxy.ChildProxyLookupMethodInfo
ResolvePipelineMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolvePipelineMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolvePipelineMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolvePipelineMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolvePipelineMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePipelineMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePipelineMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolvePipelineMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolvePipelineMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolvePipelineMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolvePipelineMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolvePipelineMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolvePipelineMethod "recalculateLatency" o = Gst.Bin.BinRecalculateLatencyMethodInfo
ResolvePipelineMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolvePipelineMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePipelineMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolvePipelineMethod "remove" o = Gst.Bin.BinRemoveMethodInfo
ResolvePipelineMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolvePipelineMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolvePipelineMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolvePipelineMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolvePipelineMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePipelineMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolvePipelineMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolvePipelineMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolvePipelineMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePipelineMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePipelineMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolvePipelineMethod "syncChildrenStates" o = Gst.Bin.BinSyncChildrenStatesMethodInfo
ResolvePipelineMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolvePipelineMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolvePipelineMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePipelineMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolvePipelineMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolvePipelineMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolvePipelineMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolvePipelineMethod "useClock" o = PipelineUseClockMethodInfo
ResolvePipelineMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePipelineMethod "getAutoFlushBus" o = PipelineGetAutoFlushBusMethodInfo
ResolvePipelineMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolvePipelineMethod "getBus" o = PipelineGetBusMethodInfo
ResolvePipelineMethod "getByInterface" o = Gst.Bin.BinGetByInterfaceMethodInfo
ResolvePipelineMethod "getByName" o = Gst.Bin.BinGetByNameMethodInfo
ResolvePipelineMethod "getByNameRecurseUp" o = Gst.Bin.BinGetByNameRecurseUpMethodInfo
ResolvePipelineMethod "getChildByIndex" o = Gst.ChildProxy.ChildProxyGetChildByIndexMethodInfo
ResolvePipelineMethod "getChildByName" o = Gst.ChildProxy.ChildProxyGetChildByNameMethodInfo
ResolvePipelineMethod "getChildrenCount" o = Gst.ChildProxy.ChildProxyGetChildrenCountMethodInfo
ResolvePipelineMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolvePipelineMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolvePipelineMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolvePipelineMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolvePipelineMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolvePipelineMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolvePipelineMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolvePipelineMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolvePipelineMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePipelineMethod "getDelay" o = PipelineGetDelayMethodInfo
ResolvePipelineMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolvePipelineMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolvePipelineMethod "getLatency" o = PipelineGetLatencyMethodInfo
ResolvePipelineMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolvePipelineMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolvePipelineMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolvePipelineMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolvePipelineMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolvePipelineMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolvePipelineMethod "getPipelineClock" o = PipelineGetPipelineClockMethodInfo
ResolvePipelineMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePipelineMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePipelineMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolvePipelineMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolvePipelineMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolvePipelineMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolvePipelineMethod "getSuppressedFlags" o = Gst.Bin.BinGetSuppressedFlagsMethodInfo
ResolvePipelineMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolvePipelineMethod "setAutoFlushBus" o = PipelineSetAutoFlushBusMethodInfo
ResolvePipelineMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolvePipelineMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolvePipelineMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolvePipelineMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolvePipelineMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolvePipelineMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolvePipelineMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolvePipelineMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePipelineMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolvePipelineMethod "setDelay" o = PipelineSetDelayMethodInfo
ResolvePipelineMethod "setLatency" o = PipelineSetLatencyMethodInfo
ResolvePipelineMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolvePipelineMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolvePipelineMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolvePipelineMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePipelineMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolvePipelineMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolvePipelineMethod "setSuppressedFlags" o = Gst.Bin.BinSetSuppressedFlagsMethodInfo
ResolvePipelineMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePipelineMethod t Pipeline, O.MethodInfo info Pipeline p) => OL.IsLabel t (Pipeline -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> m Bool
getPipelineAutoFlushBus :: o -> m Bool
getPipelineAutoFlushBus o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"auto-flush-bus"
setPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> Bool -> m ()
setPipelineAutoFlushBus :: o -> Bool -> m ()
setPipelineAutoFlushBus o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"auto-flush-bus" Bool
val
constructPipelineAutoFlushBus :: (IsPipeline o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructPipelineAutoFlushBus :: Bool -> m (GValueConstruct o)
constructPipelineAutoFlushBus Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"auto-flush-bus" Bool
val
#if defined(ENABLE_OVERLOADING)
data PipelineAutoFlushBusPropertyInfo
instance AttrInfo PipelineAutoFlushBusPropertyInfo where
type AttrAllowedOps PipelineAutoFlushBusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint PipelineAutoFlushBusPropertyInfo = IsPipeline
type AttrSetTypeConstraint PipelineAutoFlushBusPropertyInfo = (~) Bool
type AttrTransferTypeConstraint PipelineAutoFlushBusPropertyInfo = (~) Bool
type AttrTransferType PipelineAutoFlushBusPropertyInfo = Bool
type AttrGetType PipelineAutoFlushBusPropertyInfo = Bool
type AttrLabel PipelineAutoFlushBusPropertyInfo = "auto-flush-bus"
type AttrOrigin PipelineAutoFlushBusPropertyInfo = Pipeline
attrGet = getPipelineAutoFlushBus
attrSet = setPipelineAutoFlushBus
attrTransfer _ v = do
return v
attrConstruct = constructPipelineAutoFlushBus
attrClear = undefined
#endif
getPipelineDelay :: (MonadIO m, IsPipeline o) => o -> m Word64
getPipelineDelay :: o -> m Word64
getPipelineDelay o
obj = 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
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"delay"
setPipelineDelay :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()
setPipelineDelay :: o -> Word64 -> m ()
setPipelineDelay o
obj Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"delay" Word64
val
constructPipelineDelay :: (IsPipeline o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructPipelineDelay :: Word64 -> m (GValueConstruct o)
constructPipelineDelay 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
$ String -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"delay" Word64
val
#if defined(ENABLE_OVERLOADING)
data PipelineDelayPropertyInfo
instance AttrInfo PipelineDelayPropertyInfo where
type AttrAllowedOps PipelineDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint PipelineDelayPropertyInfo = IsPipeline
type AttrSetTypeConstraint PipelineDelayPropertyInfo = (~) Word64
type AttrTransferTypeConstraint PipelineDelayPropertyInfo = (~) Word64
type AttrTransferType PipelineDelayPropertyInfo = Word64
type AttrGetType PipelineDelayPropertyInfo = Word64
type AttrLabel PipelineDelayPropertyInfo = "delay"
type AttrOrigin PipelineDelayPropertyInfo = Pipeline
attrGet = getPipelineDelay
attrSet = setPipelineDelay
attrTransfer _ v = do
return v
attrConstruct = constructPipelineDelay
attrClear = undefined
#endif
getPipelineLatency :: (MonadIO m, IsPipeline o) => o -> m Word64
getPipelineLatency :: o -> m Word64
getPipelineLatency o
obj = 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
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"latency"
setPipelineLatency :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()
setPipelineLatency :: o -> Word64 -> m ()
setPipelineLatency o
obj Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"latency" Word64
val
constructPipelineLatency :: (IsPipeline o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructPipelineLatency :: Word64 -> m (GValueConstruct o)
constructPipelineLatency 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
$ String -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"latency" Word64
val
#if defined(ENABLE_OVERLOADING)
data PipelineLatencyPropertyInfo
instance AttrInfo PipelineLatencyPropertyInfo where
type AttrAllowedOps PipelineLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint PipelineLatencyPropertyInfo = IsPipeline
type AttrSetTypeConstraint PipelineLatencyPropertyInfo = (~) Word64
type AttrTransferTypeConstraint PipelineLatencyPropertyInfo = (~) Word64
type AttrTransferType PipelineLatencyPropertyInfo = Word64
type AttrGetType PipelineLatencyPropertyInfo = Word64
type AttrLabel PipelineLatencyPropertyInfo = "latency"
type AttrOrigin PipelineLatencyPropertyInfo = Pipeline
attrGet = getPipelineLatency
attrSet = setPipelineLatency
attrTransfer _ v = do
return v
attrConstruct = constructPipelineLatency
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Pipeline
type instance O.AttributeList Pipeline = PipelineAttributeList
type PipelineAttributeList = ('[ '("asyncHandling", Gst.Bin.BinAsyncHandlingPropertyInfo), '("autoFlushBus", PipelineAutoFlushBusPropertyInfo), '("delay", PipelineDelayPropertyInfo), '("latency", PipelineLatencyPropertyInfo), '("messageForward", Gst.Bin.BinMessageForwardPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
pipelineAutoFlushBus :: AttrLabelProxy "autoFlushBus"
pipelineAutoFlushBus = AttrLabelProxy
pipelineDelay :: AttrLabelProxy "delay"
pipelineDelay = AttrLabelProxy
pipelineLatency :: AttrLabelProxy "latency"
pipelineLatency = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Pipeline = PipelineSignalList
type PipelineSignalList = ('[ '("childAdded", Gst.ChildProxy.ChildProxyChildAddedSignalInfo), '("childRemoved", Gst.ChildProxy.ChildProxyChildRemovedSignalInfo), '("deepElementAdded", Gst.Bin.BinDeepElementAddedSignalInfo), '("deepElementRemoved", Gst.Bin.BinDeepElementRemovedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("doLatency", Gst.Bin.BinDoLatencySignalInfo), '("elementAdded", Gst.Bin.BinElementAddedSignalInfo), '("elementRemoved", Gst.Bin.BinElementRemovedSignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_pipeline_new" gst_pipeline_new ::
CString ->
IO (Ptr Pipeline)
pipelineNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> m Pipeline
pipelineNew :: Maybe Text -> m Pipeline
pipelineNew Maybe Text
name = IO Pipeline -> m Pipeline
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Pipeline -> m Pipeline) -> IO Pipeline -> m Pipeline
forall a b. (a -> b) -> a -> b
$ do
Ptr CChar
maybeName <- case Maybe Text
name of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just Text
jName -> do
Ptr CChar
jName' <- Text -> IO (Ptr CChar)
textToCString Text
jName
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jName'
Ptr Pipeline
result <- Ptr CChar -> IO (Ptr Pipeline)
gst_pipeline_new Ptr CChar
maybeName
Text -> Ptr Pipeline -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"pipelineNew" Ptr Pipeline
result
Pipeline
result' <- ((ManagedPtr Pipeline -> Pipeline) -> Ptr Pipeline -> IO Pipeline
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Pipeline -> Pipeline
Pipeline) Ptr Pipeline
result
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeName
Pipeline -> IO Pipeline
forall (m :: * -> *) a. Monad m => a -> m a
return Pipeline
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_pipeline_auto_clock" gst_pipeline_auto_clock ::
Ptr Pipeline ->
IO ()
pipelineAutoClock ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m ()
pipelineAutoClock :: a -> m ()
pipelineAutoClock a
pipeline = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Pipeline -> IO ()
gst_pipeline_auto_clock Ptr Pipeline
pipeline'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PipelineAutoClockMethodInfo
instance (signature ~ (m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineAutoClockMethodInfo a signature where
overloadedMethod = pipelineAutoClock
#endif
foreign import ccall "gst_pipeline_get_auto_flush_bus" gst_pipeline_get_auto_flush_bus ::
Ptr Pipeline ->
IO CInt
pipelineGetAutoFlushBus ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m Bool
pipelineGetAutoFlushBus :: a -> m Bool
pipelineGetAutoFlushBus a
pipeline = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
CInt
result <- Ptr Pipeline -> IO CInt
gst_pipeline_get_auto_flush_bus Ptr Pipeline
pipeline'
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
pipeline
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PipelineGetAutoFlushBusMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetAutoFlushBusMethodInfo a signature where
overloadedMethod = pipelineGetAutoFlushBus
#endif
foreign import ccall "gst_pipeline_get_bus" gst_pipeline_get_bus ::
Ptr Pipeline ->
IO (Ptr Gst.Bus.Bus)
pipelineGetBus ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m Gst.Bus.Bus
pipelineGetBus :: a -> m Bus
pipelineGetBus a
pipeline = IO Bus -> m Bus
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bus -> m Bus) -> IO Bus -> m Bus
forall a b. (a -> b) -> a -> b
$ do
Ptr Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Bus
result <- Ptr Pipeline -> IO (Ptr Bus)
gst_pipeline_get_bus Ptr Pipeline
pipeline'
Text -> Ptr Bus -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"pipelineGetBus" Ptr Bus
result
Bus
result' <- ((ManagedPtr Bus -> Bus) -> Ptr Bus -> IO Bus
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Bus -> Bus
Gst.Bus.Bus) Ptr Bus
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
Bus -> IO Bus
forall (m :: * -> *) a. Monad m => a -> m a
return Bus
result'
#if defined(ENABLE_OVERLOADING)
data PipelineGetBusMethodInfo
instance (signature ~ (m Gst.Bus.Bus), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetBusMethodInfo a signature where
overloadedMethod = pipelineGetBus
#endif
foreign import ccall "gst_pipeline_get_delay" gst_pipeline_get_delay ::
Ptr Pipeline ->
IO Word64
pipelineGetDelay ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m Word64
pipelineGetDelay :: a -> m Word64
pipelineGetDelay a
pipeline = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Word64
result <- Ptr Pipeline -> IO Word64
gst_pipeline_get_delay Ptr Pipeline
pipeline'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data PipelineGetDelayMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetDelayMethodInfo a signature where
overloadedMethod = pipelineGetDelay
#endif
foreign import ccall "gst_pipeline_get_latency" gst_pipeline_get_latency ::
Ptr Pipeline ->
IO Word64
pipelineGetLatency ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m Word64
pipelineGetLatency :: a -> m Word64
pipelineGetLatency a
pipeline = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Word64
result <- Ptr Pipeline -> IO Word64
gst_pipeline_get_latency Ptr Pipeline
pipeline'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data PipelineGetLatencyMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetLatencyMethodInfo a signature where
overloadedMethod = pipelineGetLatency
#endif
foreign import ccall "gst_pipeline_get_pipeline_clock" gst_pipeline_get_pipeline_clock ::
Ptr Pipeline ->
IO (Ptr Gst.Clock.Clock)
pipelineGetPipelineClock ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> m Gst.Clock.Clock
pipelineGetPipelineClock :: a -> m Clock
pipelineGetPipelineClock a
pipeline = IO Clock -> m Clock
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Clock -> m Clock) -> IO Clock -> m Clock
forall a b. (a -> b) -> a -> b
$ do
Ptr Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Clock
result <- Ptr Pipeline -> IO (Ptr Clock)
gst_pipeline_get_pipeline_clock Ptr Pipeline
pipeline'
Text -> Ptr Clock -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"pipelineGetPipelineClock" Ptr Clock
result
Clock
result' <- ((ManagedPtr Clock -> Clock) -> Ptr Clock -> IO Clock
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Clock -> Clock
Gst.Clock.Clock) Ptr Clock
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
Clock -> IO Clock
forall (m :: * -> *) a. Monad m => a -> m a
return Clock
result'
#if defined(ENABLE_OVERLOADING)
data PipelineGetPipelineClockMethodInfo
instance (signature ~ (m Gst.Clock.Clock), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetPipelineClockMethodInfo a signature where
overloadedMethod = pipelineGetPipelineClock
#endif
foreign import ccall "gst_pipeline_set_auto_flush_bus" gst_pipeline_set_auto_flush_bus ::
Ptr Pipeline ->
CInt ->
IO ()
pipelineSetAutoFlushBus ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> Bool
-> m ()
pipelineSetAutoFlushBus :: a -> Bool -> m ()
pipelineSetAutoFlushBus a
pipeline Bool
autoFlush = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
let autoFlush' :: CInt
autoFlush' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
autoFlush
Ptr Pipeline -> CInt -> IO ()
gst_pipeline_set_auto_flush_bus Ptr Pipeline
pipeline' CInt
autoFlush'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PipelineSetAutoFlushBusMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetAutoFlushBusMethodInfo a signature where
overloadedMethod = pipelineSetAutoFlushBus
#endif
foreign import ccall "gst_pipeline_set_delay" gst_pipeline_set_delay ::
Ptr Pipeline ->
Word64 ->
IO ()
pipelineSetDelay ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> Word64
-> m ()
pipelineSetDelay :: a -> Word64 -> m ()
pipelineSetDelay a
pipeline Word64
delay = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Pipeline -> Word64 -> IO ()
gst_pipeline_set_delay Ptr Pipeline
pipeline' Word64
delay
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PipelineSetDelayMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetDelayMethodInfo a signature where
overloadedMethod = pipelineSetDelay
#endif
foreign import ccall "gst_pipeline_set_latency" gst_pipeline_set_latency ::
Ptr Pipeline ->
Word64 ->
IO ()
pipelineSetLatency ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>
a
-> Word64
-> m ()
pipelineSetLatency :: a -> Word64 -> m ()
pipelineSetLatency a
pipeline Word64
latency = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Pipeline -> Word64 -> IO ()
gst_pipeline_set_latency Ptr Pipeline
pipeline' Word64
latency
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PipelineSetLatencyMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetLatencyMethodInfo a signature where
overloadedMethod = pipelineSetLatency
#endif
foreign import ccall "gst_pipeline_use_clock" gst_pipeline_use_clock ::
Ptr Pipeline ->
Ptr Gst.Clock.Clock ->
IO ()
pipelineUseClock ::
(B.CallStack.HasCallStack, MonadIO m, IsPipeline a, Gst.Clock.IsClock b) =>
a
-> Maybe (b)
-> m ()
pipelineUseClock :: a -> Maybe b -> m ()
pipelineUseClock a
pipeline Maybe b
clock = 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 Pipeline
pipeline' <- a -> IO (Ptr Pipeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pipeline
Ptr Clock
maybeClock <- case Maybe b
clock of
Maybe b
Nothing -> Ptr Clock -> IO (Ptr Clock)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Clock
forall a. Ptr a
nullPtr
Just b
jClock -> do
Ptr Clock
jClock' <- b -> IO (Ptr Clock)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jClock
Ptr Clock -> IO (Ptr Clock)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Clock
jClock'
Ptr Pipeline -> Ptr Clock -> IO ()
gst_pipeline_use_clock Ptr Pipeline
pipeline' Ptr Clock
maybeClock
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pipeline
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
clock b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data PipelineUseClockMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPipeline a, Gst.Clock.IsClock b) => O.MethodInfo PipelineUseClockMethodInfo a signature where
overloadedMethod = pipelineUseClock
#endif