Struct gstreamer::ElementFactory [−][src]
pub struct ElementFactory(_);
crate::ElementFactory
is used to create instances of elements. A
GstElementFactory can be added to a crate::Plugin
as it is also a
crate::PluginFeature
.
Use the Self::find()
and Self::create()
functions to create element instances or use Self::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
crate::prelude::PluginFeatureExt
, crate::prelude::GstObjectExt
, glib::object::ObjectExt
, crate::prelude::PluginFeatureExtManual
Implementations
impl ElementFactory
[src]
impl ElementFactory
[src]pub fn can_sink_all_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_sink_all_caps(&self, caps: &Caps) -> bool
[src]pub fn can_sink_any_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_sink_any_caps(&self, caps: &Caps) -> bool
[src]pub fn can_src_all_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_src_all_caps(&self, caps: &Caps) -> bool
[src]pub fn can_src_any_caps(&self, caps: &Caps) -> bool
[src]
pub fn can_src_any_caps(&self, caps: &Caps) -> bool
[src]pub fn create(&self, name: Option<&str>) -> Result<Element, BoolError>
[src]
pub fn create(&self, name: Option<&str>) -> Result<Element, BoolError>
[src]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 crate::Element
or None
if the element couldn’t be created
pub fn element_type(&self) -> Type
[src]
pub fn element_type(&self) -> Type
[src]Get the crate::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 [crate::PluginFeature::load()
].
Returns
the crate::glib::Type
for elements managed by this factory or 0 if
the factory is not loaded.
pub fn metadata_keys(&self) -> Vec<GString>
[src]
pub fn metadata_keys(&self) -> Vec<GString>
[src]pub fn num_pad_templates(&self) -> u32
[src]
pub fn num_pad_templates(&self) -> u32
[src]pub fn static_pad_templates(&self) -> Vec<StaticPadTemplate>
[src]
pub fn static_pad_templates(&self) -> Vec<StaticPadTemplate>
[src]Gets the [crate::glib::List
] of crate::StaticPadTemplate
for this factory.
Returns
the static pad templates
pub fn uri_protocols(&self) -> Vec<GString>
[src]
pub fn uri_protocols(&self) -> Vec<GString>
[src]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 uri_type(&self) -> URIType
[src]
pub fn uri_type(&self) -> URIType
[src]Gets the type of URIs the element supports or crate::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
[src]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
[src]Check if self
is of the given types.
type_
a crate::ElementFactoryListType
Returns
true
if self
is of type_
.
pub fn find(name: &str) -> Option<ElementFactory>
[src]
pub fn find(name: &str) -> Option<ElementFactory>
[src]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
crate::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>
[src]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 [crate::glib::List
] of
crate::ElementFactory
to filter
caps
direction
a crate::PadDirection
to filter on
subsetonly
whether to filter on caps subsets or not.
Returns
a [crate::glib::List
] of
crate::ElementFactory
elements that match the given requisites.
Use [crate::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>
[src]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 crate::ElementFactoryListType
minrank
Minimum rank
Returns
a [crate::glib::List
] of
crate::ElementFactory
elements. Use [crate::PluginFeature::list_free()
] after
usage.
pub fn make(factoryname: &str, name: Option<&str>) -> Result<Element, BoolError>
[src]
pub fn make(factoryname: &str, name: Option<&str>) -> Result<Element, BoolError>
[src]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 crate::Element
or None
if unable to create element
Trait Implementations
impl Clone for ElementFactory
[src]
impl Clone for ElementFactory
[src]fn clone(&self) -> ElementFactory
[src]
fn clone(&self) -> ElementFactory
[src]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)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for ElementFactory
[src]
impl Debug for ElementFactory
[src]impl Hash for ElementFactory
[src]
impl Hash for ElementFactory
[src]impl Ord for ElementFactory
[src]
impl Ord for ElementFactory
[src]impl ParentClassIs for ElementFactory
[src]
impl ParentClassIs for ElementFactory
[src]type Parent = PluginFeature
impl<T: ObjectType> PartialEq<T> for ElementFactory
[src]
impl<T: ObjectType> PartialEq<T> for ElementFactory
[src]impl<T: ObjectType> PartialOrd<T> for ElementFactory
[src]
impl<T: ObjectType> PartialOrd<T> for ElementFactory
[src]fn partial_cmp(&self, other: &T) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &T) -> Option<Ordering>
[src]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
1.0.0[src]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
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl StaticType for ElementFactory
[src]
impl StaticType for ElementFactory
[src]fn static_type() -> Type
[src]
fn static_type() -> Type
[src]Returns the type identifier of Self
.
impl Eq for ElementFactory
[src]
impl IsA<Object> for ElementFactory
[src]
impl IsA<PluginFeature> for ElementFactory
[src]
impl Send for ElementFactory
[src]
impl StructuralEq for ElementFactory
[src]
impl Sync for ElementFactory
[src]
Auto Trait Implementations
impl RefUnwindSafe for ElementFactory
impl Unpin for ElementFactory
impl UnwindSafe for ElementFactory
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Cast for T where
T: ObjectType,
[src]
impl<T> Cast for T where
T: ObjectType,
[src]fn upcast<T>(self) -> T where
Self: IsA<T>,
T: ObjectType,
[src]
fn upcast<T>(self) -> T where
Self: IsA<T>,
T: ObjectType,
[src]Upcasts an object to a superclass or interface T
. Read more
fn upcast_ref<T>(&self) -> &T where
Self: IsA<T>,
T: ObjectType,
[src]
fn upcast_ref<T>(&self) -> &T where
Self: IsA<T>,
T: ObjectType,
[src]Upcasts an object to a reference of its superclass or interface T
. Read more
fn downcast<T>(self) -> Result<T, Self> where
Self: CanDowncast<T>,
T: ObjectType,
[src]
fn downcast<T>(self) -> Result<T, Self> where
Self: CanDowncast<T>,
T: ObjectType,
[src]Tries to downcast to a subclass or interface implementor T
. Read more
fn downcast_ref<T>(&self) -> Option<&T> where
Self: CanDowncast<T>,
T: ObjectType,
[src]
fn downcast_ref<T>(&self) -> Option<&T> where
Self: CanDowncast<T>,
T: ObjectType,
[src]Tries to downcast to a reference of its subclass or interface implementor T
. Read more
fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
[src]
fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
[src]Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
[src]
fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
[src]Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
[src]
unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
[src]Casts to T
unconditionally. Read more
unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
[src]
unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
[src]Casts to &T
unconditionally. Read more
impl<T> ObjectExt for T where
T: ObjectType,
[src]
impl<T> ObjectExt for T where
T: ObjectType,
[src]pub fn is<U>(&self) -> bool where
U: StaticType,
[src]
pub fn is<U>(&self) -> bool where
U: StaticType,
[src]Returns true
if the object is an instance of (can be cast to) T
.
pub fn type_(&self) -> Type
[src]
pub fn object_class(&self) -> &Class<Object>
[src]
pub fn class(&self) -> &Class<T> where
T: IsClass,
[src]
T: IsClass,
pub fn class_of<U>(&self) -> Option<&Class<U>> where
U: IsClass,
[src]
U: IsClass,
pub fn interface<U>(&self) -> Option<InterfaceRef<'_, U>> where
U: IsInterface,
[src]
U: IsInterface,
pub fn set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
[src]
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
[src]
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
[src]
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
[src]
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
pub fn property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
pub unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>> where
QD: 'static,
[src]
pub unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>> where
QD: 'static,
[src]Safety Read more
pub unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD> where
QD: 'static,
[src]
pub unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD> where
QD: 'static,
[src]Safety Read more
pub unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>> where
QD: 'static,
[src]
pub unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>> where
QD: 'static,
[src]Safety Read more
pub unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD> where
QD: 'static,
[src]
pub unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD> where
QD: 'static,
[src]Safety Read more
pub fn block_signal(&self, handler_id: &SignalHandlerId)
[src]
pub fn unblock_signal(&self, handler_id: &SignalHandlerId)
[src]
pub fn stop_signal_emission(&self, signal_name: &str)
[src]
pub fn disconnect(&self, handler_id: SignalHandlerId)
[src]
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
[src]
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
[src]
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
[src]
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn notify<'a, N>(&self, property_name: N) where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
pub fn notify_by_pspec(&self, pspec: &ParamSpec)
[src]
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
pub fn property_type<'a, N>(&self, property_name: N) -> Option<Type> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
[src]
N: Into<&'a str>,
pub fn list_properties(&self) -> Vec<ParamSpec, Global>
[src]
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
pub fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
[src]
pub fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
[src]Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
pub fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
[src]
pub fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + 'static,
[src]Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
[src]
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
pub unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
[src]
pub unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value>,
[src]Same as connect_unsafe
but takes a SignalId
instead of a signal name.
pub fn emit(
&self,
signal_id: SignalId,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError>
[src]
pub fn emit(
&self,
signal_id: SignalId,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError>
[src]Emit signal by signal id.
pub fn emit_with_details(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError>
[src]
pub fn emit_with_details(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError>
[src]Emit signal with details by signal id.
pub fn emit_by_name<'a, N>(
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
[src]
pub fn emit_by_name<'a, N>(
&self,
signal_name: N,
args: &[&dyn ToValue]
) -> Result<Option<Value>, BoolError> where
N: Into<&'a str>,
[src]Emit signal by it’s name.
pub fn downgrade(&self) -> WeakRef<T>
[src]
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
[src]
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
pub fn ref_count(&self) -> u32
[src]
pub fn emit_with_values(
&self,
signal_id: SignalId,
args: &[Value]
) -> Result<Option<Value>, BoolError>
[src]
pub fn emit_with_values(
&self,
signal_id: SignalId,
args: &[Value]
) -> Result<Option<Value>, BoolError>
[src]Same as emit
but takes Value
for the arguments.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
[src]pub fn to_send_value(&self) -> SendValue
[src]
pub fn to_send_value(&self) -> SendValue
[src]Returns a SendValue
clone of self
.
impl<Super, Sub> CanDowncast<Sub> for Super where
Sub: IsA<Super>,
Super: IsA<Super>,
[src]
Sub: IsA<Super>,
Super: IsA<Super>,
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,
[src]
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,