Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
The ParentBufferMeta
is a Meta
which can be attached to a Buffer
to hold a reference to another buffer that is only released when the child
Buffer
is released.
Typically, ParentBufferMeta
is used when the child buffer is directly
using the Memory
of the parent buffer, and wants to prevent the parent
buffer from being returned to a buffer pool until the Memory
is available
for re-use.
Since: 1.6
Synopsis
- newtype ParentBufferMeta = ParentBufferMeta (ManagedPtr ParentBufferMeta)
- newZeroParentBufferMeta :: MonadIO m => m ParentBufferMeta
- noParentBufferMeta :: Maybe ParentBufferMeta
- parentBufferMetaGetInfo :: (HasCallStack, MonadIO m) => m MetaInfo
- clearParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m ()
- getParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m (Maybe Buffer)
- setParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> Ptr Buffer -> m ()
- getParentBufferMetaParent :: MonadIO m => ParentBufferMeta -> m Meta
Exported types
newtype ParentBufferMeta Source #
Memory-managed wrapper type.
Instances
WrappedPtr ParentBufferMeta Source # | |
tag ~ AttrSet => Constructible ParentBufferMeta tag Source # | |
Defined in GI.Gst.Structs.ParentBufferMeta new :: MonadIO m => (ManagedPtr ParentBufferMeta -> ParentBufferMeta) -> [AttrOp ParentBufferMeta tag] -> m ParentBufferMeta # |
newZeroParentBufferMeta :: MonadIO m => m ParentBufferMeta Source #
Construct a ParentBufferMeta
struct initialized to zero.
noParentBufferMeta :: Maybe ParentBufferMeta Source #
A convenience alias for Nothing
:: Maybe
ParentBufferMeta
.
Methods
getInfo
parentBufferMetaGetInfo Source #
:: (HasCallStack, MonadIO m) | |
=> m MetaInfo | Returns: The |
Get the global MetaInfo
describing the ParentBufferMeta
meta.
Since: 1.6
Properties
buffer
the Buffer
on which a reference is being held.
clearParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m () Source #
Set the value of the “buffer
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#buffer
getParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m (Maybe Buffer) Source #
Get the value of the “buffer
” field.
When overloading is enabled, this is equivalent to
get
parentBufferMeta #buffer
setParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> Ptr Buffer -> m () Source #
Set the value of the “buffer
” field.
When overloading is enabled, this is equivalent to
set
parentBufferMeta [ #buffer:=
value ]
parent
the parent Meta
structure
getParentBufferMetaParent :: MonadIO m => ParentBufferMeta -> m Meta Source #
Get the value of the “parent
” field.
When overloading is enabled, this is equivalent to
get
parentBufferMeta #parent