{-# 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 ,
#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)
BaseSrcNegotiateMethodInfo ,
#endif
baseSrcNegotiate ,
#if defined(ENABLE_OVERLOADING)
BaseSrcNewSeamlessSegmentMethodInfo ,
#endif
baseSrcNewSeamlessSegment ,
#if defined(ENABLE_OVERLOADING)
BaseSrcNewSegmentMethodInfo ,
#endif
baseSrcNewSegment ,
#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Enums as Gst.Enums
import qualified GI.Gst.Objects.Allocator as Gst.Allocator
import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams
import qualified GI.Gst.Structs.BufferList as Gst.BufferList
import qualified GI.Gst.Structs.Caps as Gst.Caps
import qualified GI.Gst.Structs.Segment as Gst.Segment
newtype BaseSrc = BaseSrc (SP.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)
instance SP.ManagedPtrNewtype BaseSrc where
toManagedPtr :: BaseSrc -> ManagedPtr BaseSrc
toManagedPtr (BaseSrc ManagedPtr BaseSrc
p) = ManagedPtr BaseSrc
p
foreign import ccall "gst_base_src_get_type"
c_gst_base_src_get_type :: IO B.Types.GType
instance B.Types.TypedObject BaseSrc where
glibType :: IO GType
glibType = IO GType
c_gst_base_src_get_type
instance B.Types.GObject BaseSrc
class (SP.GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o
instance (SP.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 :: (MIO.MonadIO m, IsBaseSrc o) => o -> m BaseSrc
toBaseSrc :: forall (m :: * -> *) o. (MonadIO m, IsBaseSrc o) => o -> m BaseSrc
toBaseSrc = IO BaseSrc -> m BaseSrc
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr BaseSrc -> BaseSrc
BaseSrc
instance B.GValue.IsGValue (Maybe BaseSrc) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_base_src_get_type
gvalueSet_ :: Ptr GValue -> Maybe BaseSrc -> IO ()
gvalueSet_ Ptr GValue
gv Maybe BaseSrc
P.Nothing = Ptr GValue -> Ptr BaseSrc -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr BaseSrc
forall a. Ptr a
FP.nullPtr :: FP.Ptr BaseSrc)
gvalueSet_ Ptr GValue
gv (P.Just BaseSrc
obj) = BaseSrc -> (Ptr BaseSrc -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr BaseSrc
obj (Ptr GValue -> Ptr BaseSrc -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe BaseSrc)
gvalueGet_ Ptr GValue
gv = do
Ptr BaseSrc
ptr <- Ptr GValue -> IO (Ptr BaseSrc)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr BaseSrc)
if Ptr BaseSrc
ptr Ptr BaseSrc -> Ptr BaseSrc -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr BaseSrc
forall a. Ptr a
FP.nullPtr
then BaseSrc -> Maybe BaseSrc
forall a. a -> Maybe a
P.Just (BaseSrc -> Maybe BaseSrc) -> IO BaseSrc -> IO (Maybe BaseSrc)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (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
else Maybe BaseSrc -> IO (Maybe BaseSrc)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe BaseSrc
forall a. Maybe a
P.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 "negotiate" o = BaseSrcNegotiateMethodInfo
ResolveBaseSrcMethod "newSeamlessSegment" o = BaseSrcNewSeamlessSegmentMethodInfo
ResolveBaseSrcMethod "newSegment" o = BaseSrcNewSegmentMethodInfo
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 "requestPadSimple" o = Gst.Element.ElementRequestPadSimpleMethodInfo
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 "getCurrentClockTime" o = Gst.Element.ElementGetCurrentClockTimeMethodInfo
ResolveBaseSrcMethod "getCurrentRunningTime" o = Gst.Element.ElementGetCurrentRunningTimeMethodInfo
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.OverloadedMethod 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
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveBaseSrcMethod t BaseSrc, O.OverloadedMethod info BaseSrc p, R.HasField t BaseSrc p) => R.HasField t BaseSrc p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveBaseSrcMethod t BaseSrc, O.OverloadedMethodInfo info BaseSrc) => OL.IsLabel t (O.MethodProxy info BaseSrc) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> m Word32
getBaseSrcBlocksize :: forall (m :: * -> *) o. (MonadIO m, IsBaseSrc o) => o -> m Word32
getBaseSrcBlocksize o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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 String
"blocksize"
setBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> Word32 -> m ()
setBaseSrcBlocksize :: forall (m :: * -> *) o.
(MonadIO m, IsBaseSrc o) =>
o -> Word32 -> m ()
setBaseSrcBlocksize o
obj Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj String
"blocksize" Word32
val
constructBaseSrcBlocksize :: (IsBaseSrc o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructBaseSrcBlocksize :: forall o (m :: * -> *).
(IsBaseSrc o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructBaseSrcBlocksize Word32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 String
"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
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.blocksize"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#g:attr:blocksize"
})
#endif
getBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcDoTimestamp :: forall (m :: * -> *) o. (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcDoTimestamp o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"do-timestamp"
setBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()
setBaseSrcDoTimestamp :: forall (m :: * -> *) o.
(MonadIO m, IsBaseSrc o) =>
o -> Bool -> m ()
setBaseSrcDoTimestamp o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"do-timestamp" Bool
val
constructBaseSrcDoTimestamp :: (IsBaseSrc o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructBaseSrcDoTimestamp :: forall o (m :: * -> *).
(IsBaseSrc o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructBaseSrcDoTimestamp Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"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
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.doTimestamp"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#g:attr:doTimestamp"
})
#endif
getBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> m Int32
getBaseSrcNumBuffers :: forall (m :: * -> *) o. (MonadIO m, IsBaseSrc o) => o -> m Int32
getBaseSrcNumBuffers o
obj = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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 String
"num-buffers"
setBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> Int32 -> m ()
setBaseSrcNumBuffers :: forall (m :: * -> *) o.
(MonadIO m, IsBaseSrc o) =>
o -> Int32 -> m ()
setBaseSrcNumBuffers o
obj Int32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"num-buffers" Int32
val
constructBaseSrcNumBuffers :: (IsBaseSrc o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructBaseSrcNumBuffers :: forall o (m :: * -> *).
(IsBaseSrc o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructBaseSrcNumBuffers Int32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"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
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.numBuffers"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#g:attr:numBuffers"
})
#endif
getBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcTypefind :: forall (m :: * -> *) o. (MonadIO m, IsBaseSrc o) => o -> m Bool
getBaseSrcTypefind o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"typefind"
setBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()
setBaseSrcTypefind :: forall (m :: * -> *) o.
(MonadIO m, IsBaseSrc o) =>
o -> Bool -> m ()
setBaseSrcTypefind o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"typefind" Bool
val
constructBaseSrcTypefind :: (IsBaseSrc o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructBaseSrcTypefind :: forall o (m :: * -> *).
(IsBaseSrc o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructBaseSrcTypefind Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"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
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.typefind"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#g:attr:typefind"
})
#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 ((Maybe Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))
baseSrcGetAllocator :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m (Maybe Allocator, AllocationParams)
baseSrcGetAllocator a
src = IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams))
-> IO (Maybe Allocator, AllocationParams)
-> m (Maybe Allocator, AllocationParams)
forall a b. (a -> b) -> a -> b
$ do
Ptr 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)
callocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))
Ptr AllocationParams
params <- Int -> IO (Ptr AllocationParams)
forall a. GBoxed a => Int -> IO (Ptr a)
SP.callocBoxedBytes Int
64 :: IO (Ptr Gst.AllocationParams.AllocationParams)
Ptr 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
Maybe Allocator
maybeAllocator' <- Ptr Allocator
-> (Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Allocator
allocator' ((Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator))
-> (Ptr Allocator -> IO Allocator) -> IO (Maybe Allocator)
forall a b. (a -> b) -> a -> b
$ \Ptr Allocator
allocator'' -> do
Allocator
allocator''' <- ((ManagedPtr Allocator -> Allocator)
-> Ptr Allocator -> IO Allocator
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Allocator -> Allocator
Gst.Allocator.Allocator) Ptr Allocator
allocator''
Allocator -> IO Allocator
forall (m :: * -> *) a. Monad m => a -> m a
return Allocator
allocator'''
AllocationParams
params' <- ((ManagedPtr AllocationParams -> AllocationParams)
-> Ptr AllocationParams -> IO AllocationParams
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr AllocationParams -> AllocationParams
Gst.AllocationParams.AllocationParams) Ptr AllocationParams
params
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Ptr (Ptr Allocator) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Allocator)
allocator
(Maybe Allocator, AllocationParams)
-> IO (Maybe Allocator, AllocationParams)
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe Allocator
maybeAllocator', AllocationParams
params')
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetAllocatorMethodInfo
instance (signature ~ (m ((Maybe Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsBaseSrc a) => O.OverloadedMethod BaseSrcGetAllocatorMethodInfo a signature where
overloadedMethod = baseSrcGetAllocator
instance O.OverloadedMethodInfo BaseSrcGetAllocatorMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcGetAllocator",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m Word32
baseSrcGetBlocksize 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.OverloadedMethod BaseSrcGetBlocksizeMethodInfo a signature where
overloadedMethod = baseSrcGetBlocksize
instance O.OverloadedMethodInfo BaseSrcGetBlocksizeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcGetBlocksize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 (Maybe Gst.BufferPool.BufferPool)
baseSrcGetBufferPool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m (Maybe BufferPool)
baseSrcGetBufferPool a
src = IO (Maybe BufferPool) -> m (Maybe BufferPool)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe BufferPool) -> m (Maybe BufferPool))
-> IO (Maybe BufferPool) -> m (Maybe BufferPool)
forall a b. (a -> b) -> a -> b
$ do
Ptr 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'
Maybe BufferPool
maybeResult <- Ptr BufferPool
-> (Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr BufferPool
result ((Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool))
-> (Ptr BufferPool -> IO BufferPool) -> IO (Maybe BufferPool)
forall a b. (a -> b) -> a -> b
$ \Ptr BufferPool
result' -> do
BufferPool
result'' <- ((ManagedPtr BufferPool -> BufferPool)
-> Ptr BufferPool -> IO BufferPool
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr BufferPool -> BufferPool
Gst.BufferPool.BufferPool) Ptr BufferPool
result'
BufferPool -> IO BufferPool
forall (m :: * -> *) a. Monad m => a -> m a
return BufferPool
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Maybe BufferPool -> IO (Maybe BufferPool)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe BufferPool
maybeResult
#if defined(ENABLE_OVERLOADING)
data BaseSrcGetBufferPoolMethodInfo
instance (signature ~ (m (Maybe Gst.BufferPool.BufferPool)), MonadIO m, IsBaseSrc a) => O.OverloadedMethod BaseSrcGetBufferPoolMethodInfo a signature where
overloadedMethod = baseSrcGetBufferPool
instance O.OverloadedMethodInfo BaseSrcGetBufferPoolMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcGetBufferPool",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m Bool
baseSrcGetDoTimestamp 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
/= CInt
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.OverloadedMethod BaseSrcGetDoTimestampMethodInfo a signature where
overloadedMethod = baseSrcGetDoTimestamp
instance O.OverloadedMethodInfo BaseSrcGetDoTimestampMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcGetDoTimestamp",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m Bool
baseSrcIsAsync 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
/= CInt
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.OverloadedMethod BaseSrcIsAsyncMethodInfo a signature where
overloadedMethod = baseSrcIsAsync
instance O.OverloadedMethodInfo BaseSrcIsAsyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcIsAsync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m Bool
baseSrcIsLive 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
/= CInt
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.OverloadedMethod BaseSrcIsLiveMethodInfo a signature where
overloadedMethod = baseSrcIsLive
instance O.OverloadedMethodInfo BaseSrcIsLiveMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcIsLive",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v:baseSrcIsLive"
})
#endif
foreign import ccall "gst_base_src_negotiate" gst_base_src_negotiate ::
Ptr BaseSrc ->
IO CInt
baseSrcNegotiate ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> m Bool
baseSrcNegotiate :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m Bool
baseSrcNegotiate 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_negotiate Ptr BaseSrc
src'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcNegotiateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.OverloadedMethod BaseSrcNegotiateMethodInfo a signature where
overloadedMethod = baseSrcNegotiate
instance O.OverloadedMethodInfo BaseSrcNegotiateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcNegotiate",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v:baseSrcNegotiate"
})
#endif
foreign import ccall "gst_base_src_new_seamless_segment" gst_base_src_new_seamless_segment ::
Ptr BaseSrc ->
Int64 ->
Int64 ->
Int64 ->
IO CInt
{-# DEPRECATED baseSrcNewSeamlessSegment ["(Since version 1.18)","Use 'GI.GstBase.Objects.BaseSrc.baseSrcNewSegment'"] #-}
baseSrcNewSeamlessSegment ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Int64
-> Int64
-> Int64
-> m Bool
baseSrcNewSeamlessSegment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Int64 -> Int64 -> Int64 -> m Bool
baseSrcNewSeamlessSegment a
src Int64
start Int64
stop 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
/= CInt
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.OverloadedMethod BaseSrcNewSeamlessSegmentMethodInfo a signature where
overloadedMethod = baseSrcNewSeamlessSegment
instance O.OverloadedMethodInfo BaseSrcNewSeamlessSegmentMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcNewSeamlessSegment",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v:baseSrcNewSeamlessSegment"
})
#endif
foreign import ccall "gst_base_src_new_segment" gst_base_src_new_segment ::
Ptr BaseSrc ->
Ptr Gst.Segment.Segment ->
IO CInt
baseSrcNewSegment ::
(B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>
a
-> Gst.Segment.Segment
-> m Bool
baseSrcNewSegment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Segment -> m Bool
baseSrcNewSegment a
src Segment
segment = 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 Segment
segment' <- Segment -> IO (Ptr Segment)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Segment
segment
CInt
result <- Ptr BaseSrc -> Ptr Segment -> IO CInt
gst_base_src_new_segment Ptr BaseSrc
src' Ptr Segment
segment'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Segment -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Segment
segment
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data BaseSrcNewSegmentMethodInfo
instance (signature ~ (Gst.Segment.Segment -> m Bool), MonadIO m, IsBaseSrc a) => O.OverloadedMethod BaseSrcNewSegmentMethodInfo a signature where
overloadedMethod = baseSrcNewSegment
instance O.OverloadedMethodInfo BaseSrcNewSegmentMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcNewSegment",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v:baseSrcNewSegment"
})
#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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m (Bool, Bool, Word64, Word64)
baseSrcQueryLatency 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
/= CInt
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
/= CInt
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.OverloadedMethod BaseSrcQueryLatencyMethodInfo a signature where
overloadedMethod = baseSrcQueryLatency
instance O.OverloadedMethodInfo BaseSrcQueryLatencyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcQueryLatency",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Bool -> m ()
baseSrcSetAsync a
src 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.OverloadedMethod BaseSrcSetAsyncMethodInfo a signature where
overloadedMethod = baseSrcSetAsync
instance O.OverloadedMethodInfo BaseSrcSetAsyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetAsync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Bool -> m ()
baseSrcSetAutomaticEos a
src 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.OverloadedMethod BaseSrcSetAutomaticEosMethodInfo a signature where
overloadedMethod = baseSrcSetAutomaticEos
instance O.OverloadedMethodInfo BaseSrcSetAutomaticEosMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetAutomaticEos",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Word32 -> m ()
baseSrcSetBlocksize a
src 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.OverloadedMethod BaseSrcSetBlocksizeMethodInfo a signature where
overloadedMethod = baseSrcSetBlocksize
instance O.OverloadedMethodInfo BaseSrcSetBlocksizeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetBlocksize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Caps -> m Bool
baseSrcSetCaps a
src 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
/= CInt
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.OverloadedMethod BaseSrcSetCapsMethodInfo a signature where
overloadedMethod = baseSrcSetCaps
instance O.OverloadedMethodInfo BaseSrcSetCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Bool -> m ()
baseSrcSetDoTimestamp a
src 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.OverloadedMethod BaseSrcSetDoTimestampMethodInfo a signature where
overloadedMethod = baseSrcSetDoTimestamp
instance O.OverloadedMethodInfo BaseSrcSetDoTimestampMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetDoTimestamp",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Bool -> m ()
baseSrcSetDynamicSize a
src 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.OverloadedMethod BaseSrcSetDynamicSizeMethodInfo a signature where
overloadedMethod = baseSrcSetDynamicSize
instance O.OverloadedMethodInfo BaseSrcSetDynamicSizeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetDynamicSize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Format -> m ()
baseSrcSetFormat a
src 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.OverloadedMethod BaseSrcSetFormatMethodInfo a signature where
overloadedMethod = baseSrcSetFormat
instance O.OverloadedMethodInfo BaseSrcSetFormatMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetFormat",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> Bool -> m ()
baseSrcSetLive a
src 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.OverloadedMethod BaseSrcSetLiveMethodInfo a signature where
overloadedMethod = baseSrcSetLive
instance O.OverloadedMethodInfo BaseSrcSetLiveMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSetLive",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> FlowReturn -> m ()
baseSrcStartComplete a
basesrc 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.OverloadedMethod BaseSrcStartCompleteMethodInfo a signature where
overloadedMethod = baseSrcStartComplete
instance O.OverloadedMethodInfo BaseSrcStartCompleteMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcStartComplete",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m FlowReturn
baseSrcStartWait 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.OverloadedMethod BaseSrcStartWaitMethodInfo a signature where
overloadedMethod = baseSrcStartWait
instance O.OverloadedMethodInfo BaseSrcStartWaitMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcStartWait",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> BufferList -> m ()
baseSrcSubmitBufferList a
src 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, GBoxed 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.OverloadedMethod BaseSrcSubmitBufferListMethodInfo a signature where
overloadedMethod = baseSrcSubmitBufferList
instance O.OverloadedMethodInfo BaseSrcSubmitBufferListMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcSubmitBufferList",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBaseSrc a) =>
a -> m FlowReturn
baseSrcWaitPlaying 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.OverloadedMethod BaseSrcWaitPlayingMethodInfo a signature where
overloadedMethod = baseSrcWaitPlaying
instance O.OverloadedMethodInfo BaseSrcWaitPlayingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Objects.BaseSrc.baseSrcWaitPlaying",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Objects-BaseSrc.html#v:baseSrcWaitPlaying"
})
#endif