module GI.Gst.Objects.ElementFactory
(
ElementFactory(..) ,
IsElementFactory ,
toElementFactory ,
noElementFactory ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryCanSinkAllCapsMethodInfo ,
#endif
elementFactoryCanSinkAllCaps ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryCanSinkAnyCapsMethodInfo ,
#endif
elementFactoryCanSinkAnyCaps ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryCanSrcAllCapsMethodInfo ,
#endif
elementFactoryCanSrcAllCaps ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryCanSrcAnyCapsMethodInfo ,
#endif
elementFactoryCanSrcAnyCaps ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryCreateMethodInfo ,
#endif
elementFactoryCreate ,
elementFactoryFind ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetElementTypeMethodInfo ,
#endif
elementFactoryGetElementType ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetMetadataMethodInfo ,
#endif
elementFactoryGetMetadata ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetMetadataKeysMethodInfo ,
#endif
elementFactoryGetMetadataKeys ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetNumPadTemplatesMethodInfo,
#endif
elementFactoryGetNumPadTemplates ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetStaticPadTemplatesMethodInfo,
#endif
elementFactoryGetStaticPadTemplates ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetUriProtocolsMethodInfo ,
#endif
elementFactoryGetUriProtocols ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryGetUriTypeMethodInfo ,
#endif
elementFactoryGetUriType ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryHasInterfaceMethodInfo ,
#endif
elementFactoryHasInterface ,
elementFactoryListFilter ,
elementFactoryListGetElements ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ElementFactoryListIsTypeMethodInfo ,
#endif
elementFactoryListIsType ,
elementFactoryMake ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Enums as Gst.Enums
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature
import qualified GI.Gst.Structs.Caps as Gst.Caps
import qualified GI.Gst.Structs.StaticPadTemplate as Gst.StaticPadTemplate
newtype ElementFactory = ElementFactory (ManagedPtr ElementFactory)
foreign import ccall "gst_element_factory_get_type"
c_gst_element_factory_get_type :: IO GType
instance GObject ElementFactory where
gobjectType _ = c_gst_element_factory_get_type
class GObject o => IsElementFactory o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError ElementFactory a) =>
IsElementFactory a
#endif
instance IsElementFactory ElementFactory
instance Gst.PluginFeature.IsPluginFeature ElementFactory
instance Gst.Object.IsObject ElementFactory
instance GObject.Object.IsObject ElementFactory
toElementFactory :: (MonadIO m, IsElementFactory o) => o -> m ElementFactory
toElementFactory = liftIO . unsafeCastTo ElementFactory
noElementFactory :: Maybe ElementFactory
noElementFactory = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveElementFactoryMethod (t :: Symbol) (o :: *) :: * where
ResolveElementFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveElementFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveElementFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveElementFactoryMethod "canSinkAllCaps" o = ElementFactoryCanSinkAllCapsMethodInfo
ResolveElementFactoryMethod "canSinkAnyCaps" o = ElementFactoryCanSinkAnyCapsMethodInfo
ResolveElementFactoryMethod "canSrcAllCaps" o = ElementFactoryCanSrcAllCapsMethodInfo
ResolveElementFactoryMethod "canSrcAnyCaps" o = ElementFactoryCanSrcAnyCapsMethodInfo
ResolveElementFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo
ResolveElementFactoryMethod "create" o = ElementFactoryCreateMethodInfo
ResolveElementFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveElementFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveElementFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveElementFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveElementFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveElementFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveElementFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveElementFactoryMethod "hasInterface" o = ElementFactoryHasInterfaceMethodInfo
ResolveElementFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveElementFactoryMethod "listIsType" o = ElementFactoryListIsTypeMethodInfo
ResolveElementFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo
ResolveElementFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveElementFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveElementFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveElementFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveElementFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveElementFactoryMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveElementFactoryMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveElementFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveElementFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveElementFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveElementFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveElementFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveElementFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveElementFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveElementFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveElementFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveElementFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveElementFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveElementFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveElementFactoryMethod "getElementType" o = ElementFactoryGetElementTypeMethodInfo
ResolveElementFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveElementFactoryMethod "getMetadata" o = ElementFactoryGetMetadataMethodInfo
ResolveElementFactoryMethod "getMetadataKeys" o = ElementFactoryGetMetadataKeysMethodInfo
ResolveElementFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveElementFactoryMethod "getNumPadTemplates" o = ElementFactoryGetNumPadTemplatesMethodInfo
ResolveElementFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveElementFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveElementFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo
ResolveElementFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo
ResolveElementFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveElementFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveElementFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo
ResolveElementFactoryMethod "getStaticPadTemplates" o = ElementFactoryGetStaticPadTemplatesMethodInfo
ResolveElementFactoryMethod "getUriProtocols" o = ElementFactoryGetUriProtocolsMethodInfo
ResolveElementFactoryMethod "getUriType" o = ElementFactoryGetUriTypeMethodInfo
ResolveElementFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveElementFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveElementFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveElementFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveElementFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveElementFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveElementFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveElementFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveElementFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo
ResolveElementFactoryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveElementFactoryMethod t ElementFactory, O.MethodInfo info ElementFactory p) => O.IsLabelProxy t (ElementFactory -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveElementFactoryMethod t ElementFactory, O.MethodInfo info ElementFactory p) => O.IsLabel t (ElementFactory -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList ElementFactory
type instance O.AttributeList ElementFactory = ElementFactoryAttributeList
type ElementFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList ElementFactory = ElementFactorySignalList
type ElementFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_element_factory_can_sink_all_caps" gst_element_factory_can_sink_all_caps ::
Ptr ElementFactory ->
Ptr Gst.Caps.Caps ->
IO CInt
elementFactoryCanSinkAllCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Gst.Caps.Caps
-> m Bool
elementFactoryCanSinkAllCaps factory caps = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
caps' <- unsafeManagedPtrGetPtr caps
result <- gst_element_factory_can_sink_all_caps factory' caps'
let result' = (/= 0) result
touchManagedPtr factory
touchManagedPtr caps
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryCanSinkAllCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSinkAllCapsMethodInfo a signature where
overloadedMethod _ = elementFactoryCanSinkAllCaps
#endif
foreign import ccall "gst_element_factory_can_sink_any_caps" gst_element_factory_can_sink_any_caps ::
Ptr ElementFactory ->
Ptr Gst.Caps.Caps ->
IO CInt
elementFactoryCanSinkAnyCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Gst.Caps.Caps
-> m Bool
elementFactoryCanSinkAnyCaps factory caps = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
caps' <- unsafeManagedPtrGetPtr caps
result <- gst_element_factory_can_sink_any_caps factory' caps'
let result' = (/= 0) result
touchManagedPtr factory
touchManagedPtr caps
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryCanSinkAnyCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSinkAnyCapsMethodInfo a signature where
overloadedMethod _ = elementFactoryCanSinkAnyCaps
#endif
foreign import ccall "gst_element_factory_can_src_all_caps" gst_element_factory_can_src_all_caps ::
Ptr ElementFactory ->
Ptr Gst.Caps.Caps ->
IO CInt
elementFactoryCanSrcAllCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Gst.Caps.Caps
-> m Bool
elementFactoryCanSrcAllCaps factory caps = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
caps' <- unsafeManagedPtrGetPtr caps
result <- gst_element_factory_can_src_all_caps factory' caps'
let result' = (/= 0) result
touchManagedPtr factory
touchManagedPtr caps
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryCanSrcAllCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSrcAllCapsMethodInfo a signature where
overloadedMethod _ = elementFactoryCanSrcAllCaps
#endif
foreign import ccall "gst_element_factory_can_src_any_caps" gst_element_factory_can_src_any_caps ::
Ptr ElementFactory ->
Ptr Gst.Caps.Caps ->
IO CInt
elementFactoryCanSrcAnyCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Gst.Caps.Caps
-> m Bool
elementFactoryCanSrcAnyCaps factory caps = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
caps' <- unsafeManagedPtrGetPtr caps
result <- gst_element_factory_can_src_any_caps factory' caps'
let result' = (/= 0) result
touchManagedPtr factory
touchManagedPtr caps
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryCanSrcAnyCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSrcAnyCapsMethodInfo a signature where
overloadedMethod _ = elementFactoryCanSrcAnyCaps
#endif
foreign import ccall "gst_element_factory_create" gst_element_factory_create ::
Ptr ElementFactory ->
CString ->
IO (Ptr Gst.Element.Element)
elementFactoryCreate ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Maybe (T.Text)
-> m (Maybe Gst.Element.Element)
elementFactoryCreate factory name = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
result <- gst_element_factory_create factory' maybeName
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Gst.Element.Element) result'
return result''
touchManagedPtr factory
freeMem maybeName
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryCreateMethodInfo
instance (signature ~ (Maybe (T.Text) -> m (Maybe Gst.Element.Element)), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCreateMethodInfo a signature where
overloadedMethod _ = elementFactoryCreate
#endif
foreign import ccall "gst_element_factory_get_element_type" gst_element_factory_get_element_type ::
Ptr ElementFactory ->
IO CGType
elementFactoryGetElementType ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m GType
elementFactoryGetElementType factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_element_type factory'
let result' = GType result
touchManagedPtr factory
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetElementTypeMethodInfo
instance (signature ~ (m GType), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetElementTypeMethodInfo a signature where
overloadedMethod _ = elementFactoryGetElementType
#endif
foreign import ccall "gst_element_factory_get_metadata" gst_element_factory_get_metadata ::
Ptr ElementFactory ->
CString ->
IO CString
elementFactoryGetMetadata ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> T.Text
-> m (Maybe T.Text)
elementFactoryGetMetadata factory key = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
key' <- textToCString key
result <- gst_element_factory_get_metadata factory' key'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr factory
freeMem key'
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetMetadataMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetMetadataMethodInfo a signature where
overloadedMethod _ = elementFactoryGetMetadata
#endif
foreign import ccall "gst_element_factory_get_metadata_keys" gst_element_factory_get_metadata_keys ::
Ptr ElementFactory ->
IO (Ptr CString)
elementFactoryGetMetadataKeys ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m (Maybe [T.Text])
elementFactoryGetMetadataKeys factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_metadata_keys factory'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- unpackZeroTerminatedUTF8CArray result'
mapZeroTerminatedCArray freeMem result'
freeMem result'
return result''
touchManagedPtr factory
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetMetadataKeysMethodInfo
instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetMetadataKeysMethodInfo a signature where
overloadedMethod _ = elementFactoryGetMetadataKeys
#endif
foreign import ccall "gst_element_factory_get_num_pad_templates" gst_element_factory_get_num_pad_templates ::
Ptr ElementFactory ->
IO Word32
elementFactoryGetNumPadTemplates ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m Word32
elementFactoryGetNumPadTemplates factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_num_pad_templates factory'
touchManagedPtr factory
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetNumPadTemplatesMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetNumPadTemplatesMethodInfo a signature where
overloadedMethod _ = elementFactoryGetNumPadTemplates
#endif
foreign import ccall "gst_element_factory_get_static_pad_templates" gst_element_factory_get_static_pad_templates ::
Ptr ElementFactory ->
IO (Ptr (GList (Ptr Gst.StaticPadTemplate.StaticPadTemplate)))
elementFactoryGetStaticPadTemplates ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m [Gst.StaticPadTemplate.StaticPadTemplate]
elementFactoryGetStaticPadTemplates factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_static_pad_templates factory'
result' <- unpackGList result
result'' <- mapM (newPtr Gst.StaticPadTemplate.StaticPadTemplate) result'
touchManagedPtr factory
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetStaticPadTemplatesMethodInfo
instance (signature ~ (m [Gst.StaticPadTemplate.StaticPadTemplate]), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetStaticPadTemplatesMethodInfo a signature where
overloadedMethod _ = elementFactoryGetStaticPadTemplates
#endif
foreign import ccall "gst_element_factory_get_uri_protocols" gst_element_factory_get_uri_protocols ::
Ptr ElementFactory ->
IO (Ptr CString)
elementFactoryGetUriProtocols ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m [T.Text]
elementFactoryGetUriProtocols factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_uri_protocols factory'
checkUnexpectedReturnNULL "elementFactoryGetUriProtocols" result
result' <- unpackZeroTerminatedUTF8CArray result
touchManagedPtr factory
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetUriProtocolsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetUriProtocolsMethodInfo a signature where
overloadedMethod _ = elementFactoryGetUriProtocols
#endif
foreign import ccall "gst_element_factory_get_uri_type" gst_element_factory_get_uri_type ::
Ptr ElementFactory ->
IO CUInt
elementFactoryGetUriType ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> m Gst.Enums.URIType
elementFactoryGetUriType factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_get_uri_type factory'
let result' = (toEnum . fromIntegral) result
touchManagedPtr factory
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryGetUriTypeMethodInfo
instance (signature ~ (m Gst.Enums.URIType), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetUriTypeMethodInfo a signature where
overloadedMethod _ = elementFactoryGetUriType
#endif
foreign import ccall "gst_element_factory_has_interface" gst_element_factory_has_interface ::
Ptr ElementFactory ->
CString ->
IO CInt
elementFactoryHasInterface ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> T.Text
-> m Bool
elementFactoryHasInterface factory interfacename = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
interfacename' <- textToCString interfacename
result <- gst_element_factory_has_interface factory' interfacename'
let result' = (/= 0) result
touchManagedPtr factory
freeMem interfacename'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryHasInterfaceMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryHasInterfaceMethodInfo a signature where
overloadedMethod _ = elementFactoryHasInterface
#endif
foreign import ccall "gst_element_factory_list_is_type" gst_element_factory_list_is_type ::
Ptr ElementFactory ->
Word64 ->
IO CInt
elementFactoryListIsType ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
a
-> Word64
-> m Bool
elementFactoryListIsType factory type_ = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_element_factory_list_is_type factory' type_
let result' = (/= 0) result
touchManagedPtr factory
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ElementFactoryListIsTypeMethodInfo
instance (signature ~ (Word64 -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryListIsTypeMethodInfo a signature where
overloadedMethod _ = elementFactoryListIsType
#endif
foreign import ccall "gst_element_factory_find" gst_element_factory_find ::
CString ->
IO (Ptr ElementFactory)
elementFactoryFind ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe ElementFactory)
elementFactoryFind name = liftIO $ do
name' <- textToCString name
result <- gst_element_factory_find name'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject ElementFactory) result'
return result''
freeMem name'
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gst_element_factory_list_filter" gst_element_factory_list_filter ::
Ptr (GList (Ptr ElementFactory)) ->
Ptr Gst.Caps.Caps ->
CUInt ->
CInt ->
IO (Ptr (GList (Ptr ElementFactory)))
elementFactoryListFilter ::
(B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>
[a]
-> Gst.Caps.Caps
-> Gst.Enums.PadDirection
-> Bool
-> m [ElementFactory]
elementFactoryListFilter list caps direction subsetonly = liftIO $ do
list' <- mapM unsafeManagedPtrCastPtr list
list'' <- packGList list'
caps' <- unsafeManagedPtrGetPtr caps
let direction' = (fromIntegral . fromEnum) direction
let subsetonly' = (fromIntegral . fromEnum) subsetonly
result <- gst_element_factory_list_filter list'' caps' direction' subsetonly'
result' <- unpackGList result
result'' <- mapM (wrapObject ElementFactory) result'
g_list_free result
mapM_ touchManagedPtr list
touchManagedPtr caps
g_list_free list''
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gst_element_factory_list_get_elements" gst_element_factory_list_get_elements ::
Word64 ->
CUInt ->
IO (Ptr (GList (Ptr ElementFactory)))
elementFactoryListGetElements ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word64
-> Gst.Enums.Rank
-> m [ElementFactory]
elementFactoryListGetElements type_ minrank = liftIO $ do
let minrank' = (fromIntegral . fromEnum) minrank
result <- gst_element_factory_list_get_elements type_ minrank'
result' <- unpackGList result
result'' <- mapM (wrapObject ElementFactory) result'
g_list_free result
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gst_element_factory_make" gst_element_factory_make ::
CString ->
CString ->
IO (Ptr Gst.Element.Element)
elementFactoryMake ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> m (Maybe Gst.Element.Element)
elementFactoryMake factoryname name = liftIO $ do
factoryname' <- textToCString factoryname
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
result <- gst_element_factory_make factoryname' maybeName
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newObject Gst.Element.Element) result'
return result''
freeMem factoryname'
freeMem maybeName
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif