gi-gst-0.1.6.13: Gst 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.Iterator

Contents

Description

A GstIterator is used to retrieve multiple objects from another object in a threadsafe way.

Various GStreamer objects provide access to their internal structures using an iterator.

Note that if calling a GstIterator function results in your code receiving a refcounted object (with, say, g_value_get_object()), the refcount for that object will not be increased. Your code is responsible for taking a reference if it wants to continue using it later.

The basic use pattern of an iterator is as follows: |[ GstIterator *it = _get_iterator(object); GValue item = G_VALUE_INIT; done = FALSE; while (!done) { switch (gst_iterator_next (it, &item)) { case GST_ITERATOR_OK: ...getusechange item here... g_value_reset (&item); break; case GST_ITERATOR_RESYNC: ...rollback changes to items... gst_iterator_resync (it); break; case GST_ITERATOR_ERROR: ...wrong parameters were given... done = TRUE; break; case GST_ITERATOR_DONE: done = TRUE; break; } } g_value_unset (&item); gst_iterator_free (it); ]|

Synopsis

Exported types

newtype Iterator Source

Constructors

Iterator (ForeignPtr Iterator) 

Instances

BoxedObject Iterator Source 

Methods

boxedType :: Iterator -> IO GType

((~) * info (ResolveIteratorMethod t Iterator), MethodInfo * info Iterator p) => IsLabel t (Iterator -> p) Source 

Methods

fromLabel :: Proxy# Symbol t -> Iterator -> p

((~) * info (ResolveIteratorMethod t Iterator), MethodInfo * info Iterator p) => IsLabelProxy t (Iterator -> p) Source 

Methods

fromLabelProxy :: Proxy Symbol t -> Iterator -> p

((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) IteratorResyncMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (Iterator -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) IteratorPushMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (m (IteratorResult, GValue)), MonadIO m) => MethodInfo (TYPE Lifted) IteratorNextMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) IteratorFreeMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (IteratorForeachFunction -> m IteratorResult), MonadIO m) => MethodInfo (TYPE Lifted) IteratorForeachMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (IteratorFoldFunction -> GValue -> m IteratorResult), MonadIO m) => MethodInfo (TYPE Lifted) IteratorFoldMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (CompareFunc -> m (Bool, GValue)), MonadIO m) => MethodInfo (TYPE Lifted) IteratorFindCustomMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (CompareFunc -> GValue -> m Iterator), MonadIO m) => MethodInfo (TYPE Lifted) IteratorFilterMethodInfo Iterator signature Source 
((~) (TYPE Lifted) signature (m Iterator), MonadIO m) => MethodInfo (TYPE Lifted) IteratorCopyMethodInfo Iterator signature Source 

newZeroIterator :: MonadIO m => m Iterator Source

Construct a Iterator struct initialized to zero.

Methods

iteratorCopy

iteratorFilter

iteratorFilter :: MonadIO m => Iterator -> CompareFunc -> GValue -> m Iterator Source

iteratorFindCustom

iteratorFindCustom :: MonadIO m => Iterator -> CompareFunc -> m (Bool, GValue) Source

iteratorFold

iteratorForeach

iteratorFree

iteratorNewSingle

iteratorNext

iteratorPush

iteratorResync

Properties

Cookie

Lock

MasterCookie

Pushed

Size

Type