{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstBase.Objects.BaseSrc
(
BaseSrc(..) ,
IsBaseSrc ,
toBaseSrc ,
noBaseSrc ,
#if defined(ENABLE_OVERLOADING)
ResolveBaseSrcMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
BaseSrcGetAllocatorMethodInfo ,
#endif
baseSrcGetAllocator ,
#if defined(ENABLE_OVERLOADING)
BaseSrcGetBlocksizeMethodInfo ,
#endif
baseSrcGetBlocksize ,
#if defined(ENABLE_OVERLOADING)
BaseSrcGetBufferPoolMethodInfo ,
#endif
baseSrcGetBufferPool ,
#if defined(ENABLE_OVERLOADING)
BaseSrcGetDoTimestampMethodInfo ,
#endif
baseSrcGetDoTimestamp ,
#if defined(ENABLE_OVERLOADING)
BaseSrcIsAsyncMethodInfo ,
#endif
baseSrcIsAsync ,
#if defined(ENABLE_OVERLOADING)
BaseSrcIsLiveMethodInfo ,
#endif
baseSrcIsLive ,
#if defined(ENABLE_OVERLOADING)
BaseSrcNewSeamlessSegmentMethodInfo ,
#endif
baseSrcNewSeamlessSegment ,
#if defined(ENABLE_OVERLOADING)
BaseSrcQueryLatencyMethodInfo ,
#endif
baseSrcQueryLatency ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetAsyncMethodInfo ,
#endif
baseSrcSetAsync ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetAutomaticEosMethodInfo ,
#endif
baseSrcSetAutomaticEos ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetBlocksizeMethodInfo ,
#endif
baseSrcSetBlocksize ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetCapsMethodInfo ,
#endif
baseSrcSetCaps ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetDoTimestampMethodInfo ,
#endif
baseSrcSetDoTimestamp ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetDynamicSizeMethodInfo ,
#endif
baseSrcSetDynamicSize ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetFormatMethodInfo ,
#endif
baseSrcSetFormat ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSetLiveMethodInfo ,
#endif
baseSrcSetLive ,
#if defined(ENABLE_OVERLOADING)
BaseSrcStartCompleteMethodInfo ,
#endif
baseSrcStartComplete ,
#if defined(ENABLE_OVERLOADING)
BaseSrcStartWaitMethodInfo ,
#endif
baseSrcStartWait ,
#if defined(ENABLE_OVERLOADING)
BaseSrcSubmitBufferListMethodInfo ,
#endif
baseSrcSubmitBufferList ,
#if defined(ENABLE_OVERLOADING)
BaseSrcWaitPlayingMethodInfo ,
#endif
baseSrcWaitPlaying ,
#if defined(ENABLE_OVERLOADING)
BaseSrcBlocksizePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
baseSrcBlocksize ,
#endif
constructBaseSrcBlocksize ,
getBaseSrcBlocksize ,
setBaseSrcBlocksize ,
#if defined(ENABLE_OVERLOADING)
BaseSrcDoTimestampPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
baseSrcDoTimestamp ,
#endif
constructBaseSrcDoTimestamp ,
getBaseSrcDoTimestamp ,
setBaseSrcDoTimestamp ,
#if defined(ENABLE_OVERLOADING)
BaseSrcNumBuffersPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
baseSrcNumBuffers ,
#endif
constructBaseSrcNumBuffers ,
getBaseSrcNumBuffers ,
setBaseSrcNumBuffers ,
#if defined(ENABLE_OVERLOADING)
BaseSrcTypefindPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
baseSrcTypefind ,
#endif
constructBaseSrcTypefind ,
getBaseSrcTypefind ,
setBaseSrcTypefind ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Enums as Gst.Enums
import qualified GI.Gst.Objects.Allocator as Gst.Allocator
import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams
import qualified GI.Gst.Structs.BufferList as Gst.BufferList
import qualified GI.Gst.Structs.Caps as Gst.Caps
newtype BaseSrc = BaseSrc (ManagedPtr BaseSrc)
deriving (BaseSrc -> BaseSrc -> Bool
(BaseSrc -> BaseSrc -> Bool)
-> (BaseSrc -> BaseSrc -> Bool) -> Eq BaseSrc
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BaseSrc -> BaseSrc -> Bool
$c/= :: BaseSrc -> BaseSrc -> Bool
== :: BaseSrc -> BaseSrc -> Bool
$c== :: BaseSrc -> BaseSrc -> Bool
Eq)
foreign import ccall "gst_base_src_get_type"
c_gst_base_src_get_type :: IO GType
instance GObject BaseSrc where
gobjectType :: IO GType
gobjectType = IO GType
c_gst_base_src_get_type
instance B.GValue.IsGValue BaseSrc where
toGValue :: BaseSrc -> IO GValue
toGValue o :: BaseSrc
o = do
GType
gtype <- IO GType
c_gst_base_src_get_type
BaseSrc -> (Ptr BaseSrc -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr BaseSrc
o (GType
-> (GValue -> Ptr BaseSrc -> IO ()) -> Ptr BaseSrc -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr BaseSrc -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO BaseSrc
fromGValue gv :: GValue
gv = do
Ptr BaseSrc
ptr <- GValue -> IO (Ptr BaseSrc)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr BaseSrc)
(ManagedPtr BaseSrc -> BaseSrc) -> Ptr BaseSrc -> IO BaseSrc
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr BaseSrc -> BaseSrc
BaseSrc Ptr BaseSrc
ptr
class (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o
instance (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o
instance O.HasParentTypes BaseSrc
type instance O.ParentTypes BaseSrc = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toBaseSrc :: (MonadIO m, IsBaseSrc o) => o -> m BaseSrc
toBaseSrc :: o -> m BaseSrc
toBaseSrc = IO BaseSrc -> m BaseSrc
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO BaseSrc -> m BaseSrc) -> (o -> IO BaseSrc) -> o -> m BaseSrc
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr BaseSrc -> BaseSrc) -> o -> IO BaseSrc
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr BaseSrc -> BaseSrc
BaseSrc
noBaseSrc :: Maybe BaseSrc
noBaseSrc :: Maybe BaseSrc
noBaseSrc = Maybe BaseSrc
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveBaseSrcMethod (t :: Symbol) (o :: *) :: * where
ResolveBaseSrcMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveBaseSrcMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveBaseSrcMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveBaseSrcMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveBaseSrcMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveBaseSrcMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveBaseSrcMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveBaseSrcMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveBaseSrcMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveBaseSrcMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveBaseSrcMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveBaseSrcMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveBaseSrcMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveBaseSrcMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveBaseSrcMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveBaseSrcMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveBaseSrcMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveBaseSrcMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveBaseSrcMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveBaseSrcMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveBaseSrcMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveBaseSrcMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveBaseSrcMethod "isAsync" o = BaseSrcIsAsyncMethodInfo
ResolveBaseSrcMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveBaseSrcMethod "isLive" o = BaseSrcIsLiveMethodInfo
ResolveBaseSrcMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveBaseSrcMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveBaseSrcMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveBaseSrcMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveBaseSrcMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveBaseSrcMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveBaseSrcMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveBaseSrcMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveBaseSrcMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveBaseSrcMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveBaseSrcMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveBaseSrcMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveBaseSrcMethod "newSeamlessSegment" o = BaseSrcNewSeamlessSegmentMethodInfo
ResolveBaseSrcMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveBaseSrcMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveBaseSrcMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveBaseSrcMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveBaseSrcMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveBaseSrcMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveBaseSrcMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveBaseSrcMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveBaseSrcMethod "queryLatency" o = BaseSrcQueryLatencyMethodInfo
ResolveBaseSrcMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveBaseSrcMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveBaseSrcMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveBaseSrcMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveBaseSrcMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveBaseSrcMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveBaseSrcMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveBaseSrcMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveBaseSrcMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveBaseSrcMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveBaseSrcMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveBaseSrcMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveBaseSrcMethod "startComplete" o = BaseSrcStartCompleteMethodInfo
ResolveBaseSrcMethod "startWait" o = BaseSrcStartWaitMethodInfo
ResolveBaseSrcMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveBaseSrcMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveBaseSrcMethod "submitBufferList" o = BaseSrcSubmitBufferListMethodInfo
ResolveBaseSrcMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveBaseSrcMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveBaseSrcMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveBaseSrcMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveBaseSrcMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveBaseSrcMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveBaseSrcMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveBaseSrcMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveBaseSrcMethod "waitPlaying" o = BaseSrcWaitPlayingMethodInfo
ResolveBaseSrcMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveBaseSrcMethod "getAllocator" o = BaseSrcGetAllocatorMethodInfo
ResolveBaseSrcMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveBaseSrcMethod "getBlocksize" o = BaseSrcGetBlocksizeMethodInfo
ResolveBaseSrcMethod "getBufferPool" o = BaseSrcGetBufferPoolMethodInfo
ResolveBaseSrcMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveBaseSrcMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveBaseSrcMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveBaseSrcMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveBaseSrcMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveBaseSrcMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveBaseSrcMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveBaseSrcMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveBaseSrcMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveBaseSrcMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveBaseSrcMethod "getDoTimestamp" o = BaseSrcGetDoTimestampMethodInfo
ResolveBaseSrcMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveBaseSrcMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveBaseSrcMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveBaseSrcMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveBaseSrcMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveBaseSrcMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveBaseSrcMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveBaseSrcMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveBaseSrcMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveBaseSrcMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveBaseSrcMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveBaseSrcMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveBaseSrcMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveBaseSrcMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveBaseSrcMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveBaseSrcMethod "setAsync" o = BaseSrcSetAsyncMethodInfo
ResolveBaseSrcMethod "setAutomaticEos" o = BaseSrcSetAutomaticEosMethodInfo
ResolveBaseSrcMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveBaseSrcMethod "setBlocksize" o = BaseSrcSetBlocksizeMethodInfo
ResolveBaseSrcMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveBaseSrcMethod "setCaps" o = BaseSrcSetCapsMethodInfo
ResolveBaseSrcMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveBaseSrcMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveBaseSrcMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveBaseSrcMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveBaseSrcMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveBaseSrcMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveBaseSrcMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveBaseSrcMethod "setDoTimestamp" o = BaseSrcSetDoTimestampMethodInfo
ResolveBaseSrcMethod "setDynamicSize" o = BaseSrcSetDynamicSizeMethodInfo
ResolveBaseSrcMethod "setFormat" o = BaseSrcSetFormatMethodInfo
ResolveBaseSrcMethod "setLive" o = BaseSrcSetLiveMethodInfo
ResolveBaseSrcMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveBaseSrcMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveBaseSrcMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveBaseSrcMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveBaseSrcMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveBaseSrcMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveBaseSrcMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveBaseSrcMethod t BaseSrc, O.MethodInfo info BaseSrc p) => OL.IsLabel t (BaseSrc -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> m Word32
getBaseSrcBlocksize :: o -> m Word32
getBaseSrcBlocksize obj :: o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj "blocksize"
setBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> Word32 -> m ()
setBaseSrcBlocksize :: o -> Word32 -> m ()
setBaseSrcBlocksize obj :: o
obj val :: Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj "blocksize" Word32
val
constructBaseSrcBlocksize :: (IsBaseSrc o) => Word32 -> IO (GValueConstruct o)
constructBaseSrcBlocksize :: Word32 -> IO (GValueConstruct o)
constructBaseSrcBlocksize val :: Word32
val = String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 "blocksize" Word32
val
#if defined(ENABLE_OVERLOADING)
data BaseSrcBlocksizePropertyInfo
instance AttrInfo BaseSrcBlocksizePropertyInfo where
type AttrAllowedOps BaseSrcBlocksizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint BaseSrcBlocksizePropertyInfo = IsBaseSrc
type AttrSetTypeConstraint BaseSrcBlocksizePropertyInfo = (~) Word32
type AttrTransferTypeConstraint BaseSrcBlocksizePropertyInfo = (~) Word32
type AttrTransferType BaseSrcBlocksizePropertyInfo = Word32
type AttrGetType BaseSrcBlocksizePropertyInfo = Word32
type AttrLabel BaseSrcBlocksizePropertyInfo = "blocksize"
type AttrOrigin BaseSrcBlocksizePropertyInfo = BaseSrc
attrGet = getBaseSrcBlocksize
attrSet = setBaseSrcBlocksize
attrTransfer _ v = do
return v
attrConstruct = constructBaseSrcBlocksize
attrClear = undefined
#endif
getBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcDoTimestamp :: o -> m Bool
getBaseSrcDoTimestamp obj :: o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj "do-timestamp"
setBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()
setBaseSrcDoTimestamp :: o -> Bool -> m ()
setBaseSrcDoTimestamp obj :: o
obj val :: Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj "do-timestamp" Bool
val
constructBaseSrcDoTimestamp :: (IsBaseSrc o) => Bool -> IO (GValueConstruct o)
constructBaseSrcDoTimestamp :: Bool -> IO (GValueConstruct o)
constructBaseSrcDoTimestamp val :: Bool
val = String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool "do-timestamp" Bool
val
#if defined(ENABLE_OVERLOADING)
data BaseSrcDoTimestampPropertyInfo
instance AttrInfo BaseSrcDoTimestampPropertyInfo where
type AttrAllowedOps BaseSrcDoTimestampPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint BaseSrcDoTimestampPropertyInfo = IsBaseSrc
type AttrSetTypeConstraint BaseSrcDoTimestampPropertyInfo = (~) Bool
type AttrTransferTypeConstraint BaseSrcDoTimestampPropertyInfo = (~) Bool
type AttrTransferType BaseSrcDoTimestampPropertyInfo = Bool
type AttrGetType BaseSrcDoTimestampPropertyInfo = Bool
type AttrLabel BaseSrcDoTimestampPropertyInfo = "do-timestamp"
type AttrOrigin BaseSrcDoTimestampPropertyInfo = BaseSrc
attrGet = getBaseSrcDoTimestamp
attrSet = setBaseSrcDoTimestamp
attrTransfer _ v = do
return v
attrConstruct = constructBaseSrcDoTimestamp
attrClear = undefined
#endif
getBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> m Int32
getBaseSrcNumBuffers :: o -> m Int32
getBaseSrcNumBuffers obj :: o
obj = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj "num-buffers"
setBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> Int32 -> m ()
setBaseSrcNumBuffers :: o -> Int32 -> m ()
setBaseSrcNumBuffers obj :: o
obj val :: Int32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj "num-buffers" Int32
val
constructBaseSrcNumBuffers :: (IsBaseSrc o) => Int32 -> IO (GValueConstruct o)
constructBaseSrcNumBuffers :: Int32 -> IO (GValueConstruct o)
constructBaseSrcNumBuffers val :: Int32
val = String -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 "num-buffers" Int32
val
#if defined(ENABLE_OVERLOADING)
data BaseSrcNumBuffersPropertyInfo
instance AttrInfo BaseSrcNumBuffersPropertyInfo where
type AttrAllowedOps BaseSrcNumBuffersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint BaseSrcNumBuffersPropertyInfo = IsBaseSrc
type AttrSetTypeConstraint BaseSrcNumBuffersPropertyInfo = (~) Int32
type AttrTransferTypeConstraint BaseSrcNumBuffersPropertyInfo = (~) Int32
type AttrTransferType BaseSrcNumBuffersPropertyInfo = Int32
type AttrGetType BaseSrcNumBuffersPropertyInfo = Int32
type AttrLabel BaseSrcNumBuffersPropertyInfo = "num-buffers"
type AttrOrigin BaseSrcNumBuffersPropertyInfo = BaseSrc
attrGet = getBaseSrcNumBuffers
attrSet = setBaseSrcNumBuffers
attrTransfer _ v = do
return v
attrConstruct = constructBaseSrcNumBuffers
attrClear = undefined
#endif
getBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcTypefind :: o -> m Bool
getBaseSrcTypefind obj :: o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj "typefind"
setBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()
setBaseSrcTypefind :: o -> Bool -> m ()
setBaseSrcTypefind obj :: o
obj val :: Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj "typefind" Bool
val
constructBaseSrcTypefind :: (IsBaseSrc o) => Bool -> IO (GValueConstruct o)
constructBaseSrcTypefind :: Bool -> IO (GValueConstruct o)
constructBaseSrcTypefind val :: Bool
val = String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool "typefind" Bool
val
#if defined(ENABLE_OVERLOADING)
data BaseSrcTypefindPropertyInfo
instance AttrInfo BaseSrcTypefindPropertyInfo where
type AttrAllowedOps BaseSrcTypefindPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint BaseSrcTypefindPropertyInfo = IsBaseSrc
type AttrSetTypeConstraint BaseSrcTypefindPropertyInfo = (~) Bool
type AttrTransferTypeConstraint BaseSrcTypefindPropertyInfo = (~) Bool
type AttrTransferType BaseSrcTypefindPropertyInfo = Bool
type AttrGetType BaseSrcTypefindPropertyInfo = Bool
type AttrLabel BaseSrcTypefindPropertyInfo = "typefind"
type AttrOrigin BaseSrcTypefindPropertyInfo = BaseSrc
attrGet = getBaseSrcTypefind
attrSet = setBaseSrcTypefind
attrTransfer _ v = do
return v
attrConstruct = constructBaseSrcTypefind
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList BaseSrc
type instance O.AttributeList BaseSrc = BaseSrcAttributeList
type BaseSrcAttributeList = ('[ '("blocksize", BaseSrcBlocksizePropertyInfo), '("doTimestamp", BaseSrcDoTimestampPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("numBuffers", BaseSrcNumBuffersPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("typefind", BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
baseSrcBlocksize :: AttrLabelProxy "blocksize"
baseSrcBlocksize = AttrLabelProxy
baseSrcDoTimestamp :: AttrLabelProxy "doTimestamp"
baseSrcDoTimestamp = AttrLabelProxy
baseSrcNumBuffers :: AttrLabelProxy "numBuffers"
baseSrcNumBuffers = AttrLabelProxy
baseSrcTypefind :: AttrLabelProxy "typefind"
baseSrcTypefind = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList BaseSrc = BaseSrcSignalList
type BaseSrcSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_base_src_get_allocator" gst_base_src_get_allocator ::
Ptr BaseSrc ->
Ptr (Ptr Gst.Allocator.Allocator) ->
Ptr Gst.AllocationParams.AllocationParams ->
IO ()
baseSrcGetAllocator ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))
baseSrcGetAllocator :: a -> m (Allocator, AllocationParams)
baseSrcGetAllocator src :: a
src = IO (Allocator, AllocationParams) -> m (Allocator, AllocationParams)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Allocator, AllocationParams)
-> m (Allocator, AllocationParams))
-> IO (Allocator, AllocationParams)
-> m (Allocator, AllocationParams)
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr (Ptr Allocator)
allocator <- IO (Ptr (Ptr Allocator))
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))
Ptr AllocationParams
params <- Int -> IO (Ptr AllocationParams)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)
Ptr BaseSrc -> Ptr (Ptr Allocator) -> Ptr AllocationParams -> IO ()
gst_base_src_get_allocator Ptr BaseSrc
src' Ptr (Ptr Allocator)
allocator Ptr AllocationParams
params
Ptr Allocator
allocator' <- Ptr (Ptr Allocator) -> IO (Ptr Allocator)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Allocator)
allocator
Allocator
allocator'' <- ((ManagedPtr Allocator -> Allocator)
-> Ptr Allocator -> IO Allocator
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Allocator -> Allocator
Gst.Allocator.Allocator) Ptr Allocator
allocator'
AllocationParams
params' <- ((ManagedPtr AllocationParams -> AllocationParams)
-> Ptr AllocationParams -> IO AllocationParams
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr AllocationParams -> AllocationParams
Gst.AllocationParams.AllocationParams) Ptr AllocationParams
params
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Ptr (Ptr Allocator) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Allocator)
allocator
(Allocator, AllocationParams) -> IO (Allocator, AllocationParams)
forall (m :: * -> *) a. Monad m => a -> m a
return (Allocator
allocator'', AllocationParams
params')
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetAllocatorMethodInfo
instance (signature ~ (m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetAllocatorMethodInfo a signature where
overloadedMethod = baseSrcGetAllocator
#endif
foreign import ccall "gst_base_src_get_blocksize" gst_base_src_get_blocksize ::
Ptr BaseSrc ->
IO Word32
baseSrcGetBlocksize ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Word32
baseSrcGetBlocksize :: a -> m Word32
baseSrcGetBlocksize src :: a
src = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Word32
result <- Ptr BaseSrc -> IO Word32
gst_base_src_get_blocksize Ptr BaseSrc
src'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetBlocksizeMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetBlocksizeMethodInfo a signature where
overloadedMethod = baseSrcGetBlocksize
#endif
foreign import ccall "gst_base_src_get_buffer_pool" gst_base_src_get_buffer_pool ::
Ptr BaseSrc ->
IO (Ptr Gst.BufferPool.BufferPool)
baseSrcGetBufferPool ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Gst.BufferPool.BufferPool
baseSrcGetBufferPool :: a -> m BufferPool
baseSrcGetBufferPool src :: a
src = IO BufferPool -> m BufferPool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO BufferPool -> m BufferPool) -> IO BufferPool -> m BufferPool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr BufferPool
result <- Ptr BaseSrc -> IO (Ptr BufferPool)
gst_base_src_get_buffer_pool Ptr BaseSrc
src'
Text -> Ptr BufferPool -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "baseSrcGetBufferPool" Ptr BufferPool
result
BufferPool
result' <- ((ManagedPtr BufferPool -> BufferPool)
-> Ptr BufferPool -> IO BufferPool
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr BufferPool -> BufferPool
Gst.BufferPool.BufferPool) Ptr BufferPool
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
BufferPool -> IO BufferPool
forall (m :: * -> *) a. Monad m => a -> m a
return BufferPool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetBufferPoolMethodInfo
instance (signature ~ (m Gst.BufferPool.BufferPool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetBufferPoolMethodInfo a signature where
overloadedMethod = baseSrcGetBufferPool
#endif
foreign import ccall "gst_base_src_get_do_timestamp" gst_base_src_get_do_timestamp ::
Ptr BaseSrc ->
IO CInt
baseSrcGetDoTimestamp ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Bool
baseSrcGetDoTimestamp :: a -> m Bool
baseSrcGetDoTimestamp src :: a
src = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
CInt
result <- Ptr BaseSrc -> IO CInt
gst_base_src_get_do_timestamp Ptr BaseSrc
src'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetDoTimestampMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetDoTimestampMethodInfo a signature where
overloadedMethod = baseSrcGetDoTimestamp
#endif
foreign import ccall "gst_base_src_is_async" gst_base_src_is_async ::
Ptr BaseSrc ->
IO CInt
baseSrcIsAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Bool
baseSrcIsAsync :: a -> m Bool
baseSrcIsAsync src :: a
src = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
CInt
result <- Ptr BaseSrc -> IO CInt
gst_base_src_is_async Ptr BaseSrc
src'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcIsAsyncMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcIsAsyncMethodInfo a signature where
overloadedMethod = baseSrcIsAsync
#endif
foreign import ccall "gst_base_src_is_live" gst_base_src_is_live ::
Ptr BaseSrc ->
IO CInt
baseSrcIsLive ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Bool
baseSrcIsLive :: a -> m Bool
baseSrcIsLive src :: a
src = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
CInt
result <- Ptr BaseSrc -> IO CInt
gst_base_src_is_live Ptr BaseSrc
src'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcIsLiveMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcIsLiveMethodInfo a signature where
overloadedMethod = baseSrcIsLive
#endif
foreign import ccall "gst_base_src_new_seamless_segment" gst_base_src_new_seamless_segment ::
Ptr BaseSrc ->
Int64 ->
Int64 ->
Int64 ->
IO CInt
baseSrcNewSeamlessSegment ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Int64
-> Int64
-> Int64
-> m Bool
baseSrcNewSeamlessSegment :: a -> Int64 -> Int64 -> Int64 -> m Bool
baseSrcNewSeamlessSegment src :: a
src start :: Int64
start stop :: Int64
stop time :: Int64
time = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
CInt
result <- Ptr BaseSrc -> Int64 -> Int64 -> Int64 -> IO CInt
gst_base_src_new_seamless_segment Ptr BaseSrc
src' Int64
start Int64
stop Int64
time
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcNewSeamlessSegmentMethodInfo
instance (signature ~ (Int64 -> Int64 -> Int64 -> m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcNewSeamlessSegmentMethodInfo a signature where
overloadedMethod = baseSrcNewSeamlessSegment
#endif
foreign import ccall "gst_base_src_query_latency" gst_base_src_query_latency ::
Ptr BaseSrc ->
Ptr CInt ->
Ptr Word64 ->
Ptr Word64 ->
IO CInt
baseSrcQueryLatency ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m ((Bool, Bool, Word64, Word64))
baseSrcQueryLatency :: a -> m (Bool, Bool, Word64, Word64)
baseSrcQueryLatency src :: a
src = IO (Bool, Bool, Word64, Word64) -> m (Bool, Bool, Word64, Word64)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Bool, Word64, Word64) -> m (Bool, Bool, Word64, Word64))
-> IO (Bool, Bool, Word64, Word64)
-> m (Bool, Bool, Word64, Word64)
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr CInt
live <- IO (Ptr CInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CInt)
Ptr Word64
minLatency <- IO (Ptr Word64)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
Ptr Word64
maxLatency <- IO (Ptr Word64)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
CInt
result <- Ptr BaseSrc -> Ptr CInt -> Ptr Word64 -> Ptr Word64 -> IO CInt
gst_base_src_query_latency Ptr BaseSrc
src' Ptr CInt
live Ptr Word64
minLatency Ptr Word64
maxLatency
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
CInt
live' <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
live
let live'' :: Bool
live'' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
live'
Word64
minLatency' <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
minLatency
Word64
maxLatency' <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
maxLatency
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Ptr CInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CInt
live
Ptr Word64 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word64
minLatency
Ptr Word64 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word64
maxLatency
(Bool, Bool, Word64, Word64) -> IO (Bool, Bool, Word64, Word64)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Bool
live'', Word64
minLatency', Word64
maxLatency')
#if defined(ENABLE_OVERLOADING)
data BaseSrcQueryLatencyMethodInfo
instance (signature ~ (m ((Bool, Bool, Word64, Word64))), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcQueryLatencyMethodInfo a signature where
overloadedMethod = baseSrcQueryLatency
#endif
foreign import ccall "gst_base_src_set_async" gst_base_src_set_async ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcSetAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Bool
-> m ()
baseSrcSetAsync :: a -> Bool -> m ()
baseSrcSetAsync src :: a
src async :: Bool
async = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let async' :: CInt
async' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
async
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_set_async Ptr BaseSrc
src' CInt
async'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetAsyncMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetAsyncMethodInfo a signature where
overloadedMethod = baseSrcSetAsync
#endif
foreign import ccall "gst_base_src_set_automatic_eos" gst_base_src_set_automatic_eos ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcSetAutomaticEos ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Bool
-> m ()
baseSrcSetAutomaticEos :: a -> Bool -> m ()
baseSrcSetAutomaticEos src :: a
src automaticEos :: Bool
automaticEos = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let automaticEos' :: CInt
automaticEos' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
automaticEos
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_set_automatic_eos Ptr BaseSrc
src' CInt
automaticEos'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetAutomaticEosMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetAutomaticEosMethodInfo a signature where
overloadedMethod = baseSrcSetAutomaticEos
#endif
foreign import ccall "gst_base_src_set_blocksize" gst_base_src_set_blocksize ::
Ptr BaseSrc ->
Word32 ->
IO ()
baseSrcSetBlocksize ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Word32
-> m ()
baseSrcSetBlocksize :: a -> Word32 -> m ()
baseSrcSetBlocksize src :: a
src blocksize :: Word32
blocksize = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr BaseSrc -> Word32 -> IO ()
gst_base_src_set_blocksize Ptr BaseSrc
src' Word32
blocksize
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetBlocksizeMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetBlocksizeMethodInfo a signature where
overloadedMethod = baseSrcSetBlocksize
#endif
foreign import ccall "gst_base_src_set_caps" gst_base_src_set_caps ::
Ptr BaseSrc ->
Ptr Gst.Caps.Caps ->
IO CInt
baseSrcSetCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Gst.Caps.Caps
-> m Bool
baseSrcSetCaps :: a -> Caps -> m Bool
baseSrcSetCaps src :: a
src caps :: Caps
caps = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr Caps
caps' <- Caps -> IO (Ptr Caps)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Caps
caps
CInt
result <- Ptr BaseSrc -> Ptr Caps -> IO CInt
gst_base_src_set_caps Ptr BaseSrc
src' Ptr Caps
caps'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Caps -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Caps
caps
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetCapsMethodInfo a signature where
overloadedMethod = baseSrcSetCaps
#endif
foreign import ccall "gst_base_src_set_do_timestamp" gst_base_src_set_do_timestamp ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcSetDoTimestamp ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Bool
-> m ()
baseSrcSetDoTimestamp :: a -> Bool -> m ()
baseSrcSetDoTimestamp src :: a
src timestamp :: Bool
timestamp = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let timestamp' :: CInt
timestamp' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
timestamp
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_set_do_timestamp Ptr BaseSrc
src' CInt
timestamp'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetDoTimestampMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetDoTimestampMethodInfo a signature where
overloadedMethod = baseSrcSetDoTimestamp
#endif
foreign import ccall "gst_base_src_set_dynamic_size" gst_base_src_set_dynamic_size ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcSetDynamicSize ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Bool
-> m ()
baseSrcSetDynamicSize :: a -> Bool -> m ()
baseSrcSetDynamicSize src :: a
src dynamic :: Bool
dynamic = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let dynamic' :: CInt
dynamic' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
dynamic
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_set_dynamic_size Ptr BaseSrc
src' CInt
dynamic'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetDynamicSizeMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetDynamicSizeMethodInfo a signature where
overloadedMethod = baseSrcSetDynamicSize
#endif
foreign import ccall "gst_base_src_set_format" gst_base_src_set_format ::
Ptr BaseSrc ->
CUInt ->
IO ()
baseSrcSetFormat ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Gst.Enums.Format
-> m ()
baseSrcSetFormat :: a -> Format -> m ()
baseSrcSetFormat src :: a
src format :: Format
format = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let format' :: CUInt
format' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (Format -> Int) -> Format -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Format -> Int
forall a. Enum a => a -> Int
fromEnum) Format
format
Ptr BaseSrc -> CUInt -> IO ()
gst_base_src_set_format Ptr BaseSrc
src' CUInt
format'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetFormatMethodInfo
instance (signature ~ (Gst.Enums.Format -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetFormatMethodInfo a signature where
overloadedMethod = baseSrcSetFormat
#endif
foreign import ccall "gst_base_src_set_live" gst_base_src_set_live ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcSetLive ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Bool
-> m ()
baseSrcSetLive :: a -> Bool -> m ()
baseSrcSetLive src :: a
src live :: Bool
live = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let live' :: CInt
live' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
live
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_set_live Ptr BaseSrc
src' CInt
live'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSetLiveMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetLiveMethodInfo a signature where
overloadedMethod = baseSrcSetLive
#endif
foreign import ccall "gst_base_src_start_complete" gst_base_src_start_complete ::
Ptr BaseSrc ->
CInt ->
IO ()
baseSrcStartComplete ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Gst.Enums.FlowReturn
-> m ()
baseSrcStartComplete :: a -> FlowReturn -> m ()
baseSrcStartComplete basesrc :: a
basesrc ret :: FlowReturn
ret = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
basesrc' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
basesrc
let ret' :: CInt
ret' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (FlowReturn -> Int) -> FlowReturn -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FlowReturn -> Int
forall a. Enum a => a -> Int
fromEnum) FlowReturn
ret
Ptr BaseSrc -> CInt -> IO ()
gst_base_src_start_complete Ptr BaseSrc
basesrc' CInt
ret'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
basesrc
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcStartCompleteMethodInfo
instance (signature ~ (Gst.Enums.FlowReturn -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcStartCompleteMethodInfo a signature where
overloadedMethod = baseSrcStartComplete
#endif
foreign import ccall "gst_base_src_start_wait" gst_base_src_start_wait ::
Ptr BaseSrc ->
IO CInt
baseSrcStartWait ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Gst.Enums.FlowReturn
baseSrcStartWait :: a -> m FlowReturn
baseSrcStartWait basesrc :: a
basesrc = IO FlowReturn -> m FlowReturn
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
basesrc' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
basesrc
CInt
result <- Ptr BaseSrc -> IO CInt
gst_base_src_start_wait Ptr BaseSrc
basesrc'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
basesrc
FlowReturn -> IO FlowReturn
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcStartWaitMethodInfo
instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcStartWaitMethodInfo a signature where
overloadedMethod = baseSrcStartWait
#endif
foreign import ccall "gst_base_src_submit_buffer_list" gst_base_src_submit_buffer_list ::
Ptr BaseSrc ->
Ptr Gst.BufferList.BufferList ->
IO ()
baseSrcSubmitBufferList ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Gst.BufferList.BufferList
-> m ()
baseSrcSubmitBufferList :: a -> BufferList -> m ()
baseSrcSubmitBufferList src :: a
src bufferList :: BufferList
bufferList = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr BufferList
bufferList' <- BufferList -> IO (Ptr BufferList)
forall a. (HasCallStack, BoxedObject a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed BufferList
bufferList
Ptr BaseSrc -> Ptr BufferList -> IO ()
gst_base_src_submit_buffer_list Ptr BaseSrc
src' Ptr BufferList
bufferList'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
BufferList -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr BufferList
bufferList
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BaseSrcSubmitBufferListMethodInfo
instance (signature ~ (Gst.BufferList.BufferList -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSubmitBufferListMethodInfo a signature where
overloadedMethod = baseSrcSubmitBufferList
#endif
foreign import ccall "gst_base_src_wait_playing" gst_base_src_wait_playing ::
Ptr BaseSrc ->
IO CInt
baseSrcWaitPlaying ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Gst.Enums.FlowReturn
baseSrcWaitPlaying :: a -> m FlowReturn
baseSrcWaitPlaying src :: a
src = IO FlowReturn -> m FlowReturn
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr BaseSrc
src' <- a -> IO (Ptr BaseSrc)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
CInt
result <- Ptr BaseSrc -> IO CInt
gst_base_src_wait_playing Ptr BaseSrc
src'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
FlowReturn -> IO FlowReturn
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcWaitPlayingMethodInfo
instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcWaitPlayingMethodInfo a signature where
overloadedMethod = baseSrcWaitPlaying
#endif