Struct gstreamer::PadTemplate [−]
pub struct PadTemplate(_, _);
Padtemplates describe the possible media types a pad or an elementfactory can handle. This allows for both inspection of handled types before loading the element plugin as well as identifying pads on elements that are not yet created (request or sometimes pads).
Pad and PadTemplates have Caps
attached to it to describe the media type
they are capable of dealing with. PadTemplate::get_caps
or
GST_PAD_TEMPLATE_CAPS() are used to get the caps of a padtemplate. It's not
possible to modify the caps of a padtemplate after creation.
PadTemplates have a PadPresence
property which identifies the lifetime
of the pad and that can be retrieved with GST_PAD_TEMPLATE_PRESENCE(). Also
the direction of the pad can be retrieved from the PadTemplate
with
GST_PAD_TEMPLATE_DIRECTION().
The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads
because it has to be used as the name in the ElementExt::get_request_pad
call to instantiate a pad from this template.
Padtemplates can be created with PadTemplate::new
or with
gst_static_pad_template_get (), which creates a PadTemplate
from a
StaticPadTemplate
that can be filled with the
convenient GST_STATIC_PAD_TEMPLATE() macro.
A padtemplate can be used to create a pad (see Pad::new_from_template
or gst_pad_new_from_static_template ()) or to add to an element class
(see gst_element_class_add_static_pad_template ()).
The following code example shows the code to create a pad from a padtemplate.
GstStaticPadTemplate my_template =
GST_STATIC_PAD_TEMPLATE (
"sink", // the name of the pad
GST_PAD_SINK, // the direction of the pad
GST_PAD_ALWAYS, // when this pad will be present
GST_STATIC_CAPS ( // the capabilities of the padtemplate
"audio/x-raw, "
"channels = (int) [ 1, 6 ]"
)
);
void
my_method (void)
{
GstPad *pad;
pad = gst_pad_new_from_static_template (&my_template, "sink");
...
}
The following example shows you how to add the padtemplate to an element class, this is usually done in the class_init of the class:
static void
my_element_class_init (GstMyElementClass *klass)
{
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_static_pad_template (gstelement_class, &my_template);
}
Implements
Methods
impl PadTemplate
[src]
impl PadTemplate
pub fn new(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps
) -> PadTemplate
[src]
pub fn new(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps
) -> PadTemplate
Creates a new pad template with a name according to the given template and with the given arguments.
name_template
the name template.
direction
the PadDirection
of the template.
presence
the PadPresence
of the pad.
caps
a Caps
set for the template.
Returns
a new PadTemplate
.
pub fn new_with_gtype(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps,
pad_type: Type
) -> PadTemplate
[src]
pub fn new_with_gtype(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps,
pad_type: Type
) -> PadTemplate
Creates a new pad template with a name according to the given template and with the given arguments.
Feature: v1_14
name_template
the name template.
direction
the PadDirection
of the template.
presence
the PadPresence
of the pad.
caps
a Caps
set for the template.
pad_type
The glib::Type
of the pad to create
Returns
a new PadTemplate
.
pub fn get_caps(&self) -> Option<Caps>
[src]
pub fn get_caps(&self) -> Option<Caps>
pub fn pad_created<P: IsA<Pad>>(&self, pad: &P)
[src]
pub fn pad_created<P: IsA<Pad>>(&self, pad: &P)
pub fn get_property_direction(&self) -> PadDirection
[src]
pub fn get_property_direction(&self) -> PadDirection
pub fn get_property_gtype(&self) -> Type
[src]
pub fn get_property_gtype(&self) -> Type
pub fn get_property_name_template(&self) -> Option<String>
[src]
pub fn get_property_name_template(&self) -> Option<String>
pub fn get_property_presence(&self) -> PadPresence
[src]
pub fn get_property_presence(&self) -> PadPresence
pub fn connect_pad_created<F: Fn(&PadTemplate, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_pad_created<F: Fn(&PadTemplate, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_property_caps_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_property_caps_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_property_direction_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_property_direction_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_property_gtype_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_property_gtype_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_property_name_template_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_property_name_template_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_property_presence_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
pub fn connect_property_presence_notify<F: Fn(&PadTemplate) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId
impl PadTemplate
[src]
impl PadTemplate
pub fn new_from_static_pad_template_with_gtype(
pad_template: &StaticPadTemplate,
pad_type: Type
) -> PadTemplate
[src]
pub fn new_from_static_pad_template_with_gtype(
pad_template: &StaticPadTemplate,
pad_type: Type
) -> PadTemplate
Converts a StaticPadTemplate
into a PadTemplate
with a type.
Feature: v1_14
pad_template
the static pad template
pad_type
The glib::Type
of the pad to create
Returns
a new PadTemplate
.
Trait Implementations
impl Clone for PadTemplate
impl Clone for PadTemplate
fn clone(&self) -> PadTemplate
fn clone(&self) -> PadTemplate
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 PadTemplate
impl Hash for PadTemplate
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 PadTemplate
impl Ord for PadTemplate
fn cmp(&self, other: &PadTemplate) -> Ordering
fn cmp(&self, other: &PadTemplate) -> 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 PadTemplate
impl StaticType for PadTemplate
fn static_type() -> Type
fn static_type() -> Type
Returns the type identifier of Self
.
impl<T: IsA<Object>> PartialEq<T> for PadTemplate
impl<T: IsA<Object>> PartialEq<T> for PadTemplate
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 PadTemplate
impl Eq for PadTemplate
impl<T: IsA<Object>> PartialOrd<T> for PadTemplate
impl<T: IsA<Object>> PartialOrd<T> for PadTemplate
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 PadTemplate
impl Debug for PadTemplate
impl IsA<Object> for PadTemplate
impl IsA<Object> for PadTemplate
impl IsA<Object> for PadTemplate
impl IsA<Object> for PadTemplate
impl Send for PadTemplate
[src]
impl Send for PadTemplate
impl Sync for PadTemplate
[src]
impl Sync for PadTemplate