[][src]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 Object::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[src]

impl Debug for Object[src]

impl Eq for Object[src]

impl Hash for Object[src]

impl IsA<Object> for Allocator[src]

impl IsA<Object> for Bin[src]

impl IsA<Object> for ElementFactory[src]

impl IsA<Object> for GhostPad[src]

impl IsA<Object> for Pad[src]

impl IsA<Object> for PadTemplate[src]

impl IsA<Object> for Pipeline[src]

impl IsA<Object> for Plugin[src]

impl IsA<Object> for PluginFeature[src]

impl IsA<Object> for ProxyPad[src]

impl IsA<Object> for Registry[src]

impl IsA<Object> for Stream[src]

impl IsA<Object> for BufferPool[src]

impl IsA<Object> for StreamCollection[src]

impl IsA<Object> for SystemClock[src]

impl IsA<Object> for TagSetter[src]

impl IsA<Object> for TocSetter[src]

impl IsA<Object> for TypeFindFactory[src]

impl IsA<Object> for Bus[src]

impl IsA<Object> for Clock[src]

impl IsA<Object> for Device[src]

impl IsA<Object> for DeviceMonitor[src]

impl IsA<Object> for DeviceProvider[src]

impl IsA<Object> for DeviceProviderFactory[src]

impl IsA<Object> for Element[src]

impl Ord for Object[src]

impl<T: ObjectType> PartialEq<T> for Object[src]

impl<T: ObjectType> PartialOrd<T> for Object[src]

impl Send for Object[src]

impl StaticType for Object[src]

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.