Trait gstreamer::prelude::GstObjectExt

source ·
pub trait GstObjectExt: IsA<Object> + Sealed + 'static {
Show 21 methods // Provided methods fn add_control_binding( &self, binding: &impl IsA<ControlBinding>, ) -> Result<(), BoolError> { ... } fn default_error(&self, error: &Error, debug: Option<&str>) { ... } fn control_binding(&self, property_name: &str) -> Option<ControlBinding> { ... } fn control_rate(&self) -> Option<ClockTime> { ... } fn name(&self) -> GString { ... } fn parent(&self) -> Option<Object> { ... } fn path_string(&self) -> GString { ... } fn value( &self, property_name: &str, timestamp: impl Into<Option<ClockTime>>, ) -> Option<Value> { ... } fn has_active_control_bindings(&self) -> bool { ... } fn has_ancestor(&self, ancestor: &impl IsA<Object>) -> bool { ... } fn has_as_ancestor(&self, ancestor: &impl IsA<Object>) -> bool { ... } fn has_as_parent(&self, parent: &impl IsA<Object>) -> bool { ... } fn remove_control_binding(&self, binding: &impl IsA<ControlBinding>) -> bool { ... } fn set_control_binding_disabled(&self, property_name: &str, disabled: bool) { ... } fn set_control_bindings_disabled(&self, disabled: bool) { ... } fn set_control_rate(&self, control_rate: impl Into<Option<ClockTime>>) { ... } fn set_parent(&self, parent: &impl IsA<Object>) -> Result<(), BoolError> { ... } fn suggest_next_sync(&self) -> Option<ClockTime> { ... } fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError> { ... } fn unparent(&self) { ... } fn connect_parent_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId { ... }
}
Expand description

Provided Methods§

source

fn add_control_binding( &self, binding: &impl IsA<ControlBinding>, ) -> Result<(), BoolError>

Attach the ControlBinding to the object. If there already was a ControlBinding for this property it will be replaced.

The object’s reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink())

§binding

the ControlBinding that should be used

§Returns

false if the given binding has not been setup for this object or has been setup for a non suitable property, true otherwise.

source

fn default_error(&self, error: &Error, debug: Option<&str>)

A default error function that uses g_printerr() to display the error message and the optional debug string..

The default handler will simply print the error string using g_print.

§error

the GError.

§debug

an additional debug information string, or None

source

fn control_binding(&self, property_name: &str) -> Option<ControlBinding>

Gets the corresponding ControlBinding for the property. This should be unreferenced again after use.

§property_name

name of the property

§Returns

the ControlBinding for property_name or None if the property is not controlled.

source

fn control_rate(&self) -> Option<ClockTime>

Obtain the control-rate for this self. Audio processing Element objects will use this rate to sub-divide their processing loop and call sync_values() in between. The length of the processing segment should be up to control-rate nanoseconds.

If the self is not under property control, this will return GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing.

The control-rate is not expected to change if the element is in State::Paused or State::Playing.

§Returns

the control rate in nanoseconds

source

fn name(&self) -> GString

Returns a copy of the name of self. Caller should g_free() the return value after usage. For a nameless object, this returns None, which you can safely g_free() as well.

Free-function: g_free

§Returns

the name of self. g_free() after usage.

MT safe. This function grabs and releases self’s LOCK.

source

fn parent(&self) -> Option<Object>

Returns the parent of self. This function increases the refcount of the parent object so you should gst_object_unref() it after usage.

§Returns

parent of self, this can be None if self has no parent. unref after usage.

MT safe. Grabs and releases self’s LOCK.

source

fn path_string(&self) -> GString

Generates a string describing the path of self in the object hierarchy. Only useful (or used) for debugging.

Free-function: g_free

§Returns

a string describing the path of self. You must g_free() the string after usage.

MT safe. Grabs and releases the Object’s LOCK for all objects in the hierarchy.

source

fn value( &self, property_name: &str, timestamp: impl Into<Option<ClockTime>>, ) -> Option<Value>

Gets the value for the given controlled property at the requested time.

§property_name

the name of the property to get

§timestamp

the time the control-change should be read from

§Returns

the GValue of the property at the given time, or None if the property isn’t controlled.

source

fn has_active_control_bindings(&self) -> bool

Check if the self has active controlled properties.

§Returns

true if the object has active controlled properties

source

fn has_ancestor(&self, ancestor: &impl IsA<Object>) -> bool

Check if self has an ancestor ancestor somewhere up in the hierarchy. One can e.g. check if a Element is inside a Pipeline.

§Deprecated

Use has_as_ancestor() instead.

MT safe. Grabs and releases self’s locks.

§ancestor

a Object to check as ancestor

§Returns

true if ancestor is an ancestor of self.

source

fn has_as_ancestor(&self, ancestor: &impl IsA<Object>) -> bool

Check if self has an ancestor ancestor somewhere up in the hierarchy. One can e.g. check if a Element is inside a Pipeline.

§ancestor

a Object to check as ancestor

§Returns

true if ancestor is an ancestor of self.

MT safe. Grabs and releases self’s locks.

source

fn has_as_parent(&self, parent: &impl IsA<Object>) -> bool

Check if parent is the parent of self. E.g. a Element can check if it owns a given Pad.

§parent

a Object to check as parent

§Returns

false if either self or parent is None. true if parent is the parent of self. Otherwise false.

MT safe. Grabs and releases self’s locks.

source

fn remove_control_binding(&self, binding: &impl IsA<ControlBinding>) -> bool

Removes the corresponding ControlBinding. If it was the last ref of the binding, it will be disposed.

§binding

the binding

§Returns

true if the binding could be removed.

source

fn set_control_binding_disabled(&self, property_name: &str, disabled: bool)

This function is used to disable the control bindings on a property for some time, i.e. sync_values() will do nothing for the property.

§property_name

property to disable

§disabled

boolean that specifies whether to disable the controller or not.

source

fn set_control_bindings_disabled(&self, disabled: bool)

This function is used to disable all controlled properties of the self for some time, i.e. sync_values() will do nothing.

§disabled

boolean that specifies whether to disable the controller or not.

source

fn set_control_rate(&self, control_rate: impl Into<Option<ClockTime>>)

Change the control-rate for this self. Audio processing Element objects will use this rate to sub-divide their processing loop and call sync_values() in between. The length of the processing segment should be up to control-rate nanoseconds.

The control-rate should not change if the element is in State::Paused or State::Playing.

§control_rate

the new control-rate in nanoseconds.

source

fn set_parent(&self, parent: &impl IsA<Object>) -> Result<(), BoolError>

Sets the parent of self to parent. The object’s reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()).

§parent

new parent of object

§Returns

true if parent could be set or false when self already had a parent or self and parent are the same.

MT safe. Grabs and releases self’s LOCK.

source

fn suggest_next_sync(&self) -> Option<ClockTime>

Returns a suggestion for timestamps where buffers should be split to get best controller results.

§Returns

Returns the suggested timestamp or GST_CLOCK_TIME_NONE if no control-rate was set.

source

fn sync_values(&self, timestamp: ClockTime) -> Result<(), BoolError>

Sets the properties of the object, according to the GstControlSources that (maybe) handle them and for the given timestamp.

If this function fails, it is most likely the application developers fault. Most probably the control sources are not setup correctly.

§timestamp

the time that should be processed

§Returns

true if the controller values could be applied to the object properties, false otherwise

source

fn unparent(&self)

Clear the parent of self, removing the associated reference. This function decreases the refcount of self.

MT safe. Grabs and releases self’s lock.

source

fn connect_parent_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId

Object Safety§

This trait is not object safe.

Implementors§