gi-gst-0.1.6.13: GI/Gst/Objects/Element.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gst.Objects.Element
(
-- * Exported types
Element(..) ,
ElementK ,
toElement ,
noElement ,
-- * Methods
-- ** elementAbortState
ElementAbortStateMethodInfo ,
elementAbortState ,
-- ** elementAddPad
ElementAddPadMethodInfo ,
elementAddPad ,
-- ** elementChangeState
ElementChangeStateMethodInfo ,
elementChangeState ,
-- ** elementContinueState
ElementContinueStateMethodInfo ,
elementContinueState ,
-- ** elementCreateAllPads
ElementCreateAllPadsMethodInfo ,
elementCreateAllPads ,
-- ** elementGetBaseTime
ElementGetBaseTimeMethodInfo ,
elementGetBaseTime ,
-- ** elementGetBus
ElementGetBusMethodInfo ,
elementGetBus ,
-- ** elementGetClock
ElementGetClockMethodInfo ,
elementGetClock ,
-- ** elementGetCompatiblePad
ElementGetCompatiblePadMethodInfo ,
elementGetCompatiblePad ,
-- ** elementGetCompatiblePadTemplate
ElementGetCompatiblePadTemplateMethodInfo,
elementGetCompatiblePadTemplate ,
-- ** elementGetFactory
ElementGetFactoryMethodInfo ,
elementGetFactory ,
-- ** elementGetRequestPad
ElementGetRequestPadMethodInfo ,
elementGetRequestPad ,
-- ** elementGetStartTime
ElementGetStartTimeMethodInfo ,
elementGetStartTime ,
-- ** elementGetState
ElementGetStateMethodInfo ,
elementGetState ,
-- ** elementGetStaticPad
ElementGetStaticPadMethodInfo ,
elementGetStaticPad ,
-- ** elementIsLockedState
ElementIsLockedStateMethodInfo ,
elementIsLockedState ,
-- ** elementIteratePads
ElementIteratePadsMethodInfo ,
elementIteratePads ,
-- ** elementIterateSinkPads
ElementIterateSinkPadsMethodInfo ,
elementIterateSinkPads ,
-- ** elementIterateSrcPads
ElementIterateSrcPadsMethodInfo ,
elementIterateSrcPads ,
-- ** elementLink
ElementLinkMethodInfo ,
elementLink ,
-- ** elementLinkFiltered
ElementLinkFilteredMethodInfo ,
elementLinkFiltered ,
-- ** elementLinkPads
ElementLinkPadsMethodInfo ,
elementLinkPads ,
-- ** elementLinkPadsFiltered
ElementLinkPadsFilteredMethodInfo ,
elementLinkPadsFiltered ,
-- ** elementLinkPadsFull
ElementLinkPadsFullMethodInfo ,
elementLinkPadsFull ,
-- ** elementLostState
ElementLostStateMethodInfo ,
elementLostState ,
-- ** elementMakeFromUri
elementMakeFromUri ,
-- ** elementMessageFull
ElementMessageFullMethodInfo ,
elementMessageFull ,
-- ** elementNoMorePads
ElementNoMorePadsMethodInfo ,
elementNoMorePads ,
-- ** elementPostMessage
ElementPostMessageMethodInfo ,
elementPostMessage ,
-- ** elementProvideClock
ElementProvideClockMethodInfo ,
elementProvideClock ,
-- ** elementQuery
ElementQueryMethodInfo ,
elementQuery ,
-- ** elementQueryConvert
ElementQueryConvertMethodInfo ,
elementQueryConvert ,
-- ** elementQueryDuration
ElementQueryDurationMethodInfo ,
elementQueryDuration ,
-- ** elementQueryPosition
ElementQueryPositionMethodInfo ,
elementQueryPosition ,
-- ** elementRegister
elementRegister ,
-- ** elementReleaseRequestPad
ElementReleaseRequestPadMethodInfo ,
elementReleaseRequestPad ,
-- ** elementRemovePad
ElementRemovePadMethodInfo ,
elementRemovePad ,
-- ** elementRequestPad
ElementRequestPadMethodInfo ,
elementRequestPad ,
-- ** elementSeek
ElementSeekMethodInfo ,
elementSeek ,
-- ** elementSeekSimple
ElementSeekSimpleMethodInfo ,
elementSeekSimple ,
-- ** elementSendEvent
ElementSendEventMethodInfo ,
elementSendEvent ,
-- ** elementSetBaseTime
ElementSetBaseTimeMethodInfo ,
elementSetBaseTime ,
-- ** elementSetBus
ElementSetBusMethodInfo ,
elementSetBus ,
-- ** elementSetClock
ElementSetClockMethodInfo ,
elementSetClock ,
-- ** elementSetContext
ElementSetContextMethodInfo ,
elementSetContext ,
-- ** elementSetLockedState
ElementSetLockedStateMethodInfo ,
elementSetLockedState ,
-- ** elementSetStartTime
ElementSetStartTimeMethodInfo ,
elementSetStartTime ,
-- ** elementSetState
ElementSetStateMethodInfo ,
elementSetState ,
-- ** elementStateChangeReturnGetName
elementStateChangeReturnGetName ,
-- ** elementStateGetName
elementStateGetName ,
-- ** elementSyncStateWithParent
ElementSyncStateWithParentMethodInfo ,
elementSyncStateWithParent ,
-- ** elementUnlink
ElementUnlinkMethodInfo ,
elementUnlink ,
-- ** elementUnlinkPads
ElementUnlinkPadsMethodInfo ,
elementUnlinkPads ,
-- * Signals
-- ** NoMorePads
ElementNoMorePadsCallback ,
ElementNoMorePadsCallbackC ,
ElementNoMorePadsSignalInfo ,
afterElementNoMorePads ,
elementNoMorePadsCallbackWrapper ,
elementNoMorePadsClosure ,
mkElementNoMorePadsCallback ,
noElementNoMorePadsCallback ,
onElementNoMorePads ,
-- ** PadAdded
ElementPadAddedCallback ,
ElementPadAddedCallbackC ,
ElementPadAddedSignalInfo ,
afterElementPadAdded ,
elementPadAddedCallbackWrapper ,
elementPadAddedClosure ,
mkElementPadAddedCallback ,
noElementPadAddedCallback ,
onElementPadAdded ,
-- ** PadRemoved
ElementPadRemovedCallback ,
ElementPadRemovedCallbackC ,
ElementPadRemovedSignalInfo ,
afterElementPadRemoved ,
elementPadRemovedCallbackWrapper ,
elementPadRemovedClosure ,
mkElementPadRemovedCallback ,
noElementPadRemovedCallback ,
onElementPadRemoved ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gst.Types
import GI.Gst.Callbacks
import qualified GI.GObject as GObject
newtype Element = Element (ForeignPtr Element)
foreign import ccall "gst_element_get_type"
c_gst_element_get_type :: IO GType
type instance ParentTypes Element = ElementParentTypes
type ElementParentTypes = '[Object, GObject.Object]
instance GObject Element where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gst_element_get_type
class GObject o => ElementK o
instance (GObject o, IsDescendantOf Element o) => ElementK o
toElement :: ElementK o => o -> IO Element
toElement = unsafeCastTo Element
noElement :: Maybe Element
noElement = Nothing
type family ResolveElementMethod (t :: Symbol) (o :: *) :: * where
ResolveElementMethod "abortState" o = ElementAbortStateMethodInfo
ResolveElementMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo
ResolveElementMethod "addPad" o = ElementAddPadMethodInfo
ResolveElementMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveElementMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveElementMethod "changeState" o = ElementChangeStateMethodInfo
ResolveElementMethod "continueState" o = ElementContinueStateMethodInfo
ResolveElementMethod "createAllPads" o = ElementCreateAllPadsMethodInfo
ResolveElementMethod "defaultError" o = ObjectDefaultErrorMethodInfo
ResolveElementMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveElementMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveElementMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo
ResolveElementMethod "hasAncestor" o = ObjectHasAncestorMethodInfo
ResolveElementMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo
ResolveElementMethod "hasAsParent" o = ObjectHasAsParentMethodInfo
ResolveElementMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveElementMethod "isLockedState" o = ElementIsLockedStateMethodInfo
ResolveElementMethod "iteratePads" o = ElementIteratePadsMethodInfo
ResolveElementMethod "iterateSinkPads" o = ElementIterateSinkPadsMethodInfo
ResolveElementMethod "iterateSrcPads" o = ElementIterateSrcPadsMethodInfo
ResolveElementMethod "link" o = ElementLinkMethodInfo
ResolveElementMethod "linkFiltered" o = ElementLinkFilteredMethodInfo
ResolveElementMethod "linkPads" o = ElementLinkPadsMethodInfo
ResolveElementMethod "linkPadsFiltered" o = ElementLinkPadsFilteredMethodInfo
ResolveElementMethod "linkPadsFull" o = ElementLinkPadsFullMethodInfo
ResolveElementMethod "lostState" o = ElementLostStateMethodInfo
ResolveElementMethod "messageFull" o = ElementMessageFullMethodInfo
ResolveElementMethod "noMorePads" o = ElementNoMorePadsMethodInfo
ResolveElementMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveElementMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveElementMethod "postMessage" o = ElementPostMessageMethodInfo
ResolveElementMethod "provideClock" o = ElementProvideClockMethodInfo
ResolveElementMethod "query" o = ElementQueryMethodInfo
ResolveElementMethod "queryConvert" o = ElementQueryConvertMethodInfo
ResolveElementMethod "queryDuration" o = ElementQueryDurationMethodInfo
ResolveElementMethod "queryPosition" o = ElementQueryPositionMethodInfo
ResolveElementMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveElementMethod "releaseRequestPad" o = ElementReleaseRequestPadMethodInfo
ResolveElementMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo
ResolveElementMethod "removePad" o = ElementRemovePadMethodInfo
ResolveElementMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveElementMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveElementMethod "requestPad" o = ElementRequestPadMethodInfo
ResolveElementMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveElementMethod "seek" o = ElementSeekMethodInfo
ResolveElementMethod "seekSimple" o = ElementSeekSimpleMethodInfo
ResolveElementMethod "sendEvent" o = ElementSendEventMethodInfo
ResolveElementMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveElementMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveElementMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo
ResolveElementMethod "syncStateWithParent" o = ElementSyncStateWithParentMethodInfo
ResolveElementMethod "syncValues" o = ObjectSyncValuesMethodInfo
ResolveElementMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveElementMethod "unlink" o = ElementUnlinkMethodInfo
ResolveElementMethod "unlinkPads" o = ElementUnlinkPadsMethodInfo
ResolveElementMethod "unparent" o = ObjectUnparentMethodInfo
ResolveElementMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveElementMethod "getBaseTime" o = ElementGetBaseTimeMethodInfo
ResolveElementMethod "getBus" o = ElementGetBusMethodInfo
ResolveElementMethod "getClock" o = ElementGetClockMethodInfo
ResolveElementMethod "getCompatiblePad" o = ElementGetCompatiblePadMethodInfo
ResolveElementMethod "getCompatiblePadTemplate" o = ElementGetCompatiblePadTemplateMethodInfo
ResolveElementMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo
ResolveElementMethod "getControlRate" o = ObjectGetControlRateMethodInfo
ResolveElementMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveElementMethod "getFactory" o = ElementGetFactoryMethodInfo
ResolveElementMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo
ResolveElementMethod "getName" o = ObjectGetNameMethodInfo
ResolveElementMethod "getParent" o = ObjectGetParentMethodInfo
ResolveElementMethod "getPathString" o = ObjectGetPathStringMethodInfo
ResolveElementMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveElementMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveElementMethod "getRequestPad" o = ElementGetRequestPadMethodInfo
ResolveElementMethod "getStartTime" o = ElementGetStartTimeMethodInfo
ResolveElementMethod "getState" o = ElementGetStateMethodInfo
ResolveElementMethod "getStaticPad" o = ElementGetStaticPadMethodInfo
ResolveElementMethod "getValue" o = ObjectGetValueMethodInfo
ResolveElementMethod "getValueArray" o = ObjectGetValueArrayMethodInfo
ResolveElementMethod "setBaseTime" o = ElementSetBaseTimeMethodInfo
ResolveElementMethod "setBus" o = ElementSetBusMethodInfo
ResolveElementMethod "setClock" o = ElementSetClockMethodInfo
ResolveElementMethod "setContext" o = ElementSetContextMethodInfo
ResolveElementMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo
ResolveElementMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo
ResolveElementMethod "setControlRate" o = ObjectSetControlRateMethodInfo
ResolveElementMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveElementMethod "setLockedState" o = ElementSetLockedStateMethodInfo
ResolveElementMethod "setName" o = ObjectSetNameMethodInfo
ResolveElementMethod "setParent" o = ObjectSetParentMethodInfo
ResolveElementMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveElementMethod "setStartTime" o = ElementSetStartTimeMethodInfo
ResolveElementMethod "setState" o = ElementSetStateMethodInfo
ResolveElementMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveElementMethod t Element, MethodInfo info Element p) => IsLabelProxy t (Element -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveElementMethod t Element, MethodInfo info Element p) => IsLabel t (Element -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- signal Element::no-more-pads
type ElementNoMorePadsCallback =
IO ()
noElementNoMorePadsCallback :: Maybe ElementNoMorePadsCallback
noElementNoMorePadsCallback = Nothing
type ElementNoMorePadsCallbackC =
Ptr () -> -- object
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkElementNoMorePadsCallback :: ElementNoMorePadsCallbackC -> IO (FunPtr ElementNoMorePadsCallbackC)
elementNoMorePadsClosure :: ElementNoMorePadsCallback -> IO Closure
elementNoMorePadsClosure cb = newCClosure =<< mkElementNoMorePadsCallback wrapped
where wrapped = elementNoMorePadsCallbackWrapper cb
elementNoMorePadsCallbackWrapper ::
ElementNoMorePadsCallback ->
Ptr () ->
Ptr () ->
IO ()
elementNoMorePadsCallbackWrapper _cb _ _ = do
_cb
onElementNoMorePads :: (GObject a, MonadIO m) => a -> ElementNoMorePadsCallback -> m SignalHandlerId
onElementNoMorePads obj cb = liftIO $ connectElementNoMorePads obj cb SignalConnectBefore
afterElementNoMorePads :: (GObject a, MonadIO m) => a -> ElementNoMorePadsCallback -> m SignalHandlerId
afterElementNoMorePads obj cb = connectElementNoMorePads obj cb SignalConnectAfter
connectElementNoMorePads :: (GObject a, MonadIO m) =>
a -> ElementNoMorePadsCallback -> SignalConnectMode -> m SignalHandlerId
connectElementNoMorePads obj cb after = liftIO $ do
cb' <- mkElementNoMorePadsCallback (elementNoMorePadsCallbackWrapper cb)
connectSignalFunPtr obj "no-more-pads" cb' after
-- signal Element::pad-added
type ElementPadAddedCallback =
Pad ->
IO ()
noElementPadAddedCallback :: Maybe ElementPadAddedCallback
noElementPadAddedCallback = Nothing
type ElementPadAddedCallbackC =
Ptr () -> -- object
Ptr Pad ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkElementPadAddedCallback :: ElementPadAddedCallbackC -> IO (FunPtr ElementPadAddedCallbackC)
elementPadAddedClosure :: ElementPadAddedCallback -> IO Closure
elementPadAddedClosure cb = newCClosure =<< mkElementPadAddedCallback wrapped
where wrapped = elementPadAddedCallbackWrapper cb
elementPadAddedCallbackWrapper ::
ElementPadAddedCallback ->
Ptr () ->
Ptr Pad ->
Ptr () ->
IO ()
elementPadAddedCallbackWrapper _cb _ newPad _ = do
newPad' <- (newObject Pad) newPad
_cb newPad'
onElementPadAdded :: (GObject a, MonadIO m) => a -> ElementPadAddedCallback -> m SignalHandlerId
onElementPadAdded obj cb = liftIO $ connectElementPadAdded obj cb SignalConnectBefore
afterElementPadAdded :: (GObject a, MonadIO m) => a -> ElementPadAddedCallback -> m SignalHandlerId
afterElementPadAdded obj cb = connectElementPadAdded obj cb SignalConnectAfter
connectElementPadAdded :: (GObject a, MonadIO m) =>
a -> ElementPadAddedCallback -> SignalConnectMode -> m SignalHandlerId
connectElementPadAdded obj cb after = liftIO $ do
cb' <- mkElementPadAddedCallback (elementPadAddedCallbackWrapper cb)
connectSignalFunPtr obj "pad-added" cb' after
-- signal Element::pad-removed
type ElementPadRemovedCallback =
Pad ->
IO ()
noElementPadRemovedCallback :: Maybe ElementPadRemovedCallback
noElementPadRemovedCallback = Nothing
type ElementPadRemovedCallbackC =
Ptr () -> -- object
Ptr Pad ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkElementPadRemovedCallback :: ElementPadRemovedCallbackC -> IO (FunPtr ElementPadRemovedCallbackC)
elementPadRemovedClosure :: ElementPadRemovedCallback -> IO Closure
elementPadRemovedClosure cb = newCClosure =<< mkElementPadRemovedCallback wrapped
where wrapped = elementPadRemovedCallbackWrapper cb
elementPadRemovedCallbackWrapper ::
ElementPadRemovedCallback ->
Ptr () ->
Ptr Pad ->
Ptr () ->
IO ()
elementPadRemovedCallbackWrapper _cb _ oldPad _ = do
oldPad' <- (newObject Pad) oldPad
_cb oldPad'
onElementPadRemoved :: (GObject a, MonadIO m) => a -> ElementPadRemovedCallback -> m SignalHandlerId
onElementPadRemoved obj cb = liftIO $ connectElementPadRemoved obj cb SignalConnectBefore
afterElementPadRemoved :: (GObject a, MonadIO m) => a -> ElementPadRemovedCallback -> m SignalHandlerId
afterElementPadRemoved obj cb = connectElementPadRemoved obj cb SignalConnectAfter
connectElementPadRemoved :: (GObject a, MonadIO m) =>
a -> ElementPadRemovedCallback -> SignalConnectMode -> m SignalHandlerId
connectElementPadRemoved obj cb after = liftIO $ do
cb' <- mkElementPadRemovedCallback (elementPadRemovedCallbackWrapper cb)
connectSignalFunPtr obj "pad-removed" cb' after
type instance AttributeList Element = ElementAttributeList
type ElementAttributeList = ('[ '("name", ObjectNamePropertyInfo), '("parent", ObjectParentPropertyInfo)] :: [(Symbol, *)])
data ElementNoMorePadsSignalInfo
instance SignalInfo ElementNoMorePadsSignalInfo where
type HaskellCallbackType ElementNoMorePadsSignalInfo = ElementNoMorePadsCallback
connectSignal _ = connectElementNoMorePads
data ElementPadAddedSignalInfo
instance SignalInfo ElementPadAddedSignalInfo where
type HaskellCallbackType ElementPadAddedSignalInfo = ElementPadAddedCallback
connectSignal _ = connectElementPadAdded
data ElementPadRemovedSignalInfo
instance SignalInfo ElementPadRemovedSignalInfo where
type HaskellCallbackType ElementPadRemovedSignalInfo = ElementPadRemovedCallback
connectSignal _ = connectElementPadRemoved
type instance SignalList Element = ElementSignalList
type ElementSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("noMorePads", ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", ElementPadAddedSignalInfo), '("padRemoved", ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
-- method Element::abort_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_abort_state" gst_element_abort_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO ()
elementAbortState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m () -- result
elementAbortState _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_abort_state _obj'
touchManagedPtr _obj
return ()
data ElementAbortStateMethodInfo
instance (signature ~ (m ()), MonadIO m, ElementK a) => MethodInfo ElementAbortStateMethodInfo a signature where
overloadedMethod _ = elementAbortState
-- method Element::add_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_add_pad" gst_element_add_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Pad -> -- pad : TInterface "Gst" "Pad"
IO CInt
elementAddPad ::
(MonadIO m, ElementK a, PadK b) =>
a -- _obj
-> b -- pad
-> m Bool -- result
elementAddPad _obj pad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
pad' <- refObject pad
result <- gst_element_add_pad _obj' pad'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr pad
return result'
data ElementAddPadMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, ElementK a, PadK b) => MethodInfo ElementAddPadMethodInfo a signature where
overloadedMethod _ = elementAddPad
-- method Element::change_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transition", argType = TInterface "Gst" "StateChange", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "StateChangeReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_change_state" gst_element_change_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- transition : TInterface "Gst" "StateChange"
IO CUInt
elementChangeState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> StateChange -- transition
-> m StateChangeReturn -- result
elementChangeState _obj transition = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let transition' = (fromIntegral . fromEnum) transition
result <- gst_element_change_state _obj' transition'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ElementChangeStateMethodInfo
instance (signature ~ (StateChange -> m StateChangeReturn), MonadIO m, ElementK a) => MethodInfo ElementChangeStateMethodInfo a signature where
overloadedMethod _ = elementChangeState
-- method Element::continue_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface "Gst" "StateChangeReturn", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "StateChangeReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_continue_state" gst_element_continue_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- ret : TInterface "Gst" "StateChangeReturn"
IO CUInt
elementContinueState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> StateChangeReturn -- ret
-> m StateChangeReturn -- result
elementContinueState _obj ret = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let ret' = (fromIntegral . fromEnum) ret
result <- gst_element_continue_state _obj' ret'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ElementContinueStateMethodInfo
instance (signature ~ (StateChangeReturn -> m StateChangeReturn), MonadIO m, ElementK a) => MethodInfo ElementContinueStateMethodInfo a signature where
overloadedMethod _ = elementContinueState
-- method Element::create_all_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_create_all_pads" gst_element_create_all_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO ()
elementCreateAllPads ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m () -- result
elementCreateAllPads _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_create_all_pads _obj'
touchManagedPtr _obj
return ()
data ElementCreateAllPadsMethodInfo
instance (signature ~ (m ()), MonadIO m, ElementK a) => MethodInfo ElementCreateAllPadsMethodInfo a signature where
overloadedMethod _ = elementCreateAllPads
-- method Element::get_base_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_base_time" gst_element_get_base_time ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO Word64
elementGetBaseTime ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Word64 -- result
elementGetBaseTime _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_get_base_time _obj'
touchManagedPtr _obj
return result
data ElementGetBaseTimeMethodInfo
instance (signature ~ (m Word64), MonadIO m, ElementK a) => MethodInfo ElementGetBaseTimeMethodInfo a signature where
overloadedMethod _ = elementGetBaseTime
-- method Element::get_bus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Bus"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_bus" gst_element_get_bus ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Bus)
elementGetBus ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Bus -- result
elementGetBus _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_get_bus _obj'
checkUnexpectedReturnNULL "gst_element_get_bus" result
result' <- (wrapObject Bus) result
touchManagedPtr _obj
return result'
data ElementGetBusMethodInfo
instance (signature ~ (m Bus), MonadIO m, ElementK a) => MethodInfo ElementGetBusMethodInfo a signature where
overloadedMethod _ = elementGetBus
-- method Element::get_clock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Clock"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_clock" gst_element_get_clock ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Clock)
elementGetClock ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Clock -- result
elementGetClock _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_get_clock _obj'
checkUnexpectedReturnNULL "gst_element_get_clock" result
result' <- (wrapObject Clock) result
touchManagedPtr _obj
return result'
data ElementGetClockMethodInfo
instance (signature ~ (m Clock), MonadIO m, ElementK a) => MethodInfo ElementGetClockMethodInfo a signature where
overloadedMethod _ = elementGetClock
-- method Element::get_compatible_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_compatible_pad" gst_element_get_compatible_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Pad -> -- pad : TInterface "Gst" "Pad"
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO (Ptr Pad)
elementGetCompatiblePad ::
(MonadIO m, ElementK a, PadK b) =>
a -- _obj
-> b -- pad
-> Maybe (Caps) -- caps
-> m Pad -- result
elementGetCompatiblePad _obj pad caps = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let pad' = unsafeManagedPtrCastPtr pad
maybeCaps <- case caps of
Nothing -> return nullPtr
Just jCaps -> do
let jCaps' = unsafeManagedPtrGetPtr jCaps
return jCaps'
result <- gst_element_get_compatible_pad _obj' pad' maybeCaps
checkUnexpectedReturnNULL "gst_element_get_compatible_pad" result
result' <- (wrapObject Pad) result
touchManagedPtr _obj
touchManagedPtr pad
whenJust caps touchManagedPtr
return result'
data ElementGetCompatiblePadMethodInfo
instance (signature ~ (b -> Maybe (Caps) -> m Pad), MonadIO m, ElementK a, PadK b) => MethodInfo ElementGetCompatiblePadMethodInfo a signature where
overloadedMethod _ = elementGetCompatiblePad
-- method Element::get_compatible_pad_template
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compattempl", argType = TInterface "Gst" "PadTemplate", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "PadTemplate"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_compatible_pad_template" gst_element_get_compatible_pad_template ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr PadTemplate -> -- compattempl : TInterface "Gst" "PadTemplate"
IO (Ptr PadTemplate)
elementGetCompatiblePadTemplate ::
(MonadIO m, ElementK a, PadTemplateK b) =>
a -- _obj
-> b -- compattempl
-> m PadTemplate -- result
elementGetCompatiblePadTemplate _obj compattempl = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let compattempl' = unsafeManagedPtrCastPtr compattempl
result <- gst_element_get_compatible_pad_template _obj' compattempl'
checkUnexpectedReturnNULL "gst_element_get_compatible_pad_template" result
result' <- (newObject PadTemplate) result
touchManagedPtr _obj
touchManagedPtr compattempl
return result'
data ElementGetCompatiblePadTemplateMethodInfo
instance (signature ~ (b -> m PadTemplate), MonadIO m, ElementK a, PadTemplateK b) => MethodInfo ElementGetCompatiblePadTemplateMethodInfo a signature where
overloadedMethod _ = elementGetCompatiblePadTemplate
-- method Element::get_factory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "ElementFactory"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_factory" gst_element_get_factory ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr ElementFactory)
elementGetFactory ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m ElementFactory -- result
elementGetFactory _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_get_factory _obj'
checkUnexpectedReturnNULL "gst_element_get_factory" result
result' <- (newObject ElementFactory) result
touchManagedPtr _obj
return result'
data ElementGetFactoryMethodInfo
instance (signature ~ (m ElementFactory), MonadIO m, ElementK a) => MethodInfo ElementGetFactoryMethodInfo a signature where
overloadedMethod _ = elementGetFactory
-- method Element::get_request_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_request_pad" gst_element_get_request_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- name : TBasicType TUTF8
IO (Ptr Pad)
elementGetRequestPad ::
(MonadIO m, ElementK a) =>
a -- _obj
-> T.Text -- name
-> m Pad -- result
elementGetRequestPad _obj name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
name' <- textToCString name
result <- gst_element_get_request_pad _obj' name'
checkUnexpectedReturnNULL "gst_element_get_request_pad" result
result' <- (wrapObject Pad) result
touchManagedPtr _obj
freeMem name'
return result'
data ElementGetRequestPadMethodInfo
instance (signature ~ (T.Text -> m Pad), MonadIO m, ElementK a) => MethodInfo ElementGetRequestPadMethodInfo a signature where
overloadedMethod _ = elementGetRequestPad
-- method Element::get_start_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_start_time" gst_element_get_start_time ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO Word64
elementGetStartTime ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Word64 -- result
elementGetStartTime _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_get_start_time _obj'
touchManagedPtr _obj
return result
data ElementGetStartTimeMethodInfo
instance (signature ~ (m Word64), MonadIO m, ElementK a) => MethodInfo ElementGetStartTimeMethodInfo a signature where
overloadedMethod _ = elementGetStartTime
-- method Element::get_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface "Gst" "State", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pending", argType = TInterface "Gst" "State", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "StateChangeReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_state" gst_element_get_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr CUInt -> -- state : TInterface "Gst" "State"
Ptr CUInt -> -- pending : TInterface "Gst" "State"
Word64 -> -- timeout : TBasicType TUInt64
IO CUInt
elementGetState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Word64 -- timeout
-> m (StateChangeReturn,State,State) -- result
elementGetState _obj timeout = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
state <- allocMem :: IO (Ptr CUInt)
pending <- allocMem :: IO (Ptr CUInt)
result <- gst_element_get_state _obj' state pending timeout
let result' = (toEnum . fromIntegral) result
state' <- peek state
let state'' = (toEnum . fromIntegral) state'
pending' <- peek pending
let pending'' = (toEnum . fromIntegral) pending'
touchManagedPtr _obj
freeMem state
freeMem pending
return (result', state'', pending'')
data ElementGetStateMethodInfo
instance (signature ~ (Word64 -> m (StateChangeReturn,State,State)), MonadIO m, ElementK a) => MethodInfo ElementGetStateMethodInfo a signature where
overloadedMethod _ = elementGetState
-- method Element::get_static_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_get_static_pad" gst_element_get_static_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- name : TBasicType TUTF8
IO (Ptr Pad)
elementGetStaticPad ::
(MonadIO m, ElementK a) =>
a -- _obj
-> T.Text -- name
-> m Pad -- result
elementGetStaticPad _obj name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
name' <- textToCString name
result <- gst_element_get_static_pad _obj' name'
checkUnexpectedReturnNULL "gst_element_get_static_pad" result
result' <- (wrapObject Pad) result
touchManagedPtr _obj
freeMem name'
return result'
data ElementGetStaticPadMethodInfo
instance (signature ~ (T.Text -> m Pad), MonadIO m, ElementK a) => MethodInfo ElementGetStaticPadMethodInfo a signature where
overloadedMethod _ = elementGetStaticPad
-- method Element::is_locked_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_is_locked_state" gst_element_is_locked_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO CInt
elementIsLockedState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Bool -- result
elementIsLockedState _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_is_locked_state _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ElementIsLockedStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, ElementK a) => MethodInfo ElementIsLockedStateMethodInfo a signature where
overloadedMethod _ = elementIsLockedState
-- method Element::iterate_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Iterator"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_iterate_pads" gst_element_iterate_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Iterator)
elementIteratePads ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Iterator -- result
elementIteratePads _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_iterate_pads _obj'
checkUnexpectedReturnNULL "gst_element_iterate_pads" result
result' <- (wrapBoxed Iterator) result
touchManagedPtr _obj
return result'
data ElementIteratePadsMethodInfo
instance (signature ~ (m Iterator), MonadIO m, ElementK a) => MethodInfo ElementIteratePadsMethodInfo a signature where
overloadedMethod _ = elementIteratePads
-- method Element::iterate_sink_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Iterator"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_iterate_sink_pads" gst_element_iterate_sink_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Iterator)
elementIterateSinkPads ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Iterator -- result
elementIterateSinkPads _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_iterate_sink_pads _obj'
checkUnexpectedReturnNULL "gst_element_iterate_sink_pads" result
result' <- (wrapBoxed Iterator) result
touchManagedPtr _obj
return result'
data ElementIterateSinkPadsMethodInfo
instance (signature ~ (m Iterator), MonadIO m, ElementK a) => MethodInfo ElementIterateSinkPadsMethodInfo a signature where
overloadedMethod _ = elementIterateSinkPads
-- method Element::iterate_src_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Iterator"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_iterate_src_pads" gst_element_iterate_src_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Iterator)
elementIterateSrcPads ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Iterator -- result
elementIterateSrcPads _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_iterate_src_pads _obj'
checkUnexpectedReturnNULL "gst_element_iterate_src_pads" result
result' <- (wrapBoxed Iterator) result
touchManagedPtr _obj
return result'
data ElementIterateSrcPadsMethodInfo
instance (signature ~ (m Iterator), MonadIO m, ElementK a) => MethodInfo ElementIterateSrcPadsMethodInfo a signature where
overloadedMethod _ = elementIterateSrcPads
-- method Element::link
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_link" gst_element_link ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Element -> -- dest : TInterface "Gst" "Element"
IO CInt
elementLink ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> b -- dest
-> m Bool -- result
elementLink _obj dest = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let dest' = unsafeManagedPtrCastPtr dest
result <- gst_element_link _obj' dest'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr dest
return result'
data ElementLinkMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementLinkMethodInfo a signature where
overloadedMethod _ = elementLink
-- method Element::link_filtered
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_link_filtered" gst_element_link_filtered ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Element -> -- dest : TInterface "Gst" "Element"
Ptr Caps -> -- filter : TInterface "Gst" "Caps"
IO CInt
elementLinkFiltered ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> b -- dest
-> Maybe (Caps) -- filter
-> m Bool -- result
elementLinkFiltered _obj dest filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let dest' = unsafeManagedPtrCastPtr dest
maybeFilter <- case filter of
Nothing -> return nullPtr
Just jFilter -> do
let jFilter' = unsafeManagedPtrGetPtr jFilter
return jFilter'
result <- gst_element_link_filtered _obj' dest' maybeFilter
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr dest
whenJust filter touchManagedPtr
return result'
data ElementLinkFilteredMethodInfo
instance (signature ~ (b -> Maybe (Caps) -> m Bool), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementLinkFilteredMethodInfo a signature where
overloadedMethod _ = elementLinkFiltered
-- method Element::link_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_link_pads" gst_element_link_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- srcpadname : TBasicType TUTF8
Ptr Element -> -- dest : TInterface "Gst" "Element"
CString -> -- destpadname : TBasicType TUTF8
IO CInt
elementLinkPads ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> Maybe (T.Text) -- srcpadname
-> b -- dest
-> Maybe (T.Text) -- destpadname
-> m Bool -- result
elementLinkPads _obj srcpadname dest destpadname = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeSrcpadname <- case srcpadname of
Nothing -> return nullPtr
Just jSrcpadname -> do
jSrcpadname' <- textToCString jSrcpadname
return jSrcpadname'
let dest' = unsafeManagedPtrCastPtr dest
maybeDestpadname <- case destpadname of
Nothing -> return nullPtr
Just jDestpadname -> do
jDestpadname' <- textToCString jDestpadname
return jDestpadname'
result <- gst_element_link_pads _obj' maybeSrcpadname dest' maybeDestpadname
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr dest
freeMem maybeSrcpadname
freeMem maybeDestpadname
return result'
data ElementLinkPadsMethodInfo
instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> m Bool), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementLinkPadsMethodInfo a signature where
overloadedMethod _ = elementLinkPads
-- method Element::link_pads_filtered
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_link_pads_filtered" gst_element_link_pads_filtered ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- srcpadname : TBasicType TUTF8
Ptr Element -> -- dest : TInterface "Gst" "Element"
CString -> -- destpadname : TBasicType TUTF8
Ptr Caps -> -- filter : TInterface "Gst" "Caps"
IO CInt
elementLinkPadsFiltered ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> Maybe (T.Text) -- srcpadname
-> b -- dest
-> Maybe (T.Text) -- destpadname
-> Maybe (Caps) -- filter
-> m Bool -- result
elementLinkPadsFiltered _obj srcpadname dest destpadname filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeSrcpadname <- case srcpadname of
Nothing -> return nullPtr
Just jSrcpadname -> do
jSrcpadname' <- textToCString jSrcpadname
return jSrcpadname'
let dest' = unsafeManagedPtrCastPtr dest
maybeDestpadname <- case destpadname of
Nothing -> return nullPtr
Just jDestpadname -> do
jDestpadname' <- textToCString jDestpadname
return jDestpadname'
maybeFilter <- case filter of
Nothing -> return nullPtr
Just jFilter -> do
let jFilter' = unsafeManagedPtrGetPtr jFilter
return jFilter'
result <- gst_element_link_pads_filtered _obj' maybeSrcpadname dest' maybeDestpadname maybeFilter
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr dest
whenJust filter touchManagedPtr
freeMem maybeSrcpadname
freeMem maybeDestpadname
return result'
data ElementLinkPadsFilteredMethodInfo
instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> Maybe (Caps) -> m Bool), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementLinkPadsFilteredMethodInfo a signature where
overloadedMethod _ = elementLinkPadsFiltered
-- method Element::link_pads_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "PadLinkCheck", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_link_pads_full" gst_element_link_pads_full ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- srcpadname : TBasicType TUTF8
Ptr Element -> -- dest : TInterface "Gst" "Element"
CString -> -- destpadname : TBasicType TUTF8
CUInt -> -- flags : TInterface "Gst" "PadLinkCheck"
IO CInt
elementLinkPadsFull ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> Maybe (T.Text) -- srcpadname
-> b -- dest
-> Maybe (T.Text) -- destpadname
-> [PadLinkCheck] -- flags
-> m Bool -- result
elementLinkPadsFull _obj srcpadname dest destpadname flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeSrcpadname <- case srcpadname of
Nothing -> return nullPtr
Just jSrcpadname -> do
jSrcpadname' <- textToCString jSrcpadname
return jSrcpadname'
let dest' = unsafeManagedPtrCastPtr dest
maybeDestpadname <- case destpadname of
Nothing -> return nullPtr
Just jDestpadname -> do
jDestpadname' <- textToCString jDestpadname
return jDestpadname'
let flags' = gflagsToWord flags
result <- gst_element_link_pads_full _obj' maybeSrcpadname dest' maybeDestpadname flags'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr dest
freeMem maybeSrcpadname
freeMem maybeDestpadname
return result'
data ElementLinkPadsFullMethodInfo
instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> [PadLinkCheck] -> m Bool), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementLinkPadsFullMethodInfo a signature where
overloadedMethod _ = elementLinkPadsFull
-- method Element::lost_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_lost_state" gst_element_lost_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO ()
elementLostState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m () -- result
elementLostState _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_lost_state _obj'
touchManagedPtr _obj
return ()
data ElementLostStateMethodInfo
instance (signature ~ (m ()), MonadIO m, ElementK a) => MethodInfo ElementLostStateMethodInfo a signature where
overloadedMethod _ = elementLostState
-- method Element::message_full
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Gst" "MessageType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_message_full" gst_element_message_full ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- type : TInterface "Gst" "MessageType"
Word32 -> -- domain : TBasicType TUInt32
Int32 -> -- code : TBasicType TInt32
CString -> -- text : TBasicType TUTF8
CString -> -- debug : TBasicType TUTF8
CString -> -- file : TBasicType TUTF8
CString -> -- function : TBasicType TUTF8
Int32 -> -- line : TBasicType TInt32
IO ()
elementMessageFull ::
(MonadIO m, ElementK a) =>
a -- _obj
-> [MessageType] -- type_
-> Word32 -- domain
-> Int32 -- code
-> Maybe (T.Text) -- text
-> Maybe (T.Text) -- debug
-> T.Text -- file
-> T.Text -- function
-> Int32 -- line
-> m () -- result
elementMessageFull _obj type_ domain code text debug file function line = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let type_' = gflagsToWord type_
maybeText <- case text of
Nothing -> return nullPtr
Just jText -> do
jText' <- textToCString jText
return jText'
maybeDebug <- case debug of
Nothing -> return nullPtr
Just jDebug -> do
jDebug' <- textToCString jDebug
return jDebug'
file' <- textToCString file
function' <- textToCString function
gst_element_message_full _obj' type_' domain code maybeText maybeDebug file' function' line
touchManagedPtr _obj
freeMem file'
freeMem function'
return ()
data ElementMessageFullMethodInfo
instance (signature ~ ([MessageType] -> Word32 -> Int32 -> Maybe (T.Text) -> Maybe (T.Text) -> T.Text -> T.Text -> Int32 -> m ()), MonadIO m, ElementK a) => MethodInfo ElementMessageFullMethodInfo a signature where
overloadedMethod _ = elementMessageFull
-- method Element::no_more_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_no_more_pads" gst_element_no_more_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO ()
elementNoMorePads ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m () -- result
elementNoMorePads _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_no_more_pads _obj'
touchManagedPtr _obj
return ()
data ElementNoMorePadsMethodInfo
instance (signature ~ (m ()), MonadIO m, ElementK a) => MethodInfo ElementNoMorePadsMethodInfo a signature where
overloadedMethod _ = elementNoMorePads
-- method Element::post_message
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface "Gst" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_post_message" gst_element_post_message ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Message -> -- message : TInterface "Gst" "Message"
IO CInt
elementPostMessage ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Message -- message
-> m Bool -- result
elementPostMessage _obj message = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
message' <- copyBoxed message
result <- gst_element_post_message _obj' message'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr message
return result'
data ElementPostMessageMethodInfo
instance (signature ~ (Message -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementPostMessageMethodInfo a signature where
overloadedMethod _ = elementPostMessage
-- method Element::provide_clock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Clock"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_provide_clock" gst_element_provide_clock ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO (Ptr Clock)
elementProvideClock ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Clock -- result
elementProvideClock _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_provide_clock _obj'
checkUnexpectedReturnNULL "gst_element_provide_clock" result
result' <- (wrapObject Clock) result
touchManagedPtr _obj
return result'
data ElementProvideClockMethodInfo
instance (signature ~ (m Clock), MonadIO m, ElementK a) => MethodInfo ElementProvideClockMethodInfo a signature where
overloadedMethod _ = elementProvideClock
-- method Element::query
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "Gst" "Query", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_query" gst_element_query ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Query -> -- query : TInterface "Gst" "Query"
IO CInt
elementQuery ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Query -- query
-> m Bool -- result
elementQuery _obj query = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let query' = unsafeManagedPtrGetPtr query
result <- gst_element_query _obj' query'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr query
return result'
data ElementQueryMethodInfo
instance (signature ~ (Query -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementQueryMethodInfo a signature where
overloadedMethod _ = elementQuery
-- method Element::query_convert
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface "Gst" "Format", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_query_convert" gst_element_query_convert ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr CUInt -> -- src_format : TInterface "Gst" "Format"
Int64 -> -- src_val : TBasicType TInt64
CUInt -> -- dest_format : TInterface "Gst" "Format"
Ptr Int64 -> -- dest_val : TBasicType TInt64
IO CInt
elementQueryConvert ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Format -- srcFormat
-> Int64 -- srcVal
-> Format -- destFormat
-> m (Bool,Format,Int64) -- result
elementQueryConvert _obj srcFormat srcVal destFormat = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let srcFormat' = (fromIntegral . fromEnum) srcFormat
srcFormat'' <- allocMem :: IO (Ptr CUInt)
poke srcFormat'' srcFormat'
let destFormat' = (fromIntegral . fromEnum) destFormat
destVal <- allocMem :: IO (Ptr Int64)
result <- gst_element_query_convert _obj' srcFormat'' srcVal destFormat' destVal
let result' = (/= 0) result
srcFormat''' <- peek srcFormat''
let srcFormat'''' = (toEnum . fromIntegral) srcFormat'''
destVal' <- peek destVal
touchManagedPtr _obj
freeMem srcFormat''
freeMem destVal
return (result', srcFormat'''', destVal')
data ElementQueryConvertMethodInfo
instance (signature ~ (Format -> Int64 -> Format -> m (Bool,Format,Int64)), MonadIO m, ElementK a) => MethodInfo ElementQueryConvertMethodInfo a signature where
overloadedMethod _ = elementQueryConvert
-- method Element::query_duration
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_query_duration" gst_element_query_duration ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- duration : TBasicType TInt64
IO CInt
elementQueryDuration ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
elementQueryDuration _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
duration <- allocMem :: IO (Ptr Int64)
result <- gst_element_query_duration _obj' format' duration
let result' = (/= 0) result
duration' <- peek duration
touchManagedPtr _obj
freeMem duration
return (result', duration')
data ElementQueryDurationMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, ElementK a) => MethodInfo ElementQueryDurationMethodInfo a signature where
overloadedMethod _ = elementQueryDuration
-- method Element::query_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_query_position" gst_element_query_position ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- cur : TBasicType TInt64
IO CInt
elementQueryPosition ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Format -- format
-> m (Bool,Int64) -- result
elementQueryPosition _obj format = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
cur <- allocMem :: IO (Ptr Int64)
result <- gst_element_query_position _obj' format' cur
let result' = (/= 0) result
cur' <- peek cur
touchManagedPtr _obj
freeMem cur
return (result', cur')
data ElementQueryPositionMethodInfo
instance (signature ~ (Format -> m (Bool,Int64)), MonadIO m, ElementK a) => MethodInfo ElementQueryPositionMethodInfo a signature where
overloadedMethod _ = elementQueryPosition
-- method Element::release_request_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_release_request_pad" gst_element_release_request_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Pad -> -- pad : TInterface "Gst" "Pad"
IO ()
elementReleaseRequestPad ::
(MonadIO m, ElementK a, PadK b) =>
a -- _obj
-> b -- pad
-> m () -- result
elementReleaseRequestPad _obj pad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let pad' = unsafeManagedPtrCastPtr pad
gst_element_release_request_pad _obj' pad'
touchManagedPtr _obj
touchManagedPtr pad
return ()
data ElementReleaseRequestPadMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, ElementK a, PadK b) => MethodInfo ElementReleaseRequestPadMethodInfo a signature where
overloadedMethod _ = elementReleaseRequestPad
-- method Element::remove_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface "Gst" "Pad", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_remove_pad" gst_element_remove_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Pad -> -- pad : TInterface "Gst" "Pad"
IO CInt
elementRemovePad ::
(MonadIO m, ElementK a, PadK b) =>
a -- _obj
-> b -- pad
-> m Bool -- result
elementRemovePad _obj pad = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
pad' <- refObject pad
result <- gst_element_remove_pad _obj' pad'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr pad
return result'
data ElementRemovePadMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, ElementK a, PadK b) => MethodInfo ElementRemovePadMethodInfo a signature where
overloadedMethod _ = elementRemovePad
-- method Element::request_pad
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "templ", argType = TInterface "Gst" "PadTemplate", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Pad"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_request_pad" gst_element_request_pad ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr PadTemplate -> -- templ : TInterface "Gst" "PadTemplate"
CString -> -- name : TBasicType TUTF8
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO (Ptr Pad)
elementRequestPad ::
(MonadIO m, ElementK a, PadTemplateK b) =>
a -- _obj
-> b -- templ
-> Maybe (T.Text) -- name
-> Maybe (Caps) -- caps
-> m Pad -- result
elementRequestPad _obj templ name caps = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let templ' = unsafeManagedPtrCastPtr templ
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
maybeCaps <- case caps of
Nothing -> return nullPtr
Just jCaps -> do
let jCaps' = unsafeManagedPtrGetPtr jCaps
return jCaps'
result <- gst_element_request_pad _obj' templ' maybeName maybeCaps
checkUnexpectedReturnNULL "gst_element_request_pad" result
result' <- (wrapObject Pad) result
touchManagedPtr _obj
touchManagedPtr templ
whenJust caps touchManagedPtr
freeMem maybeName
return result'
data ElementRequestPadMethodInfo
instance (signature ~ (b -> Maybe (T.Text) -> Maybe (Caps) -> m Pad), MonadIO m, ElementK a, PadTemplateK b) => MethodInfo ElementRequestPadMethodInfo a signature where
overloadedMethod _ = elementRequestPad
-- method Element::seek
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "SeekFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_type", argType = TInterface "Gst" "SeekType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_type", argType = TInterface "Gst" "SeekType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_seek" gst_element_seek ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CDouble -> -- rate : TBasicType TDouble
CUInt -> -- format : TInterface "Gst" "Format"
CUInt -> -- flags : TInterface "Gst" "SeekFlags"
CUInt -> -- start_type : TInterface "Gst" "SeekType"
Int64 -> -- start : TBasicType TInt64
CUInt -> -- stop_type : TInterface "Gst" "SeekType"
Int64 -> -- stop : TBasicType TInt64
IO CInt
elementSeek ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Double -- rate
-> Format -- format
-> [SeekFlags] -- flags
-> SeekType -- startType
-> Int64 -- start
-> SeekType -- stopType
-> Int64 -- stop
-> m Bool -- result
elementSeek _obj rate format flags startType start stopType stop = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let rate' = realToFrac rate
let format' = (fromIntegral . fromEnum) format
let flags' = gflagsToWord flags
let startType' = (fromIntegral . fromEnum) startType
let stopType' = (fromIntegral . fromEnum) stopType
result <- gst_element_seek _obj' rate' format' flags' startType' start stopType' stop
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ElementSeekMethodInfo
instance (signature ~ (Double -> Format -> [SeekFlags] -> SeekType -> Int64 -> SeekType -> Int64 -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementSeekMethodInfo a signature where
overloadedMethod _ = elementSeek
-- method Element::seek_simple
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seek_flags", argType = TInterface "Gst" "SeekFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seek_pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_seek_simple" gst_element_seek_simple ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- format : TInterface "Gst" "Format"
CUInt -> -- seek_flags : TInterface "Gst" "SeekFlags"
Int64 -> -- seek_pos : TBasicType TInt64
IO CInt
elementSeekSimple ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Format -- format
-> [SeekFlags] -- seekFlags
-> Int64 -- seekPos
-> m Bool -- result
elementSeekSimple _obj format seekFlags seekPos = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let format' = (fromIntegral . fromEnum) format
let seekFlags' = gflagsToWord seekFlags
result <- gst_element_seek_simple _obj' format' seekFlags' seekPos
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ElementSeekSimpleMethodInfo
instance (signature ~ (Format -> [SeekFlags] -> Int64 -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementSeekSimpleMethodInfo a signature where
overloadedMethod _ = elementSeekSimple
-- method Element::send_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_send_event" gst_element_send_event ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Event -> -- event : TInterface "Gst" "Event"
IO CInt
elementSendEvent ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Event -- event
-> m Bool -- result
elementSendEvent _obj event = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
event' <- copyBoxed event
result <- gst_element_send_event _obj' event'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr event
return result'
data ElementSendEventMethodInfo
instance (signature ~ (Event -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementSendEventMethodInfo a signature where
overloadedMethod _ = elementSendEvent
-- method Element::set_base_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_base_time" gst_element_set_base_time ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Word64 -> -- time : TBasicType TUInt64
IO ()
elementSetBaseTime ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Word64 -- time
-> m () -- result
elementSetBaseTime _obj time = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_set_base_time _obj' time
touchManagedPtr _obj
return ()
data ElementSetBaseTimeMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, ElementK a) => MethodInfo ElementSetBaseTimeMethodInfo a signature where
overloadedMethod _ = elementSetBaseTime
-- method Element::set_bus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bus", argType = TInterface "Gst" "Bus", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_bus" gst_element_set_bus ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Bus -> -- bus : TInterface "Gst" "Bus"
IO ()
elementSetBus ::
(MonadIO m, ElementK a, BusK b) =>
a -- _obj
-> b -- bus
-> m () -- result
elementSetBus _obj bus = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let bus' = unsafeManagedPtrCastPtr bus
gst_element_set_bus _obj' bus'
touchManagedPtr _obj
touchManagedPtr bus
return ()
data ElementSetBusMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, ElementK a, BusK b) => MethodInfo ElementSetBusMethodInfo a signature where
overloadedMethod _ = elementSetBus
-- method Element::set_clock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface "Gst" "Clock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_clock" gst_element_set_clock ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Clock -> -- clock : TInterface "Gst" "Clock"
IO CInt
elementSetClock ::
(MonadIO m, ElementK a, ClockK b) =>
a -- _obj
-> b -- clock
-> m Bool -- result
elementSetClock _obj clock = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let clock' = unsafeManagedPtrCastPtr clock
result <- gst_element_set_clock _obj' clock'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr clock
return result'
data ElementSetClockMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, ElementK a, ClockK b) => MethodInfo ElementSetClockMethodInfo a signature where
overloadedMethod _ = elementSetClock
-- method Element::set_context
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "Gst" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_context" gst_element_set_context ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Context -> -- context : TInterface "Gst" "Context"
IO ()
elementSetContext ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Context -- context
-> m () -- result
elementSetContext _obj context = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let context' = unsafeManagedPtrGetPtr context
gst_element_set_context _obj' context'
touchManagedPtr _obj
touchManagedPtr context
return ()
data ElementSetContextMethodInfo
instance (signature ~ (Context -> m ()), MonadIO m, ElementK a) => MethodInfo ElementSetContextMethodInfo a signature where
overloadedMethod _ = elementSetContext
-- method Element::set_locked_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locked_state", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_locked_state" gst_element_set_locked_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CInt -> -- locked_state : TBasicType TBoolean
IO CInt
elementSetLockedState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Bool -- lockedState
-> m Bool -- result
elementSetLockedState _obj lockedState = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let lockedState' = (fromIntegral . fromEnum) lockedState
result <- gst_element_set_locked_state _obj' lockedState'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ElementSetLockedStateMethodInfo
instance (signature ~ (Bool -> m Bool), MonadIO m, ElementK a) => MethodInfo ElementSetLockedStateMethodInfo a signature where
overloadedMethod _ = elementSetLockedState
-- method Element::set_start_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_start_time" gst_element_set_start_time ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Word64 -> -- time : TBasicType TUInt64
IO ()
elementSetStartTime ::
(MonadIO m, ElementK a) =>
a -- _obj
-> Word64 -- time
-> m () -- result
elementSetStartTime _obj time = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_element_set_start_time _obj' time
touchManagedPtr _obj
return ()
data ElementSetStartTimeMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, ElementK a) => MethodInfo ElementSetStartTimeMethodInfo a signature where
overloadedMethod _ = elementSetStartTime
-- method Element::set_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface "Gst" "State", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "StateChangeReturn"
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_set_state" gst_element_set_state ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CUInt -> -- state : TInterface "Gst" "State"
IO CUInt
elementSetState ::
(MonadIO m, ElementK a) =>
a -- _obj
-> State -- state
-> m StateChangeReturn -- result
elementSetState _obj state = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let state' = (fromIntegral . fromEnum) state
result <- gst_element_set_state _obj' state'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data ElementSetStateMethodInfo
instance (signature ~ (State -> m StateChangeReturn), MonadIO m, ElementK a) => MethodInfo ElementSetStateMethodInfo a signature where
overloadedMethod _ = elementSetState
-- method Element::sync_state_with_parent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_sync_state_with_parent" gst_element_sync_state_with_parent ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
IO CInt
elementSyncStateWithParent ::
(MonadIO m, ElementK a) =>
a -- _obj
-> m Bool -- result
elementSyncStateWithParent _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_element_sync_state_with_parent _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data ElementSyncStateWithParentMethodInfo
instance (signature ~ (m Bool), MonadIO m, ElementK a) => MethodInfo ElementSyncStateWithParentMethodInfo a signature where
overloadedMethod _ = elementSyncStateWithParent
-- method Element::unlink
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_unlink" gst_element_unlink ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
Ptr Element -> -- dest : TInterface "Gst" "Element"
IO ()
elementUnlink ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> b -- dest
-> m () -- result
elementUnlink _obj dest = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let dest' = unsafeManagedPtrCastPtr dest
gst_element_unlink _obj' dest'
touchManagedPtr _obj
touchManagedPtr dest
return ()
data ElementUnlinkMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementUnlinkMethodInfo a signature where
overloadedMethod _ = elementUnlink
-- method Element::unlink_pads
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface "Gst" "Element", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_unlink_pads" gst_element_unlink_pads ::
Ptr Element -> -- _obj : TInterface "Gst" "Element"
CString -> -- srcpadname : TBasicType TUTF8
Ptr Element -> -- dest : TInterface "Gst" "Element"
CString -> -- destpadname : TBasicType TUTF8
IO ()
elementUnlinkPads ::
(MonadIO m, ElementK a, ElementK b) =>
a -- _obj
-> T.Text -- srcpadname
-> b -- dest
-> T.Text -- destpadname
-> m () -- result
elementUnlinkPads _obj srcpadname dest destpadname = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
srcpadname' <- textToCString srcpadname
let dest' = unsafeManagedPtrCastPtr dest
destpadname' <- textToCString destpadname
gst_element_unlink_pads _obj' srcpadname' dest' destpadname'
touchManagedPtr _obj
touchManagedPtr dest
freeMem srcpadname'
freeMem destpadname'
return ()
data ElementUnlinkPadsMethodInfo
instance (signature ~ (T.Text -> b -> T.Text -> m ()), MonadIO m, ElementK a, ElementK b) => MethodInfo ElementUnlinkPadsMethodInfo a signature where
overloadedMethod _ = elementUnlinkPads
-- method Element::make_from_uri
-- method type : MemberFunction
-- Args : [Arg {argCName = "type", argType = TInterface "Gst" "URIType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "elementname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Element"
-- throws : True
-- Skip return : False
foreign import ccall "gst_element_make_from_uri" gst_element_make_from_uri ::
CUInt -> -- type : TInterface "Gst" "URIType"
CString -> -- uri : TBasicType TUTF8
CString -> -- elementname : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO (Ptr Element)
elementMakeFromUri ::
(MonadIO m) =>
URIType -- type_
-> T.Text -- uri
-> Maybe (T.Text) -- elementname
-> m Element -- result
elementMakeFromUri type_ uri elementname = liftIO $ do
let type_' = (fromIntegral . fromEnum) type_
uri' <- textToCString uri
maybeElementname <- case elementname of
Nothing -> return nullPtr
Just jElementname -> do
jElementname' <- textToCString jElementname
return jElementname'
onException (do
result <- propagateGError $ gst_element_make_from_uri type_' uri' maybeElementname
checkUnexpectedReturnNULL "gst_element_make_from_uri" result
result' <- (newObject Element) result
freeMem uri'
freeMem maybeElementname
return result'
) (do
freeMem uri'
freeMem maybeElementname
)
-- method Element::register
-- method type : MemberFunction
-- Args : [Arg {argCName = "plugin", argType = TInterface "Gst" "Plugin", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_register" gst_element_register ::
Ptr Plugin -> -- plugin : TInterface "Gst" "Plugin"
CString -> -- name : TBasicType TUTF8
Word32 -> -- rank : TBasicType TUInt32
CGType -> -- type : TBasicType TGType
IO CInt
elementRegister ::
(MonadIO m, PluginK a) =>
Maybe (a) -- plugin
-> T.Text -- name
-> Word32 -- rank
-> GType -- type_
-> m Bool -- result
elementRegister plugin name rank type_ = liftIO $ do
maybePlugin <- case plugin of
Nothing -> return nullPtr
Just jPlugin -> do
let jPlugin' = unsafeManagedPtrCastPtr jPlugin
return jPlugin'
name' <- textToCString name
let type_' = gtypeToCGType type_
result <- gst_element_register maybePlugin name' rank type_'
let result' = (/= 0) result
whenJust plugin touchManagedPtr
freeMem name'
return result'
-- method Element::state_change_return_get_name
-- method type : MemberFunction
-- Args : [Arg {argCName = "state_ret", argType = TInterface "Gst" "StateChangeReturn", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_state_change_return_get_name" gst_element_state_change_return_get_name ::
CUInt -> -- state_ret : TInterface "Gst" "StateChangeReturn"
IO CString
elementStateChangeReturnGetName ::
(MonadIO m) =>
StateChangeReturn -- stateRet
-> m T.Text -- result
elementStateChangeReturnGetName stateRet = liftIO $ do
let stateRet' = (fromIntegral . fromEnum) stateRet
result <- gst_element_state_change_return_get_name stateRet'
checkUnexpectedReturnNULL "gst_element_state_change_return_get_name" result
result' <- cstringToText result
return result'
-- method Element::state_get_name
-- method type : MemberFunction
-- Args : [Arg {argCName = "state", argType = TInterface "Gst" "State", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_element_state_get_name" gst_element_state_get_name ::
CUInt -> -- state : TInterface "Gst" "State"
IO CString
elementStateGetName ::
(MonadIO m) =>
State -- state
-> m T.Text -- result
elementStateGetName state = liftIO $ do
let state' = (fromIntegral . fromEnum) state
result <- gst_element_state_get_name state'
checkUnexpectedReturnNULL "gst_element_state_get_name" result
result' <- cstringToText result
return result'