## GstMiniObject GstMiniObject |

## Functions

GstMiniObject * | (*GstMiniObjectCopyFunction) ()
gboolean | (*GstMiniObjectDisposeFunction) ()
void | (*GstMiniObjectFreeFunction) ()
void | (*GstMiniObjectNotify) ()
#define | GST_MINI_OBJECT_TYPE()
#define | GST_MINI_OBJECT_FLAGS()
#define | GST_MINI_OBJECT_FLAG_IS_SET()
#define | GST_MINI_OBJECT_FLAG_SET()
#define | GST_MINI_OBJECT_FLAG_UNSET()
#define | GST_MINI_OBJECT_IS_LOCKABLE()
#define | GST_MINI_OBJECT_REFCOUNT()
#define | GST_MINI_OBJECT_REFCOUNT_VALUE()
#define | GST_DEFINE_MINI_OBJECT_TYPE()
void | gst_mini_object_init ()
GstMiniObject * | gst_mini_object_ref ()
void | gst_mini_object_unref ()
void | gst_mini_object_weak_ref ()
void | gst_mini_object_weak_unref ()
gboolean | gst_mini_object_lock ()
void | gst_mini_object_unlock ()
gboolean | gst_mini_object_is_writable ()
GstMiniObject * | gst_mini_object_make_writable ()
GstMiniObject * | gst_mini_object_copy ()
void | gst_mini_object_set_qdata ()
gpointer | gst_mini_object_get_qdata ()
gpointer | gst_mini_object_steal_qdata ()
gboolean | gst_mini_object_replace ()
gboolean | gst_mini_object_take ()
GstMiniObject * | gst_mini_object_steal ()

## Types and Values

struct | GstMiniObject
enum | GstMiniObjectFlags
enum | GstLockFlags
#define | GST_LOCK_FLAG_READWRITE

## Includes

    #include <gst/gst.h>

## Description

## Functions

### GstMiniObjectCopyFunction ()

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

### GstMiniObjectDisposeFunction ()

    gboolean
    (*GstMiniObjectDisposeFunction) (GstMiniObject *obj);

### GstMiniObjectFreeFunction ()

    void
    (*GstMiniObjectFreeFunction) (GstMiniObject *obj);

### GstMiniObjectNotify ()

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

### GST_MINI_OBJECT_TYPE()

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

### GST_MINI_OBJECT_FLAGS()

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

### GST_MINI_OBJECT_FLAG_IS_SET()

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

### GST_MINI_OBJECT_FLAG_SET()

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

### GST_MINI_OBJECT_FLAG_UNSET()

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

### GST_MINI_OBJECT_IS_LOCKABLE()

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

### GST_MINI_OBJECT_REFCOUNT()

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

### GST_MINI_OBJECT_REFCOUNT_VALUE()

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

### GST_DEFINE_MINI_OBJECT_TYPE()

    #define             GST_DEFINE_MINI_OBJECT_TYPE(TypeName,type_name)

### gst_mini_object_init ()

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

### gst_mini_object_ref ()

    GstMiniObject *
    gst_mini_object_ref (GstMiniObject *mini_object);

### gst_mini_object_unref ()

    void
    gst_mini_object_unref (GstMiniObject *mini_object);

### gst_mini_object_weak_ref ()

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

### gst_mini_object_weak_unref ()

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

### gst_mini_object_lock ()

    gboolean
    gst_mini_object_lock (GstMiniObject *object,
                          GstLockFlags flags);

### gst_mini_object_unlock ()

    void
    gst_mini_object_unlock (GstMiniObject *object,
                            GstLockFlags flags);

### gst_mini_object_is_writable ()

    gboolean
    gst_mini_object_is_writable (const GstMiniObject *mini_object);

### gst_mini_object_make_writable ()

    GstMiniObject *
    gst_mini_object_make_writable (GstMiniObject *mini_object);

### gst_mini_object_copy ()

    GstMiniObject *
    gst_mini_object_copy (const GstMiniObject *mini_object);

### gst_mini_object_set_qdata ()

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

### gst_mini_object_get_qdata ()

    gpointer
    gst_mini_object_get_qdata (GstMiniObject *object,
                               GQuark quark);

### gst_mini_object_steal_qdata ()

    gpointer
    gst_mini_object_steal_qdata (GstMiniObject *object,
                                 GQuark quark);

### gst_mini_object_replace ()

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

### gst_mini_object_take ()

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

### gst_mini_object_steal ()

    GstMiniObject *
    gst_mini_object_steal (GstMiniObject **olddata);

## Types and Values

### struct GstMiniObject

    struct GstMiniObject {
      GType   type;

      gint    refcount;
      gint    lockstate;
      guint   flags;

      GstMiniObjectCopyFunction copy;
      GstMiniObjectDisposeFunction dispose;
      GstMiniObjectFreeFunction free;
    };

### enum GstMiniObjectFlags

#### Members

GST_MINI_OBJECT_FLAG_LOCKABLE |  |
GST_MINI_OBJECT_FLAG_LOCK_READONLY |  |
GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED |  |
GST_MINI_OBJECT_FLAG_LAST |  |

### enum GstLockFlags

#### Members

GST_LOCK_FLAG_READ |  |
GST_LOCK_FLAG_WRITE |  |
GST_LOCK_FLAG_EXCLUSIVE |  |
GST_LOCK_FLAG_LAST |  |

### GST_LOCK_FLAG_READWRITE

    #define GST_LOCK_FLAG_READWRITE  (GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE)