GstMiniObject

GstMiniObject

Functions

Types and Values

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)