2002-01-15 00:41:22 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
GstObject
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
|
|
Basis for the GST object hierarchy.
|
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
|
|
|
GstObject provides a root for the object hierarchy tree filed in by the
|
|
|
|
GST library. It is currently a thin wrapper on top of
|
2002-07-12 23:21:20 +00:00
|
|
|
<classname>GObject</classname>. It is an abstract class that is not
|
2002-01-15 00:41:22 +00:00
|
|
|
very usable on its own.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
GstObject gives us basic refcounting, parenting functionality and locking.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
gst_object_set_name() and gst_object_get_name() are used to set/get the name of the
|
|
|
|
object.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### ENUM GstObjectFlags ##### -->
|
|
|
|
<para>
|
2002-12-14 13:02:16 +00:00
|
|
|
Flags for an object
|
2002-01-15 00:41:22 +00:00
|
|
|
</para>
|
|
|
|
|
2002-07-12 23:21:20 +00:00
|
|
|
@GST_DESTROYED: The object is flagged for destruction
|
|
|
|
@GST_FLOATING: The object is created but has no parent yet to manage it
|
|
|
|
@GST_OBJECT_FLAG_LAST: subclasses can add additional flags starting from this flag
|
2002-01-15 00:41:22 +00:00
|
|
|
|
|
|
|
<!-- ##### STRUCT GstObject ##### -->
|
|
|
|
<para>
|
2002-12-14 13:02:16 +00:00
|
|
|
The GstObject
|
2002-01-15 00:41:22 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_FLAGS ##### -->
|
|
|
|
<para>
|
|
|
|
This macro returns the entire set of flags for the object.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to return flags for.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_FLAG_IS_SET ##### -->
|
|
|
|
<para>
|
|
|
|
This macro checks to see if the given flag is set.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: GstSrc to check for flag in.
|
|
|
|
@flag: Flag to check for, must be a single bit in guint32.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_FLAG_SET ##### -->
|
|
|
|
<para>
|
|
|
|
This macro sets the given bits.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to set flag in.
|
|
|
|
@flag: Flag to set, can by any number of bits in guint32.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_FLAG_UNSET ##### -->
|
|
|
|
<para>
|
|
|
|
This macro usets the given bits.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to unset flag in.
|
|
|
|
@flag: Flag to set, must be a single bit in guint32.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_LOCK ##### -->
|
|
|
|
<para>
|
|
|
|
This macro will obtain a lock on the object, making serialization
|
|
|
|
possible.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to lock.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_TRYLOCK ##### -->
|
|
|
|
<para>
|
|
|
|
This macro will try to obtain a lock on the object, but will return with
|
|
|
|
FALSE if it can't get it immediately.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to try to get a lock on.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_UNLOCK ##### -->
|
|
|
|
<para>
|
|
|
|
This macro releases a lock on the object.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to unlock.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_GET_LOCK ##### -->
|
|
|
|
<para>
|
|
|
|
Acquire a reference to the mutex of this object.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to get the mutex of.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_OBJECT_PARENT ##### -->
|
|
|
|
<para>
|
|
|
|
Get the parent of this object
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to get the parent of.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_OBJECT_NAME ##### -->
|
|
|
|
<para>
|
|
|
|
Get the name of this object
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: Object to get the name of.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_OBJECT_FLOATING ##### -->
|
|
|
|
<para>
|
|
|
|
Check if the object is floating.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: The Object to check
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_OBJECT_DESTROYED ##### -->
|
|
|
|
<para>
|
|
|
|
Check if the object has been destroyed.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@obj: The Object to check
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_check_uniqueness ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@list:
|
|
|
|
@name:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_set_parent ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@parent:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_get_parent ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_set_name ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@name:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_get_name ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_unparent ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_ref ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object: the object
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_unref ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object: the object
|
|
|
|
|
|
|
|
|
2003-02-10 23:01:55 +00:00
|
|
|
<!-- ##### FUNCTION gst_object_replace ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@oldobj:
|
|
|
|
@newobj:
|
|
|
|
|
|
|
|
|
2002-01-15 00:41:22 +00:00
|
|
|
<!-- ##### FUNCTION gst_object_sink ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object: the object
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_save_thyself ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@parent:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_restore_thyself ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
2002-03-31 14:00:33 +00:00
|
|
|
@self:
|
2002-01-15 00:41:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_object_get_path_string ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
2002-12-14 13:02:16 +00:00
|
|
|
<!-- ##### FUNCTION gst_object_default_deep_notify ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@orig:
|
|
|
|
@pspec:
|
|
|
|
@excluded_props:
|
|
|
|
|
|
|
|
|
2002-01-15 00:41:22 +00:00
|
|
|
<!-- ##### FUNCTION gst_class_signal_emit_by_name ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@object:
|
|
|
|
@name:
|
|
|
|
@self:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_class_signal_connect ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@klass:
|
|
|
|
@name:
|
|
|
|
@func:
|
|
|
|
@func_data:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
2004-01-07 16:32:24 +00:00
|
|
|
<!-- ##### SIGNAL GstObject::deep-notify ##### -->
|
|
|
|
<para>
|
|
|
|
The deep notify signal is used to be notified of property changes.
|
|
|
|
it is typically attached to the toplevel bin to receive notifications
|
|
|
|
from all the elements contained in that bin.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstobject: the object which received the signal.
|
|
|
|
@arg1: the object that originated the signal
|
|
|
|
@arg2: the property that changed
|
|
|
|
|
|
|
|
<!-- ##### SIGNAL GstObject::object-saved ##### -->
|
|
|
|
<para>
|
|
|
|
Is trigered whenever a new object is saved to XML. You can connect to
|
|
|
|
this signal to insert custom XML tags into the core XML.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstobject: the object which received the signal.
|
|
|
|
@arg1: the xmlNodePtr of the parent node
|
|
|
|
|
|
|
|
<!-- ##### SIGNAL GstObject::parent-set ##### -->
|
|
|
|
<para>
|
|
|
|
Is emitted when the parent of an object is set.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstobject: the object which received the signal.
|
|
|
|
@arg1: the new parent
|
|
|
|
|
|
|
|
<!-- ##### SIGNAL GstObject::parent-unset ##### -->
|
|
|
|
<para>
|
|
|
|
Is emitted when the parent of an object is unset.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstobject: the object which received the signal.
|
|
|
|
@arg1: the old parent
|
|
|
|
|
|
|
|
<!-- ##### ARG GstObject:name ##### -->
|
|
|
|
<para>
|
|
|
|
The name of the object
|
|
|
|
</para>
|
|
|
|
|