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.MiniObject.init_ to initialize the #GstMiniObject fields.

gst.mini_object.MiniObject.ref_ and gst.mini_object.MiniObject.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.MiniObject.copy.

gst.mini_object.MiniObject.isWritable 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.MiniObject.makeWritable 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.MiniObject.setQdata and gst.mini_object.MiniObject.getQdata. The data is meant to be specific to the particular object and is not automatically copied with gst.mini_object.MiniObject.copy or similar methods.

A weak reference can be added and remove with gst.mini_object.MiniObject.weakRef and gst.mini_object.MiniObject.weakUnref respectively.

Members

Variables

copy
GstMiniObjectCopyFunction copy;

a copy function

dispose
GstMiniObjectDisposeFunction dispose;

a dispose function

flags
uint flags;

extra flags.

free
GstMiniObjectFreeFunction free;

the free function

lockstate
int lockstate;

atomic state of the locks

privPointer
void* privPointer;
privUint
uint privUint;
refcount
int refcount;

atomic refcount

type
GType type;

the GType of the object