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.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 
(~) AttrOpTag tag AttrSet => Constructible Iterator tag Source 
((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorResyncMethodInfo Iterator signature Source 
((~) * signature (Iterator -> m ()), MonadIO m) => MethodInfo * IteratorPushMethodInfo Iterator signature Source 
((~) * signature (m (IteratorResult, GValue)), MonadIO m) => MethodInfo * IteratorNextMethodInfo Iterator signature Source 
((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorFreeMethodInfo Iterator signature Source 
((~) * signature (IteratorForeachFunction -> m IteratorResult), MonadIO m) => MethodInfo * IteratorForeachMethodInfo Iterator signature Source 
((~) * signature (IteratorFoldFunction -> GValue -> m IteratorResult), MonadIO m) => MethodInfo * IteratorFoldMethodInfo Iterator signature Source 
((~) * signature (CompareFunc -> m (Bool, GValue)), MonadIO m) => MethodInfo * IteratorFindCustomMethodInfo Iterator signature Source 
((~) * signature (CompareFunc -> GValue -> m Iterator), MonadIO m) => MethodInfo * IteratorFilterMethodInfo Iterator signature Source 
((~) * signature (m Iterator), MonadIO m) => MethodInfo * IteratorCopyMethodInfo Iterator signature Source 
((~) * info (ResolveIteratorMethod t Iterator), MethodInfo * info Iterator p) => IsLabelProxy t (Iterator -> p) Source 
type AttributeList Iterator Source 

newZeroIterator :: MonadIO m => m Iterator Source

Construct a Iterator struct initialized to zero.

Methods

iteratorCopy

data IteratorCopyMethodInfo Source

Instances

((~) * signature (m Iterator), MonadIO m) => MethodInfo * IteratorCopyMethodInfo Iterator signature Source 

iteratorFilter

iteratorFindCustom

iteratorFold

iteratorForeach

iteratorFree

data IteratorFreeMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorFreeMethodInfo Iterator signature Source 

iteratorNewSingle

iteratorNext

iteratorPush

data IteratorPushMethodInfo Source

Instances

((~) * signature (Iterator -> m ()), MonadIO m) => MethodInfo * IteratorPushMethodInfo Iterator signature Source 

iteratorResync

data IteratorResyncMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * IteratorResyncMethodInfo Iterator signature Source 

Properties

Cookie

Lock

MasterCookie

Pushed

Size

Type