Struct gstreamer::ElementFactory [−]
pub struct ElementFactory(_, _);
ElementFactory
is used to create instances of elements. A
GstElementFactory can be added to a Plugin
as it is also a
PluginFeature
.
Use the ElementFactory::find
and ElementFactory::create
functions to create element instances or use ElementFactory::make
as a
convenient shortcut.
The following code example shows you how to create a GstFileSrc element.
Using an element factory
#include <gst/gst.h>
GstElement *src;
GstElementFactory *srcfactory;
gst_init (&argc, &argv);
srcfactory = gst_element_factory_find ("filesrc");
g_return_if_fail (srcfactory != NULL);
src = gst_element_factory_create (srcfactory, "src");
g_return_if_fail (src != NULL);
...
Implements
Methods
impl ElementFactory
[src]
impl ElementFactory
pub fn can_sink_all_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_sink_all_caps(&self, caps: &Caps) -> bool
Checks if the factory can sink all possible capabilities.
caps
the caps to check
Returns
true
if the caps are fully compatible.
pub fn can_sink_any_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_sink_any_caps(&self, caps: &Caps) -> bool
Checks if the factory can sink any possible capability.
caps
the caps to check
Returns
true
if the caps have a common subset.
pub fn can_src_all_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_src_all_caps(&self, caps: &Caps) -> bool
Checks if the factory can src all possible capabilities.
caps
the caps to check
Returns
true
if the caps are fully compatible.
pub fn can_src_any_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_src_any_caps(&self, caps: &Caps) -> bool
Checks if the factory can src any possible capability.
caps
the caps to check
Returns
true
if the caps have a common subset.
pub fn create<'a, P: Into<Option<&'a str>>>(&self, name: P) -> Option<Element>
[src]
pub fn create<'a, P: Into<Option<&'a str>>>(&self, name: P) -> Option<Element>
Create a new element of the type defined by the given elementfactory. It will be given the name supplied, since all elements require a name as their first argument.
name
name of new element, or None
to automatically create
a unique name
Returns
new Element
or None
if the element couldn't be created
pub fn get_element_type(&self) -> Type
[src]
pub fn get_element_type(&self) -> Type
Get the glib::Type
for elements managed by this factory. The type can
only be retrieved if the element factory is loaded, which can be
assured with PluginFeatureExt::load
.
Returns
the glib::Type
for elements managed by this factory or 0 if
the factory is not loaded.
pub fn get_metadata(&self, key: &str) -> Option<String>
[src]
pub fn get_metadata(&self, key: &str) -> Option<String>
Get the metadata on self
with key
.
key
a key
Returns
the metadata with key
on self
or None
when there was no metadata with the given key
.
pub fn get_metadata_keys(&self) -> Vec<String>
[src]
pub fn get_metadata_keys(&self) -> Vec<String>
Get the available keys for the metadata on self
.
Returns
a None
-terminated array of key strings, or None
when there is no
metadata. Free with g_strfreev
when no longer needed.
pub fn get_num_pad_templates(&self) -> u32
[src]
pub fn get_num_pad_templates(&self) -> u32
pub fn get_static_pad_templates(&self) -> Vec<StaticPadTemplate>
[src]
pub fn get_static_pad_templates(&self) -> Vec<StaticPadTemplate>
pub fn get_uri_protocols(&self) -> Vec<String>
[src]
pub fn get_uri_protocols(&self) -> Vec<String>
Gets a None
-terminated array of protocols this element supports or None
if
no protocols are supported. You may not change the contents of the returned
array, as it is still owned by the element factory. Use g_strdupv
to
make a copy of the protocol string array if you need to.
Returns
the supported protocols
or None
pub fn get_uri_type(&self) -> URIType
[src]
pub fn get_uri_type(&self) -> URIType
Gets the type of URIs the element supports or URIType::Unknown
if none.
Returns
type of URIs this element supports
pub fn has_interface(&self, interfacename: &str) -> bool
[src]
pub fn has_interface(&self, interfacename: &str) -> bool
Check if self
implements the interface with name interfacename
.
interfacename
an interface name
Returns
true
when self
implement the interface.
pub fn list_is_type(&self, type_: ElementFactoryListType) -> bool
[src]
pub fn list_is_type(&self, type_: ElementFactoryListType) -> bool
Check if self
is of the given types.
type_
a ElementFactoryListType
Returns
true
if self
is of type_
.
pub fn find(name: &str) -> Option<ElementFactory>
[src]
pub fn find(name: &str) -> Option<ElementFactory>
Search for an element factory of the given name. Refs the returned element factory; caller is responsible for unreffing.
name
name of factory to find
Returns
ElementFactory
if found,
None
otherwise
pub fn list_filter(
list: &[ElementFactory],
caps: &Caps,
direction: PadDirection,
subsetonly: bool
) -> Vec<ElementFactory>
[src]
pub fn list_filter(
list: &[ElementFactory],
caps: &Caps,
direction: PadDirection,
subsetonly: bool
) -> Vec<ElementFactory>
Filter out all the elementfactories in list
that can handle caps
in
the given direction.
If subsetonly
is true
, then only the elements whose pads templates
are a complete superset of caps
will be returned. Else any element
whose pad templates caps can intersect with caps
will be returned.
list
a glib::List
of
ElementFactory
to filter
caps
a Caps
direction
a PadDirection
to filter on
subsetonly
whether to filter on caps subsets or not.
Returns
a glib::List
of
ElementFactory
elements that match the given requisites.
Use PluginFeature::list_free
after usage.
pub fn list_get_elements(
type_: ElementFactoryListType,
minrank: Rank
) -> Vec<ElementFactory>
[src]
pub fn list_get_elements(
type_: ElementFactoryListType,
minrank: Rank
) -> Vec<ElementFactory>
Get a list of factories that match the given type_
. Only elements
with a rank greater or equal to minrank
will be returned.
The list of factories is returned by decreasing rank.
type_
a ElementFactoryListType
minrank
Minimum rank
Returns
a glib::List
of
ElementFactory
elements. Use PluginFeature::list_free
after
usage.
pub fn make<'a, P: Into<Option<&'a str>>>(
factoryname: &str,
name: P
) -> Option<Element>
[src]
pub fn make<'a, P: Into<Option<&'a str>>>(
factoryname: &str,
name: P
) -> Option<Element>
Create a new element of the type defined by the given element factory.
If name is None
, then the element will receive a guaranteed unique name,
consisting of the element factory name and a number.
If name is given, it will be given the name supplied.
factoryname
a named factory to instantiate
name
name of new element, or None
to automatically create
a unique name
Returns
new Element
or None
if unable to create element
Trait Implementations
impl Clone for ElementFactory
impl Clone for ElementFactory
fn clone(&self) -> ElementFactory
fn clone(&self) -> ElementFactory
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Hash for ElementFactory
impl Hash for ElementFactory
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Ord for ElementFactory
impl Ord for ElementFactory
fn cmp(&self, other: &ElementFactory) -> Ordering
fn cmp(&self, other: &ElementFactory) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl StaticType for ElementFactory
impl StaticType for ElementFactory
fn static_type() -> Type
fn static_type() -> Type
Returns the type identifier of Self
.
impl<T: IsA<Object>> PartialEq<T> for ElementFactory
impl<T: IsA<Object>> PartialEq<T> for ElementFactory
fn eq(&self, other: &T) -> bool
fn eq(&self, other: &T) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl Eq for ElementFactory
impl Eq for ElementFactory
impl<T: IsA<Object>> PartialOrd<T> for ElementFactory
impl<T: IsA<Object>> PartialOrd<T> for ElementFactory
fn partial_cmp(&self, other: &T) -> Option<Ordering>
fn partial_cmp(&self, other: &T) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn gt(&self, other: &Rhs) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Debug for ElementFactory
impl Debug for ElementFactory
impl IsA<PluginFeature> for ElementFactory
impl IsA<PluginFeature> for ElementFactory
impl IsA<Object> for ElementFactory
impl IsA<Object> for ElementFactory
impl IsA<Object> for ElementFactory
impl IsA<Object> for ElementFactory
impl Send for ElementFactory
[src]
impl Send for ElementFactory
impl Sync for ElementFactory
[src]
impl Sync for ElementFactory