Struct gstreamer::PadTemplate [−][src]
pub struct PadTemplate(_);
Expand description
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. 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::request_pad_simple()
call to instantiate a pad from this template.
Padtemplates can be created with 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::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
Implementations
pub fn new(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps
) -> Result<PadTemplate, BoolError>[src]
pub fn new(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps
) -> Result<PadTemplate, BoolError>[src]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 with_gtype(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps,
pad_type: Type
) -> Result<PadTemplate, BoolError>[src]This is supported on crate feature v1_14 only.
pub fn with_gtype(
name_template: &str,
direction: PadDirection,
presence: PadPresence,
caps: &Caps,
pad_type: Type
) -> Result<PadTemplate, BoolError>[src]v1_14 only.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.
pad_type
The GType of the pad to create
Returns
a new PadTemplate.
This is supported on crate feature v1_18 only.
v1_18 only.This is supported on crate feature v1_18 only.
v1_18 only.Certain elements will dynamically construct the caps of their pad templates. In order not to let environment-specific information into the documentation, element authors should use this method to expose “stable” caps to the reader.
caps
the documented capabilities
The direction of the pad described by the pad template.
This is supported on crate feature v1_14 only.
v1_14 only.The type of the pad described by the pad template.
The name template of the pad template.
When the pad described by the pad template will become available.
pub fn connect_pad_created<F: Fn(&Self, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
pub fn connect_pad_created<F: Fn(&Self, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId[src]This signal is fired when an element creates a pad from this template.
pad
the pad that was created.
pub fn from_static_pad_template_with_gtype(
pad_template: &StaticPadTemplate,
pad_type: Type
) -> Result<PadTemplate, BoolError>[src]This is supported on crate feature v1_14 only.
pub fn from_static_pad_template_with_gtype(
pad_template: &StaticPadTemplate,
pad_type: Type
) -> Result<PadTemplate, BoolError>[src]v1_14 only.Converts a StaticPadTemplate into a PadTemplate with a type.
pad_template
the static pad template
pad_type
The GType of the pad to create
Returns
a new PadTemplate.
Trait Implementations
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Returns the type identifier of Self.
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T. Read more
Upcasts an object to a reference of its superclass or interface T. Read more
Tries to downcast to a subclass or interface implementor T. Read more
Tries to downcast to a reference of its subclass or interface implementor T. Read more
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
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
Casts to T unconditionally. Read more
Casts to &T unconditionally. Read more
Returns true if the object is an instance of (can be cast to) T.
pub fn set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>[src]pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>[src]pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>, [src]pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>, [src]pub fn property<'a, N>(&self, property_name: N) -> Result<Value, BoolError> where
N: Into<&'a str>, [src]Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync, [src]pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec), [src]pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec), [src]pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>, [src]pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>, [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]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]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]Same as connect_unsafe but takes a SignalId instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
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]Same as emit but takes Value for the arguments.
Same as emit_by_name but takes Value for the arguments.
Returns a SendValue clone of self.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>, [src]