[]Struct gstreamer::Object

pub struct Object(_, _);

Object provides a root for the object hierarchy tree filed in by the GStreamer library. It is currently a thin wrapper on top of gobject::InitiallyUnowned. It is an abstract class that is not very usable on its own.

Object gives us basic refcounting, parenting functionality and locking. Most of the functions are just extended for special GStreamer needs and can be found under the same name in the base class of Object which is gobject::Object (e.g. gobject::ObjectExt::ref becomes GstObjectExt::ref).

Since Object derives from gobject::InitiallyUnowned, it also inherits the floating reference. Be aware that functions such as GstBinExt::add and ElementExt::add_pad take ownership of the floating reference.

In contrast to gobject::Object instances, Object adds a name property. The functions GstObjectExt::set_name and GstObjectExt::get_name are used to set/get the name of the object.

controlled properties

Controlled properties offers a lightweight way to adjust gobject properties over stream-time. It works by using time-stamped value pairs that are queued for element-properties. At run-time the elements continuously pull value changes for the current stream-time.

What needs to be changed in a Element? Very little - it is just two steps to make a plugin controllable!

What needs to be done in applications? Again it's not a lot to change.

Implements

GstObjectExt, glib::object::ObjectExt

Methods

impl Object[src]

pub fn check_uniqueness(list: &[Object], name: &str) -> bool[src]

Checks to see if there is any object named name in list. This function does not do any locking of any kind. You might want to protect the provided list with the lock of the owner of the list. This function will lock each Object in the list to compare the name, so be careful when passing a list with a locked object.

list

a list of Object to check through

name

the name to search for

Returns

true if a Object named name does not appear in list, false if it does.

MT safe. Grabs and releases the LOCK of each object in the list.

Trait Implementations

impl Clone for Object

impl Debug for Object

impl Eq for Object

impl Hash for Object

impl IsA<Object> for Allocator

impl IsA<Object> for Bin

impl IsA<Object> for ElementFactory

impl IsA<Object> for GhostPad

impl IsA<Object> for Pad

impl IsA<Object> for PadTemplate

impl IsA<Object> for Pipeline

impl IsA<Object> for Plugin

impl IsA<Object> for PluginFeature

impl IsA<Object> for ProxyPad

impl IsA<Object> for Registry

impl IsA<Object> for Stream

impl IsA<Object> for BufferPool

impl IsA<Object> for StreamCollection

impl IsA<Object> for SystemClock

impl IsA<Object> for TagSetter

impl IsA<Object> for TocSetter

impl IsA<Object> for TypeFindFactory

impl IsA<Object> for Bus

impl IsA<Object> for Clock

impl IsA<Object> for Device

impl IsA<Object> for DeviceMonitor

impl IsA<Object> for DeviceProvider

impl IsA<Object> for DeviceProviderFactory

impl IsA<Object> for Element

impl Ord for Object

impl<T: ObjectType> PartialEq<T> for Object

impl<T: ObjectType> PartialOrd<T> for Object

impl Send for Object[src]

impl StaticType for Object

impl Sync for Object[src]

Auto Trait Implementations

impl RefUnwindSafe for Object

impl Unpin for Object

impl UnwindSafe for Object

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 
[src]

impl<T> Cast for T where
    T: ObjectType
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: ToValue + SetValue + Send + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.