GstMiniObject

GstMiniObject is a simple structure that can be used to implement refcounted types.

Subclasses will include GstMiniObject as the first member in their structure and then call gst_mini_object_init to initialize the GstMiniObject fields.

gst_mini_object_ref and gst_mini_object_unref increment and decrement the refcount respectively. When the refcount of a mini-object reaches 0, the dispose function is called first and when this returns TRUE, the free function of the miniobject is called.

A copy can be made with gst_mini_object_copy.

gst_mini_object_is_writable will return TRUE when the refcount of the object is exactly 1 and there is no parent or a single parent exists and is writable itself, meaning the current caller has the only reference to the object. gst_mini_object_make_writable will return a writable version of the object, which might be a new copy when the refcount was not 1.

Opaque data can be associated with a GstMiniObject with gst_mini_object_set_qdata and gst_mini_object_get_qdata. The data is meant to be specific to the particular object and is not automatically copied with gst_mini_object_copy or similar methods.

A weak reference can be added and remove with gst_mini_object_weak_ref and gst_mini_object_weak_unref respectively.

GstMiniObject

Base class for refcounted lightweight objects.

Members

type (GType) –

the GType of the object

refcount (gint) –

atomic refcount

lockstate (gint) –

atomic state of the locks

flags (guint) –

extra flags.


GstMiniObject

Base class for refcounted lightweight objects.

Members

type (GObject.Type) –

the GType of the object

refcount (Number) –

atomic refcount

lockstate (Number) –

atomic state of the locks

flags (Number) –

extra flags.


GstMiniObject

Base class for refcounted lightweight objects.

Members

type (GObject.Type) –

the GType of the object

refcount (int) –

atomic refcount

lockstate (int) –

atomic state of the locks

flags (int) –

extra flags.


Methods

gst_mini_object_add_parent

gst_mini_object_add_parent (GstMiniObject * object,
                            GstMiniObject * parent)

This adds parent as a parent for object. Having one ore more parents affects the writability of object: if a parent is not writable, object is also not writable, regardless of its refcount. object is only writable if all the parents are writable and its own refcount is exactly 1.

Note: This function does not take ownership of parent and also does not take an additional reference. It is the responsibility of the caller to remove the parent again at a later time.

Parameters:

object

a GstMiniObject

parent

a parent GstMiniObject

Since : 1.16


Gst.MiniObject.prototype.add_parent

function Gst.MiniObject.prototype.add_parent(parent: Gst.MiniObject): {
    // javascript wrapper for 'gst_mini_object_add_parent'
}

This adds parent as a parent for object. Having one ore more parents affects the writability of object: if a parent is not writable, object is also not writable, regardless of its refcount. object is only writable if all the parents are writable and its own refcount is exactly 1.

Note: This function does not take ownership of parent and also does not take an additional reference. It is the responsibility of the caller to remove the parent again at a later time.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

parent ( Gst.MiniObject ) –

a parent Gst.MiniObject

Since : 1.16


Gst.MiniObject.add_parent

def Gst.MiniObject.add_parent (self, parent):
    #python wrapper for 'gst_mini_object_add_parent'

This adds parent as a parent for object. Having one ore more parents affects the writability of object: if a parent is not writable, object is also not writable, regardless of its refcount. object is only writable if all the parents are writable and its own refcount is exactly 1.

Note: This function does not take ownership of parent and also does not take an additional reference. It is the responsibility of the caller to remove the parent again at a later time.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

parent ( Gst.MiniObject ) –

a parent Gst.MiniObject

Since : 1.16


gst_mini_object_copy

GstMiniObject *
gst_mini_object_copy (const GstMiniObject * mini_object)

Creates a copy of the mini-object.

MT safe

Parameters:

mini_object

the mini-object to copy

Returns ( [transfer: full] [nullable] ) –

the new mini-object if copying is possible, NULL otherwise.


gst_mini_object_get_qdata

gpointer
gst_mini_object_get_qdata (GstMiniObject * object,
                           GQuark quark)

This function gets back user data pointers stored via gst_mini_object_set_qdata.

Parameters:

object

The GstMiniObject to get a stored user data pointer from

quark

A GQuark, naming the user data pointer

Returns ( [transfer: none] [nullable] ) –

The user data pointer set, or NULL


Gst.MiniObject.prototype.get_qdata

function Gst.MiniObject.prototype.get_qdata(quark: GLib.Quark): {
    // javascript wrapper for 'gst_mini_object_get_qdata'
}

This function gets back user data pointers stored via Gst.MiniObject.prototype.set_qdata.

Parameters:

object ( Gst.MiniObject ) –

The GstMiniObject to get a stored user data pointer from

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

Returns ( Object ) –

The user data pointer set, or null


Gst.MiniObject.get_qdata

def Gst.MiniObject.get_qdata (self, quark):
    #python wrapper for 'gst_mini_object_get_qdata'

This function gets back user data pointers stored via Gst.MiniObject.set_qdata.

Parameters:

object ( Gst.MiniObject ) –

The GstMiniObject to get a stored user data pointer from

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

Returns ( object ) –

The user data pointer set, or None


gst_mini_object_init

gst_mini_object_init (GstMiniObject * mini_object,
                      guint flags,
                      GType type,
                      GstMiniObjectCopyFunction copy_func,
                      GstMiniObjectDisposeFunction dispose_func,
                      GstMiniObjectFreeFunction free_func)

Initializes a mini-object with the desired type and copy/dispose/free functions.

Parameters:

mini_object

a GstMiniObject

flags

initial GstMiniObjectFlags

type

the GType of the mini-object to create

copy_func ( [allow-none] ) –

the copy function, or NULL

dispose_func ( [allow-none] ) –

the dispose function, or NULL

free_func ( [allow-none] ) –

the free function or NULL


gst_mini_object_is_writable

gboolean
gst_mini_object_is_writable (const GstMiniObject * mini_object)

If mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on object is the only one, this means that changes to the object will not be visible to any other object.

If the LOCKABLE flag is not set, check if the refcount of mini_object is exactly 1, meaning that no other reference exists to the object and that the object is therefore writable.

Modification of a mini-object should only be done after verifying that it is writable.

Parameters:

mini_object

the mini-object to check

Returns

TRUE if the object is writable.


Gst.MiniObject.prototype.is_writable

function Gst.MiniObject.prototype.is_writable(): {
    // javascript wrapper for 'gst_mini_object_is_writable'
}

If mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on object is the only one, this means that changes to the object will not be visible to any other object.

If the LOCKABLE flag is not set, check if the refcount of mini_object is exactly 1, meaning that no other reference exists to the object and that the object is therefore writable.

Modification of a mini-object should only be done after verifying that it is writable.

Parameters:

mini_object ( Gst.MiniObject ) –

the mini-object to check

Returns ( Number ) –

true if the object is writable.


Gst.MiniObject.is_writable

def Gst.MiniObject.is_writable (self):
    #python wrapper for 'gst_mini_object_is_writable'

If mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on object is the only one, this means that changes to the object will not be visible to any other object.

If the LOCKABLE flag is not set, check if the refcount of mini_object is exactly 1, meaning that no other reference exists to the object and that the object is therefore writable.

Modification of a mini-object should only be done after verifying that it is writable.

Parameters:

mini_object ( Gst.MiniObject ) –

the mini-object to check

Returns ( bool ) –

True if the object is writable.


gst_mini_object_lock

gboolean
gst_mini_object_lock (GstMiniObject * object,
                      GstLockFlags flags)

Lock the mini-object with the specified access mode in flags.

Parameters:

object

the mini-object to lock

flags

GstLockFlags

Returns

TRUE if object could be locked.


Gst.MiniObject.prototype.lock

function Gst.MiniObject.prototype.lock(flags: Gst.LockFlags): {
    // javascript wrapper for 'gst_mini_object_lock'
}

Lock the mini-object with the specified access mode in flags.

Parameters:

object ( Gst.MiniObject ) –

the mini-object to lock

Returns ( Number ) –

true if object could be locked.


Gst.MiniObject.lock

def Gst.MiniObject.lock (self, flags):
    #python wrapper for 'gst_mini_object_lock'

Lock the mini-object with the specified access mode in flags.

Parameters:

object ( Gst.MiniObject ) –

the mini-object to lock

Returns ( bool ) –

True if object could be locked.


gst_mini_object_make_writable

GstMiniObject *
gst_mini_object_make_writable (GstMiniObject * mini_object)

Checks if a mini-object is writable. If not, a writable copy is made and returned. This gives away the reference to the original mini object, and returns a reference to the new object.

MT safe

Parameters:

mini_object ( [transfer: full] ) –

the mini-object to make writable

Returns ( [transfer: full] ) –

a mini-object (possibly the same pointer) that is writable.


gst_mini_object_ref

GstMiniObject *
gst_mini_object_ref (GstMiniObject * mini_object)

Increase the reference count of the mini-object.

Note that the refcount affects the writability of mini-object, see gst_mini_object_is_writable. It is important to note that keeping additional references to GstMiniObject instances can potentially increase the number of memcpy operations in a pipeline, especially if the miniobject is a GstBuffer.

Parameters:

mini_object

the mini-object

Returns ( [transfer: full] ) –

the mini-object.


gst_mini_object_remove_parent

gst_mini_object_remove_parent (GstMiniObject * object,
                               GstMiniObject * parent)

This removes parent as a parent for object. See gst_mini_object_add_parent.

Parameters:

object

a GstMiniObject

parent

a parent GstMiniObject

Since : 1.16


Gst.MiniObject.prototype.remove_parent

function Gst.MiniObject.prototype.remove_parent(parent: Gst.MiniObject): {
    // javascript wrapper for 'gst_mini_object_remove_parent'
}

This removes parent as a parent for object. See Gst.MiniObject.prototype.add_parent.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

parent ( Gst.MiniObject ) –

a parent Gst.MiniObject

Since : 1.16


Gst.MiniObject.remove_parent

def Gst.MiniObject.remove_parent (self, parent):
    #python wrapper for 'gst_mini_object_remove_parent'

This removes parent as a parent for object. See Gst.MiniObject.add_parent.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

parent ( Gst.MiniObject ) –

a parent Gst.MiniObject

Since : 1.16


gst_mini_object_set_qdata

gst_mini_object_set_qdata (GstMiniObject * object,
                           GQuark quark,
                           gpointer data,
                           GDestroyNotify destroy)

This sets an opaque, named pointer on a miniobject. The name is specified through a GQuark (retrieved e.g. via g_quark_from_static_string), and the pointer can be gotten back from the object with gst_mini_object_get_qdata until the object is disposed. Setting a previously set user data pointer, overrides (frees) the old pointer set, using NULL as pointer essentially removes the data stored.

destroy may be specified which is called with data as argument when the object is disposed, or the data is being overwritten by a call to gst_mini_object_set_qdata with the same quark.

Parameters:

object

a GstMiniObject

quark

A GQuark, naming the user data pointer

data

An opaque user data pointer

destroy

Function to invoke with data as argument, when data needs to be freed


Gst.MiniObject.prototype.set_qdata

function Gst.MiniObject.prototype.set_qdata(quark: GLib.Quark, data: Object, destroy: GLib.DestroyNotify): {
    // javascript wrapper for 'gst_mini_object_set_qdata'
}

This sets an opaque, named pointer on a miniobject. The name is specified through a GLib.Quark (retrieved e.g. via GLib.prototype.quark_from_static_string), and the pointer can be gotten back from the object with Gst.MiniObject.prototype.get_qdata until the object is disposed. Setting a previously set user data pointer, overrides (frees) the old pointer set, using null as pointer essentially removes the data stored.

destroy may be specified which is called with data as argument when the object is disposed, or the data is being overwritten by a call to Gst.MiniObject.prototype.set_qdata with the same quark.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

data ( Object ) –

An opaque user data pointer

destroy ( GLib.DestroyNotify ) –

Function to invoke with data as argument, when data needs to be freed


Gst.MiniObject.set_qdata

def Gst.MiniObject.set_qdata (self, quark, data, destroy):
    #python wrapper for 'gst_mini_object_set_qdata'

This sets an opaque, named pointer on a miniobject. The name is specified through a GLib.Quark (retrieved e.g. via GLib.quark_from_static_string), and the pointer can be gotten back from the object with Gst.MiniObject.get_qdata until the object is disposed. Setting a previously set user data pointer, overrides (frees) the old pointer set, using None as pointer essentially removes the data stored.

destroy may be specified which is called with data as argument when the object is disposed, or the data is being overwritten by a call to Gst.MiniObject.set_qdata with the same quark.

Parameters:

object ( Gst.MiniObject ) –

a Gst.MiniObject

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

data ( object ) –

An opaque user data pointer

destroy ( GLib.DestroyNotify ) –

Function to invoke with data as argument, when data needs to be freed


gst_mini_object_steal_qdata

gpointer
gst_mini_object_steal_qdata (GstMiniObject * object,
                             GQuark quark)

This function gets back user data pointers stored via gst_mini_object_set_qdata and removes the data from object without invoking its destroy() function (if any was set).

Parameters:

object

The GstMiniObject to get a stored user data pointer from

quark

A GQuark, naming the user data pointer

Returns ( [transfer: full] [nullable] ) –

The user data pointer set, or NULL


Gst.MiniObject.prototype.steal_qdata

function Gst.MiniObject.prototype.steal_qdata(quark: GLib.Quark): {
    // javascript wrapper for 'gst_mini_object_steal_qdata'
}

This function gets back user data pointers stored via Gst.MiniObject.prototype.set_qdata and removes the data from object without invoking its destroy() function (if any was set).

Parameters:

object ( Gst.MiniObject ) –

The GstMiniObject to get a stored user data pointer from

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

Returns ( Object ) –

The user data pointer set, or null


Gst.MiniObject.steal_qdata

def Gst.MiniObject.steal_qdata (self, quark):
    #python wrapper for 'gst_mini_object_steal_qdata'

This function gets back user data pointers stored via Gst.MiniObject.set_qdata and removes the data from object without invoking its destroy() function (if any was set).

Parameters:

object ( Gst.MiniObject ) –

The GstMiniObject to get a stored user data pointer from

quark ( GLib.Quark ) –

A GLib.Quark, naming the user data pointer

Returns ( object ) –

The user data pointer set, or None


gst_mini_object_unlock

gst_mini_object_unlock (GstMiniObject * object,
                        GstLockFlags flags)

Unlock the mini-object with the specified access mode in flags.

Parameters:

object

the mini-object to unlock

flags

GstLockFlags


Gst.MiniObject.prototype.unlock

function Gst.MiniObject.prototype.unlock(flags: Gst.LockFlags): {
    // javascript wrapper for 'gst_mini_object_unlock'
}

Unlock the mini-object with the specified access mode in flags.

Parameters:

object ( Gst.MiniObject ) –

the mini-object to unlock


Gst.MiniObject.unlock

def Gst.MiniObject.unlock (self, flags):
    #python wrapper for 'gst_mini_object_unlock'

Unlock the mini-object with the specified access mode in flags.

Parameters:

object ( Gst.MiniObject ) –

the mini-object to unlock


gst_mini_object_unref

gst_mini_object_unref (GstMiniObject * mini_object)

Decreases the reference count of the mini-object, possibly freeing the mini-object.

Parameters:

mini_object

the mini-object


gst_mini_object_weak_ref

gst_mini_object_weak_ref (GstMiniObject * object,
                          GstMiniObjectNotify notify,
                          gpointer data)

Adds a weak reference callback to a mini object. Weak references are used for notification when a mini object is finalized. They are called "weak references" because they allow you to safely hold a pointer to the mini object without calling gst_mini_object_ref (gst_mini_object_ref adds a strong reference, that is, forces the object to stay alive).

Parameters:

object

GstMiniObject to reference weakly

notify

callback to invoke before the mini object is freed

data

extra data to pass to notify


gst_mini_object_weak_unref

gst_mini_object_weak_unref (GstMiniObject * object,
                            GstMiniObjectNotify notify,
                            gpointer data)

Removes a weak reference callback from a mini object.

Parameters:

object

GstMiniObject to remove a weak reference from

notify

callback to search for

data

data to search for


Functions

gst_mini_object_replace

gboolean
gst_mini_object_replace (GstMiniObject ** olddata,
                         GstMiniObject * newdata)

Atomically modifies a pointer to point to a new mini-object. The reference count of olddata is decreased and the reference count of newdata is increased.

Either newdata and the value pointed to by olddata may be NULL.

Parameters:

olddata ( [inout] [transfer: full] [nullable] ) –

pointer to a pointer to a mini-object to be replaced

newdata ( [allow-none] ) –

pointer to new mini-object

Returns

TRUE if newdata was different from olddata


Gst.prototype.mini_object_replace

function Gst.prototype.mini_object_replace(olddata: Gst.MiniObject, newdata: Gst.MiniObject): {
    // javascript wrapper for 'gst_mini_object_replace'
}

Atomically modifies a pointer to point to a new mini-object. The reference count of olddata is decreased and the reference count of newdata is increased.

Either newdata and the value pointed to by olddata may be null.

Parameters:

olddata ( Gst.MiniObject ) –

pointer to a pointer to a mini-object to be replaced

newdata ( Gst.MiniObject ) –

pointer to new mini-object

Returns a tuple made of:

( Number ) –

true if newdata was different from olddata

olddata ( Gst.MiniObject ) –

true if newdata was different from olddata


Gst.mini_object_replace

def Gst.mini_object_replace (olddata, newdata):
    #python wrapper for 'gst_mini_object_replace'

Atomically modifies a pointer to point to a new mini-object. The reference count of olddata is decreased and the reference count of newdata is increased.

Either newdata and the value pointed to by olddata may be None.

Parameters:

olddata ( Gst.MiniObject ) –

pointer to a pointer to a mini-object to be replaced

newdata ( Gst.MiniObject ) –

pointer to new mini-object

Returns a tuple made of:

( bool ) –

True if newdata was different from olddata

olddata ( Gst.MiniObject ) –

True if newdata was different from olddata


gst_mini_object_steal

GstMiniObject *
gst_mini_object_steal (GstMiniObject ** olddata)

Replace the current GstMiniObject pointer to by olddata with NULL and return the old value.

Parameters:

olddata ( [inout] [transfer: full] ) –

pointer to a pointer to a mini-object to be stolen

Returns ( [nullable] ) –

the GstMiniObject at oldata


gst_mini_object_take

gboolean
gst_mini_object_take (GstMiniObject ** olddata,
                      GstMiniObject * newdata)

Modifies a pointer to point to a new mini-object. The modification is done atomically. This version is similar to gst_mini_object_replace except that it does not increase the refcount of newdata and thus takes ownership of newdata.

Either newdata and the value pointed to by olddata may be NULL.

Parameters:

olddata ( [inout] [transfer: full] ) –

pointer to a pointer to a mini-object to be replaced

newdata

pointer to new mini-object

Returns

TRUE if newdata was different from olddata


Gst.prototype.mini_object_take

function Gst.prototype.mini_object_take(olddata: Gst.MiniObject, newdata: Gst.MiniObject): {
    // javascript wrapper for 'gst_mini_object_take'
}

Modifies a pointer to point to a new mini-object. The modification is done atomically. This version is similar to Gst.prototype.mini_object_replace except that it does not increase the refcount of newdata and thus takes ownership of newdata.

Either newdata and the value pointed to by olddata may be null.

Parameters:

olddata ( Gst.MiniObject ) –

pointer to a pointer to a mini-object to be replaced

newdata ( Gst.MiniObject ) –

pointer to new mini-object

Returns a tuple made of:

( Number ) –

true if newdata was different from olddata

olddata ( Gst.MiniObject ) –

true if newdata was different from olddata


Gst.mini_object_take

def Gst.mini_object_take (olddata, newdata):
    #python wrapper for 'gst_mini_object_take'

Modifies a pointer to point to a new mini-object. The modification is done atomically. This version is similar to Gst.mini_object_replace except that it does not increase the refcount of newdata and thus takes ownership of newdata.

Either newdata and the value pointed to by olddata may be None.

Parameters:

olddata ( Gst.MiniObject ) –

pointer to a pointer to a mini-object to be replaced

newdata ( Gst.MiniObject ) –

pointer to new mini-object

Returns a tuple made of:

( bool ) –

True if newdata was different from olddata

olddata ( Gst.MiniObject ) –

True if newdata was different from olddata


Functions

gst_clear_mini_object

gst_clear_mini_object (GstMiniObject ** object_ptr)

Clears a reference to a GstMiniObject.

object_ptr must not be NULL.

If the reference is NULL then this function does nothing. Otherwise, the reference count of the object is decreased using gst_mini_object_unref and the pointer is set to NULL.

A macro is also included that allows this function to be used without pointer casts.

Parameters:

object_ptr

a pointer to a GstMiniObject reference

Since : 1.16


Function Macros

GST_DEFINE_MINI_OBJECT_TYPE

#define GST_DEFINE_MINI_OBJECT_TYPE(TypeName,type_name) \
   G_DEFINE_BOXED_TYPE(TypeName,type_name,              \
       (GBoxedCopyFunc) gst_mini_object_ref,            \
       (GBoxedFreeFunc) gst_mini_object_unref)

Define a new mini-object type with the given name

Parameters:

TypeName

name of the new type in CamelCase

type_name

name of the new type


GST_IS_MINI_OBJECT_TYPE

#define GST_IS_MINI_OBJECT_TYPE(obj,type)  ((obj) && GST_MINI_OBJECT_TYPE(obj) == (type))

GST_MINI_OBJECT

#define GST_MINI_OBJECT(obj)               (GST_MINI_OBJECT_CAST(obj))

GST_MINI_OBJECT_CAST

#define GST_MINI_OBJECT_CAST(obj)          ((GstMiniObject*)(obj))

GST_MINI_OBJECT_CONST_CAST

#define GST_MINI_OBJECT_CONST_CAST(obj)    ((const GstMiniObject*)(obj))

GST_MINI_OBJECT_FLAGS

#define GST_MINI_OBJECT_FLAGS(obj)  (GST_MINI_OBJECT_CAST(obj)->flags)

This macro returns the entire set of flags for the mini-object.

Parameters:

obj

MiniObject to return flags for.


GST_MINI_OBJECT_FLAG_IS_SET

#define GST_MINI_OBJECT_FLAG_IS_SET(obj,flag)        !!(GST_MINI_OBJECT_FLAGS (obj) & (flag))

This macro checks to see if the given flag is set.

Parameters:

obj

MiniObject to check for flags.

flag

Flag to check for


GST_MINI_OBJECT_FLAG_SET

#define GST_MINI_OBJECT_FLAG_SET(obj,flag)           (GST_MINI_OBJECT_FLAGS (obj) |= (flag))

This macro sets the given bits.

Parameters:

obj

MiniObject to set flag in.

flag

Flag to set, can by any number of bits in guint32.


GST_MINI_OBJECT_FLAG_UNSET

#define GST_MINI_OBJECT_FLAG_UNSET(obj,flag)         (GST_MINI_OBJECT_FLAGS (obj) &= ~(flag))

This macro unsets the given bits.

Parameters:

obj

MiniObject to unset flag in.

flag

Flag to set, must be a single bit in guint32.


GST_MINI_OBJECT_IS_LOCKABLE

#define GST_MINI_OBJECT_IS_LOCKABLE(obj)  GST_MINI_OBJECT_FLAG_IS_SET(obj, GST_MINI_OBJECT_FLAG_LOCKABLE)

Check if obj is lockable. A lockable object can be locked and unlocked with gst_mini_object_lock and gst_mini_object_unlock.

Parameters:

obj

a GstMiniObject


GST_MINI_OBJECT_REFCOUNT

#define GST_MINI_OBJECT_REFCOUNT(obj)           ((GST_MINI_OBJECT_CAST(obj))->refcount)

Get access to the reference count field of the mini-object.

Parameters:

obj

a GstMiniObject


GST_MINI_OBJECT_REFCOUNT_VALUE

#define GST_MINI_OBJECT_REFCOUNT_VALUE(obj)     (g_atomic_int_get (&(GST_MINI_OBJECT_CAST(obj))->refcount))

Get the reference count value of the mini-object.

Parameters:

obj

a GstMiniObject


GST_MINI_OBJECT_TYPE

#define GST_MINI_OBJECT_TYPE(obj)  (GST_MINI_OBJECT_CAST(obj)->type)

This macro returns the type of the mini-object.

Parameters:

obj

MiniObject to return type for.


Enumerations

GstLockFlags

Flags used when locking miniobjects

Members
GST_LOCK_FLAG_READ (1) –

lock for read access

GST_LOCK_FLAG_WRITE (2) –

lock for write access

GST_LOCK_FLAG_EXCLUSIVE (4) –

lock for exclusive access

GST_LOCK_FLAG_LAST (256) –

first flag that can be used for custom purposes


Gst.LockFlags

Flags used when locking miniobjects

Members
Gst.LockFlags.READ (1) –

lock for read access

Gst.LockFlags.WRITE (2) –

lock for write access

Gst.LockFlags.EXCLUSIVE (4) –

lock for exclusive access

Gst.LockFlags.LAST (256) –

first flag that can be used for custom purposes


Gst.LockFlags

Flags used when locking miniobjects

Members
Gst.LockFlags.READ (1) –

lock for read access

Gst.LockFlags.WRITE (2) –

lock for write access

Gst.LockFlags.EXCLUSIVE (4) –

lock for exclusive access

Gst.LockFlags.LAST (256) –

first flag that can be used for custom purposes


GstMiniObjectFlags

Flags for the mini object

Members
GST_MINI_OBJECT_FLAG_LOCKABLE (1) –

the object can be locked and unlocked with gst_mini_object_lock and gst_mini_object_unlock.

GST_MINI_OBJECT_FLAG_LOCK_READONLY (2) –

the object is permanently locked in READONLY mode. Only read locks can be performed on the object.

GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED (4) –

the object is expected to stay alive even after gst_deinit has been called and so should be ignored by leak detection tools. (Since: 1.10)

GST_MINI_OBJECT_FLAG_LAST (16) –

first flag that can be used by subclasses.


Gst.MiniObjectFlags

Flags for the mini object

Members
Gst.MiniObjectFlags.LOCKABLE (1) –

the object can be locked and unlocked with Gst.MiniObject.prototype.lock and Gst.MiniObject.prototype.unlock.

Gst.MiniObjectFlags.LOCK_READONLY (2) –

the object is permanently locked in READONLY mode. Only read locks can be performed on the object.

Gst.MiniObjectFlags.MAY_BE_LEAKED (4) –

the object is expected to stay alive even after Gst.prototype.deinit has been called and so should be ignored by leak detection tools. (Since: 1.10)

Gst.MiniObjectFlags.LAST (16) –

first flag that can be used by subclasses.


Gst.MiniObjectFlags

Flags for the mini object

Members
Gst.MiniObjectFlags.LOCKABLE (1) –

the object can be locked and unlocked with Gst.MiniObject.lock and Gst.MiniObject.unlock.

Gst.MiniObjectFlags.LOCK_READONLY (2) –

the object is permanently locked in READONLY mode. Only read locks can be performed on the object.

Gst.MiniObjectFlags.MAY_BE_LEAKED (4) –

the object is expected to stay alive even after Gst.deinit has been called and so should be ignored by leak detection tools. (Since: 1.10)

Gst.MiniObjectFlags.LAST (16) –

first flag that can be used by subclasses.


Constants

GST_LOCK_FLAG_READWRITE

#define GST_LOCK_FLAG_READWRITE  ((GstLockFlags) (GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE))

GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE


Gst.LOCK_FLAG_READWRITE

GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE


Gst.LOCK_FLAG_READWRITE

GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE


Callbacks

GstMiniObjectCopyFunction

GstMiniObject *
(*GstMiniObjectCopyFunction) (const GstMiniObject * obj)

Function prototype for methods to create copies of instances.

Parameters:

obj

MiniObject to copy

Returns

reference to cloned instance.


GstMiniObjectDisposeFunction

gboolean
(*GstMiniObjectDisposeFunction) (GstMiniObject * obj)

Function prototype for when a miniobject has lost its last refcount. Implementation of the mini object are allowed to revive the passed object by doing a gst_mini_object_ref. If the object is not revived after the dispose function, the function should return TRUE and the memory associated with the object is freed.

Parameters:

obj

MiniObject to dispose

Returns

TRUE if the object should be cleaned up.


Gst.MiniObjectDisposeFunction

function Gst.MiniObjectDisposeFunction(obj: Gst.MiniObject): {
    // javascript wrapper for 'GstMiniObjectDisposeFunction'
}

Function prototype for when a miniobject has lost its last refcount. Implementation of the mini object are allowed to revive the passed object by doing a gst_mini_object_ref (not introspectable). If the object is not revived after the dispose function, the function should return true and the memory associated with the object is freed.

Parameters:

obj ( Gst.MiniObject ) –

MiniObject to dispose

Returns ( Number ) –

true if the object should be cleaned up.


Gst.MiniObjectDisposeFunction

def Gst.MiniObjectDisposeFunction (obj):
    #python wrapper for 'GstMiniObjectDisposeFunction'

Function prototype for when a miniobject has lost its last refcount. Implementation of the mini object are allowed to revive the passed object by doing a gst_mini_object_ref (not introspectable). If the object is not revived after the dispose function, the function should return True and the memory associated with the object is freed.

Parameters:

obj ( Gst.MiniObject ) –

MiniObject to dispose

Returns ( bool ) –

True if the object should be cleaned up.


GstMiniObjectFreeFunction

(*GstMiniObjectFreeFunction) (GstMiniObject * obj)

Virtual function prototype for methods to free resources used by mini-objects.

Parameters:

obj

MiniObject to free


Gst.MiniObjectFreeFunction

function Gst.MiniObjectFreeFunction(obj: Gst.MiniObject): {
    // javascript wrapper for 'GstMiniObjectFreeFunction'
}

Virtual function prototype for methods to free resources used by mini-objects.

Parameters:

obj ( Gst.MiniObject ) –

MiniObject to free


Gst.MiniObjectFreeFunction

def Gst.MiniObjectFreeFunction (obj):
    #python wrapper for 'GstMiniObjectFreeFunction'

Virtual function prototype for methods to free resources used by mini-objects.

Parameters:

obj ( Gst.MiniObject ) –

MiniObject to free


GstMiniObjectNotify

(*GstMiniObjectNotify) (gpointer user_data,
                        GstMiniObject * obj)

A GstMiniObjectNotify function can be added to a mini object as a callback that gets triggered when gst_mini_object_unref drops the last ref and obj is about to be freed.

Parameters:

user_data

data that was provided when the notify was added

obj

the mini object


Gst.MiniObjectNotify

function Gst.MiniObjectNotify(user_data: Object, obj: Gst.MiniObject): {
    // javascript wrapper for 'GstMiniObjectNotify'
}

A Gst.MiniObjectNotify function can be added to a mini object as a callback that gets triggered when gst_mini_object_unref (not introspectable) drops the last ref and obj is about to be freed.

Parameters:

user_data ( Object ) –

data that was provided when the notify was added

obj ( Gst.MiniObject ) –

the mini object


Gst.MiniObjectNotify

def Gst.MiniObjectNotify (*user_data, obj):
    #python wrapper for 'GstMiniObjectNotify'

A Gst.MiniObjectNotify function can be added to a mini object as a callback that gets triggered when gst_mini_object_unref (not introspectable) drops the last ref and obj is about to be freed.

Parameters:

user_data ( variadic ) –

data that was provided when the notify was added

obj ( Gst.MiniObject ) –

the mini object


The results of the search are