gstreamer-0.12.1.2: Binding to the GStreamer open source multimedia framework.

Portability | portable (depends on GHC)
Stability | alpha
Maintainer | gtk2hs-devel@lists.sourceforge.net
Safe Haskell | None

Media.Streaming.GStreamer.Core.ElementFactory

Contents

- Detail
- Types
- ElementFactory Operations

Description

A factory for creating `Element`s.

Synopsis

- data ElementFactory
- class PluginFeatureClass o => ElementFactoryClass o
- castToElementFactory :: GObjectClass obj => obj -> ElementFactory
- gTypeElementFactory :: GType
- elementFactoryFind :: String -> IO (Maybe ElementFactory)
- elementFactoryGetElementType :: ElementFactoryClass elementFactory => elementFactory -> IO (Maybe GType)
- elementFactoryGetLongname :: ElementFactoryClass elementFactory => elementFactory -> IO String
- elementFactoryGetKlass :: ElementFactoryClass elementFactory => elementFactory -> IO String
- elementFactoryGetDescription :: ElementFactoryClass elementFactory => elementFactory -> IO String
- elementFactoryGetAuthor :: ElementFactoryClass elementFactory => elementFactory -> IO String
- elementFactoryGetNumPadTemplates :: ElementFactoryClass elementFactory => elementFactory -> IO Word
- elementFactoryGetURIType :: ElementFactoryClass elementFactory => elementFactory -> IO Int
- elementFactoryGetURIProtocols :: ElementFactoryClass elementFactory => elementFactory -> IO [String]
- elementFactoryHasInterface :: ElementFactoryClass elementFactory => elementFactory -> String -> IO Bool
- elementFactoryCreate :: ElementFactoryClass elementFactory => elementFactory -> String -> IO (Maybe Element)
- elementFactoryMake :: String -> Maybe String -> IO (Maybe Element)
- elementFactoryCanSinkCaps :: ElementFactoryClass elementFactory => elementFactory -> Caps -> IO Bool
- elementFactoryCanSrcCaps :: ElementFactoryClass elementFactory => elementFactory -> Caps -> IO Bool
- elementFactoryGetPadTemplates :: ElementFactoryClass elementFactory => elementFactory -> IO [PadTemplate]

# Detail

`ElementFactory` is used to create instances of `Element`s.

Use `elementFactoryFind` and `elementFactoryCreate` to create element instances, or use `elementFactoryMake` as a convenient shortcut.

# Types

data ElementFactory

Instances

Eq ElementFactory |
Ord ElementFactory |
GObjectClass ElementFactory |
ElementFactoryClass ElementFactory |
PluginFeatureClass ElementFactory |
ObjectClass ElementFactory |

class PluginFeatureClass o => ElementFactoryClass o

Instances

ElementFactoryClass ElementFactory |

castToElementFactory :: GObjectClass obj => obj -> ElementFactory

gTypeElementFactory :: GType

# ElementFactory Operations

elementFactoryFind

Arguments

:: String | `name` - the name of the desired factory
-> IO (Maybe ElementFactory) | the factory if found, otherwise `Nothing`

Search for an element factory with the given name.

elementFactoryGetElementType

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO (Maybe GType) | the type of elements managed by the factory, or `Nothing` if the factory is not loaded

Get the `GType` for elements managed by the given factory. The type can only be retrieved if the element factory is loaded, which can be assured with `pluginFeatureLoad`.

elementFactoryGetLongname

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO String | the factory's long name

Get the long name for the given factory.

elementFactoryGetKlass

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO String | the factory's class

Get the class for the given factory.

elementFactoryGetDescription

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO String | the factory's description

Get the description for the given factory.

elementFactoryGetAuthor

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO String | the factory's author

Get the author of the given factory.

elementFactoryGetNumPadTemplates

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO Word | the number of `PadTemplate`s

Get the number of `PadTemplate`s provided by the given factory.

elementFactoryGetURIType

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO Int | the type of URIs supported by the factory

Get the type of URIs supported by the given factory.

elementFactoryGetURIProtocols

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO [String] | the supported protocols

Get the list of protocols supported by the given factory.

elementFactoryHasInterface

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> String | `name` - the interface name
-> IO Bool | true if the interface is implemented

Check if the given factory implements the interface with the given name.

Since 0.10.14.

elementFactoryCreate

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> String | `name` - the new element's name
-> IO (Maybe Element) | the new element if it could be created, otherwise `Nothing`

Create a new element of the type supplied by the given factory. It will be given the name supplied.

elementFactoryMake

Arguments

:: String | `factoryName` - the name of an element factory
-> Maybe String | `name` - the new element's name, or `Nothing` generate a unique name
-> IO (Maybe Element) | the new element if it could be created, otherwise `Nothing`

Create a new element of the type supplied by the named factory.

elementFactoryCanSinkCaps

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> Caps | `caps` - the capabilities to check for
-> IO Bool | `True` if `factory` can sink the given capabilities

Check if the given factory can sink the given capabilities.

elementFactoryCanSrcCaps

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> Caps | `caps` - the capabilities to check for
-> IO Bool | `True` if `factory` can source the given capabilities

Check if the given factory can source the given capabilities.

elementFactoryGetPadTemplates

Arguments

:: ElementFactoryClass elementFactory |
=> elementFactory | `factory` - an element factory
-> IO [PadTemplate] | the provided pad templates

Get the pad templates provided by the given factory.