gi-gst-1.0.2: GStreamer bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gst.Structs.MiniObject

Contents

Description

#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, 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.

Synopsis

Exported types

newtype MiniObject Source

Instances

WrappedPtr MiniObject Source 
(~) AttrOpTag tag AttrSet => Constructible MiniObject tag Source 
((~) * signature ([LockFlags] -> m ()), MonadIO m) => MethodInfo * MiniObjectUnlockMethodInfo MiniObject signature Source 
((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * MiniObjectStealQdataMethodInfo MiniObject signature Source 
((~) * signature (Word32 -> Ptr () -> DestroyNotify -> m ()), MonadIO m) => MethodInfo * MiniObjectSetQdataMethodInfo MiniObject signature Source 
((~) * signature ([LockFlags] -> m Bool), MonadIO m) => MethodInfo * MiniObjectLockMethodInfo MiniObject signature Source 
((~) * signature (m Bool), MonadIO m) => MethodInfo * MiniObjectIsWritableMethodInfo MiniObject signature Source 
((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * MiniObjectGetQdataMethodInfo MiniObject signature Source 
((~) * info (ResolveMiniObjectMethod t MiniObject), MethodInfo * info MiniObject p) => IsLabelProxy t (MiniObject -> p) Source 
type AttributeList MiniObject Source 

newZeroMiniObject :: MonadIO m => m MiniObject Source

Construct a MiniObject struct initialized to zero.

Methods

miniObjectGetQdata

data MiniObjectGetQdataMethodInfo Source

Instances

((~) * signature (Word32 -> m (Ptr ())), MonadIO m) => MethodInfo * MiniObjectGetQdataMethodInfo MiniObject signature Source 

miniObjectIsWritable

miniObjectLock

data MiniObjectLockMethodInfo Source

Instances

((~) * signature ([LockFlags] -> m Bool), MonadIO m) => MethodInfo * MiniObjectLockMethodInfo MiniObject signature Source 

miniObjectSetQdata

data MiniObjectSetQdataMethodInfo Source

Instances

((~) * signature (Word32 -> Ptr () -> DestroyNotify -> m ()), MonadIO m) => MethodInfo * MiniObjectSetQdataMethodInfo MiniObject signature Source 

miniObjectStealQdata

miniObjectTake

miniObjectUnlock

data MiniObjectUnlockMethodInfo Source

Instances

((~) * signature ([LockFlags] -> m ()), MonadIO m) => MethodInfo * MiniObjectUnlockMethodInfo MiniObject signature Source 

Properties

Flags

Lockstate

Refcount

Type