#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Objects.Pipeline
(
Pipeline(..) ,
IsPipeline ,
toPipeline ,
noPipeline ,
#if ENABLE_OVERLOADING
PipelineAutoClockMethodInfo ,
#endif
pipelineAutoClock ,
#if ENABLE_OVERLOADING
PipelineGetAutoFlushBusMethodInfo ,
#endif
pipelineGetAutoFlushBus ,
#if ENABLE_OVERLOADING
PipelineGetBusMethodInfo ,
#endif
pipelineGetBus ,
#if ENABLE_OVERLOADING
PipelineGetDelayMethodInfo ,
#endif
pipelineGetDelay ,
#if ENABLE_OVERLOADING
PipelineGetLatencyMethodInfo ,
#endif
pipelineGetLatency ,
#if ENABLE_OVERLOADING
PipelineGetPipelineClockMethodInfo ,
#endif
pipelineGetPipelineClock ,
pipelineNew ,
#if ENABLE_OVERLOADING
PipelineSetAutoFlushBusMethodInfo ,
#endif
pipelineSetAutoFlushBus ,
#if ENABLE_OVERLOADING
PipelineSetDelayMethodInfo ,
#endif
pipelineSetDelay ,
#if ENABLE_OVERLOADING
PipelineSetLatencyMethodInfo ,
#endif
pipelineSetLatency ,
#if ENABLE_OVERLOADING
PipelineUseClockMethodInfo ,
#endif
pipelineUseClock ,
#if ENABLE_OVERLOADING
PipelineAutoFlushBusPropertyInfo ,
#endif
constructPipelineAutoFlushBus ,
getPipelineAutoFlushBus ,
#if ENABLE_OVERLOADING
pipelineAutoFlushBus ,
#endif
setPipelineAutoFlushBus ,
#if ENABLE_OVERLOADING
PipelineDelayPropertyInfo ,
#endif
constructPipelineDelay ,
getPipelineDelay ,
#if ENABLE_OVERLOADING
pipelineDelay ,
#endif
setPipelineDelay ,
#if ENABLE_OVERLOADING
PipelineLatencyPropertyInfo ,
#endif
constructPipelineLatency ,
getPipelineLatency ,
#if 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# 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 (ManagedPtr Pipeline)
foreign import ccall "gst_pipeline_get_type"
c_gst_pipeline_get_type :: IO GType
instance GObject Pipeline where
gobjectType = c_gst_pipeline_get_type
class (GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o
instance (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 = liftIO . unsafeCastTo Pipeline
noPipeline :: Maybe Pipeline
noPipeline = Nothing
#if 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 "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 (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
getPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> m Bool
getPipelineAutoFlushBus obj = liftIO $ B.Properties.getObjectPropertyBool obj "auto-flush-bus"
setPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> Bool -> m ()
setPipelineAutoFlushBus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "auto-flush-bus" val
constructPipelineAutoFlushBus :: (IsPipeline o) => Bool -> IO (GValueConstruct o)
constructPipelineAutoFlushBus val = B.Properties.constructObjectPropertyBool "auto-flush-bus" val
#if ENABLE_OVERLOADING
data PipelineAutoFlushBusPropertyInfo
instance AttrInfo PipelineAutoFlushBusPropertyInfo where
type AttrAllowedOps PipelineAutoFlushBusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PipelineAutoFlushBusPropertyInfo = (~) Bool
type AttrBaseTypeConstraint PipelineAutoFlushBusPropertyInfo = IsPipeline
type AttrGetType PipelineAutoFlushBusPropertyInfo = Bool
type AttrLabel PipelineAutoFlushBusPropertyInfo = "auto-flush-bus"
type AttrOrigin PipelineAutoFlushBusPropertyInfo = Pipeline
attrGet _ = getPipelineAutoFlushBus
attrSet _ = setPipelineAutoFlushBus
attrConstruct _ = constructPipelineAutoFlushBus
attrClear _ = undefined
#endif
getPipelineDelay :: (MonadIO m, IsPipeline o) => o -> m Word64
getPipelineDelay obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "delay"
setPipelineDelay :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()
setPipelineDelay obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "delay" val
constructPipelineDelay :: (IsPipeline o) => Word64 -> IO (GValueConstruct o)
constructPipelineDelay val = B.Properties.constructObjectPropertyUInt64 "delay" val
#if ENABLE_OVERLOADING
data PipelineDelayPropertyInfo
instance AttrInfo PipelineDelayPropertyInfo where
type AttrAllowedOps PipelineDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PipelineDelayPropertyInfo = (~) Word64
type AttrBaseTypeConstraint PipelineDelayPropertyInfo = IsPipeline
type AttrGetType PipelineDelayPropertyInfo = Word64
type AttrLabel PipelineDelayPropertyInfo = "delay"
type AttrOrigin PipelineDelayPropertyInfo = Pipeline
attrGet _ = getPipelineDelay
attrSet _ = setPipelineDelay
attrConstruct _ = constructPipelineDelay
attrClear _ = undefined
#endif
getPipelineLatency :: (MonadIO m, IsPipeline o) => o -> m Word64
getPipelineLatency obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "latency"
setPipelineLatency :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()
setPipelineLatency obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "latency" val
constructPipelineLatency :: (IsPipeline o) => Word64 -> IO (GValueConstruct o)
constructPipelineLatency val = B.Properties.constructObjectPropertyUInt64 "latency" val
#if ENABLE_OVERLOADING
data PipelineLatencyPropertyInfo
instance AttrInfo PipelineLatencyPropertyInfo where
type AttrAllowedOps PipelineLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint PipelineLatencyPropertyInfo = (~) Word64
type AttrBaseTypeConstraint PipelineLatencyPropertyInfo = IsPipeline
type AttrGetType PipelineLatencyPropertyInfo = Word64
type AttrLabel PipelineLatencyPropertyInfo = "latency"
type AttrOrigin PipelineLatencyPropertyInfo = Pipeline
attrGet _ = getPipelineLatency
attrSet _ = setPipelineLatency
attrConstruct _ = constructPipelineLatency
attrClear _ = undefined
#endif
#if 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 ENABLE_OVERLOADING
pipelineAutoFlushBus :: AttrLabelProxy "autoFlushBus"
pipelineAutoFlushBus = AttrLabelProxy
pipelineDelay :: AttrLabelProxy "delay"
pipelineDelay = AttrLabelProxy
pipelineLatency :: AttrLabelProxy "latency"
pipelineLatency = AttrLabelProxy
#endif
#if 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 name = liftIO $ do
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
result <- gst_pipeline_new maybeName
checkUnexpectedReturnNULL "pipelineNew" result
result' <- (newObject Pipeline) result
freeMem maybeName
return result'
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
gst_pipeline_auto_clock pipeline'
touchManagedPtr pipeline
return ()
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
result <- gst_pipeline_get_auto_flush_bus pipeline'
let result' = (/= 0) result
touchManagedPtr pipeline
return result'
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
result <- gst_pipeline_get_bus pipeline'
checkUnexpectedReturnNULL "pipelineGetBus" result
result' <- (wrapObject Gst.Bus.Bus) result
touchManagedPtr pipeline
return result'
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
result <- gst_pipeline_get_delay pipeline'
touchManagedPtr pipeline
return result
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
result <- gst_pipeline_get_latency pipeline'
touchManagedPtr pipeline
return result
#if 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 pipeline = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
result <- gst_pipeline_get_pipeline_clock pipeline'
checkUnexpectedReturnNULL "pipelineGetPipelineClock" result
result' <- (wrapObject Gst.Clock.Clock) result
touchManagedPtr pipeline
return result'
#if 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 pipeline autoFlush = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
let autoFlush' = (fromIntegral . fromEnum) autoFlush
gst_pipeline_set_auto_flush_bus pipeline' autoFlush'
touchManagedPtr pipeline
return ()
#if 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 pipeline delay = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
gst_pipeline_set_delay pipeline' delay
touchManagedPtr pipeline
return ()
#if 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 pipeline latency = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
gst_pipeline_set_latency pipeline' latency
touchManagedPtr pipeline
return ()
#if 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 pipeline clock = liftIO $ do
pipeline' <- unsafeManagedPtrCastPtr pipeline
maybeClock <- case clock of
Nothing -> return nullPtr
Just jClock -> do
jClock' <- unsafeManagedPtrCastPtr jClock
return jClock'
gst_pipeline_use_clock pipeline' maybeClock
touchManagedPtr pipeline
whenJust clock touchManagedPtr
return ()
#if 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